首页 文章

给定旋转角度计算圆上的位置

提问于
浏览
0

好的代数和三角不是我的强项,所以这就是我需要做的 .

我有一个圆圈,以180度到-180度(总共360度)测量

给定圆的中心点保持不变,Cx,Cy . 角度从-180到180变化

我需要找到一个点,无论给定的角度是3个单位还是在90度位置和270度位置(从给定的度数)

所以......
角度= 0点1 - > x = 0,y -3点2 - > x = 0,y 3

如果角度为90(假设其顺时针测量)点1 - > x = -3,y = 0点2 - > x = 3,y = 0

我需要的是一个会接受角度的论坛,然后告诉我我的x / y应该距离原点3个单位 .

我试过:EDIT使用Java更新为双精度 .

`double x = Cx 3 * Math.cos((d 90)* Math.PI / 180);'

'double y = Cy 3 * Math.sin((d 90)* Math.PI / 180);`

这给了我不一样的结果,我的意思是有时它是我认为它应该是的地方,有时它是非常错误的 .

Assuming Cx = 0.500, Cy = 0.500
Sample Data:      Result:
Deg = 0           x =  2 / y = 5
Deg = 90          x = -1 / y = 2
Deg = 125         x = -0.457 / y = 0.297
Deg = 159         x =  0.924 / y = -0.800

我知道我现在只计算一点,但你对如何使第一点起作用有任何建议吗?从我开始的任何程度说起90度?

1 回答

  • 0
    x = Cx + r * Math.cos( (d+90) * Math.PI / 180 );
    
     y = Cy + r * Math.sin( (d+90) * Math.PI / 180 );
    

    似乎这是我试图完成的正确公式 . 这将取Cx / Cy的原点的任何值加上Radius r,然后计算度数90并转换为弧度..一旦所有魔法发生,你留下的是你所在的90度的x / y坐标开始 .

相关问题