6

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

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

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

4

1 回答 1

8

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

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

此外,如果rotation.xrotation.y以度数给出,您可能需要先将这些值乘以,pi/180然后再将它们作为参数提供给sinand cos

于 2013-10-30T03:25:26.060 回答