4

我需要想象一个机器人游戏的运动场。不幸的是,游戏使用右手坐标系,y 轴指向上方。

有没有办法调整绘图区域的 cairo 上下文,使其匹配这个坐标系?

我可以缩放、平移和旋转,但我找不到切换 y 轴方向的方法,这比单独转换所有坐标更方便。

感谢您的任何意见!

4

1 回答 1

4

您可以在 a 中定义每个字段cairo_matrix_t

cairo_matrix_t flip_y;
cairo_matrix_init(&flip_y, 1, 0, 0, -1, 0, 0);
cairo_set_matrix(cr, &flip_y);

只需记住如何应用转换:

x_new = xx * x + xy * y + x0;
y_new = yx * x + yy * y + y0;
于 2013-02-17T08:27:30.597 回答