Finding point on sphere

元气小坏坏 提交于 2019-12-06 04:23:19

问题


So I need to find the point on a sphere's surface using the radius, the center of the circle and the rotation vector. I have this equation right now:

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)

This formula produces crazy results that are totally not what I need at all. I quite honestly have no idea what I've done wrong, I tried to use the formula I found here: Finding Point on sphere

But it didn't work. What have I done wrong?


回答1:


In your third line, you should have the cosine:

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

also, if rotation.x and rotation.y are given in degrees, you might need to multiply the values by pi/180 before giving them as arguments to sin and cos.



来源:https://stackoverflow.com/questions/19673067/finding-point-on-sphere

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!