在球体上找到点

时间:2013-10-30 03:01:38

标签: math trigonometry

所以我需要使用半径,圆心和旋转矢量在球体表面上找到点。我现在有这个等式:

x = position.x + radius * Math.cos(rotation.x) * Math.sin(rotation.y)
y = position.y + radius * Math.sin(rotation.x) * Math.sin(rotation.y)
z = position.z + radius * Math.sin(rotation.y)

这个公式产生了疯狂的结果,完全不是我需要的。老实说,我不知道我做错了什么,我试着用我在这里找到的公式: Finding Point on sphere

但它没有用。我做错了什么?

1 个答案:

答案 0 :(得分:6)

在你的第三行,你应该有余弦:

z = position.z + radius * Math.cos(rotation.y)

另外,如果rotation.xrotation.y以度为单位,您可能需要将这些值乘以pi/180,然后再将它们作为sin和{{1}的参数}}