我希望在JavaFX中有一个右手笛卡尔坐标系,所以(0,0)在窗口的左下角,x向右增加,y向上增加。我无法弄清楚如何使用变换来做到这一点。如果我应用旋转变换,按钮将颠倒。我想要的只是能够使用这个坐标系而不是默认坐标系。
答案 0 :(得分:1)
如JavaFX documentation中所述(参见 Y-down与Y-up 一章),许多2D图形库都使用了Y down,这是JavaFX已经开始的地方。
要强制Y并正确绘制,您可以将所有内容放在旋转的父节点中:
// Rotate camera to use Y up.
camera.setRotationAxis(Rotate.Z_AXIS);
camera.setRotate(180.0);
// Rotate scene content for correct drawing.
Group yUp = new Group();
yUp.setRotationAxis(Rotate.Z_AXIS);
yUp.setRotate(180.0);
Scene scene = new Scene(yUp);
scene.setCamera(camera);
现在将所有内容添加到yUp
以使用这些节点,例如在Y up环境中。
请记住,在2D空间中这很好。如果您想出其他3D功能,请确保您的模型在负Y方向上增长。否则你将不得不使用另一个容器。
答案 1 :(得分:0)