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