所以我需要使用半径,圆心和旋转矢量在球体表面上找到点。我现在有这个等式:
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
但它没有用。我做错了什么?
答案 0 :(得分:6)
在你的第三行,你应该有余弦:
z = position.z + radius * Math.cos(rotation.y)
另外,如果rotation.x
和rotation.y
以度为单位,您可能需要将这些值乘以pi/180
,然后再将它们作为sin
和{{1}的参数}}