Reputation:
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?
Upvotes: 6
Views: 8013
Reputation: 3083
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
.
Upvotes: 8