user1650305
user1650305

Reputation:

Finding point on sphere

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

Answers (1)

Roberto
Roberto

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

Related Questions