在2D空间中将对象旋转为对象

时间:2017-04-18 17:06:01

标签: math javafx 2d formula

我正在寻找在2D空间中旋转对象的解决方案。我有点了 坐标X,Y。我需要将这个物体绕中心的物体移动一段距离。 Here is a picture with description我正在使用java FX。我需要一些 这是一个公式。可能我不得不使用一些罪恶和cos来转动,但我不知道如何。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您可以将Rotate添加到要旋转的对象的变换列表中:

double x = /* x-coordinate for center of rotation */ ;
double y = /* y-coordinate for center of rotation */ ;
double angle = /* angle in degrees */ ;

Rotate rotate = new Rotate(angle, x, y);
nodeToRotate.getTransforms().add(rotate);

旋转中心的坐标必须与您正在旋转的节点使用的坐标系相同。

答案 1 :(得分:0)

旋转矢量(x,y)(连接中心和点的线) 新坐标为(x',y'),与

相关

x'= x*cos(angle)-y*sin(angle)

y'= x*sin(angle)+y*cos(angle)

因为这里的y坐标是颠倒的(即向下向下),你必须用y替换-y