我需要为机器人游戏可视化一个游戏场地。不幸的是,游戏使用右手坐标系,y轴指向上方。
有没有办法调整绘图区域的cairo上下文,使其与该坐标系匹配?
我可以缩放、平移和旋转,但我找不到切换y轴方向的方法,与单独转换所有坐标相比,这会更方便。
感谢您的意见!
您可以定义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;