Jake Petroules
Jake Petroules

Reputation: 24150

Function to get X, Y position of an object orbiting a point, given a distance and angle in radians?

I am trying to code a function for a camera that orbits a point. Assume a 3d coordinate plane where Z is up. Ignore Z.

Let's say the camera's position starts at (0, 0, z). The object to orbit is at, say (50, 50, z). So we have a distance of ~70 units. Calling the function with {(50, 50, z), 70, x} where x is the position in orbit, in radians, should return where the position of the camera should be.

I believe this involves cos and tan but my trig isn't that great...

point3d getCameraPosition(point3d objectPosition, float distance, float rotationRadians)
{
    // ???
}

Upvotes: 1

Views: 1230

Answers (1)

Pavel Radzivilovsky
Pavel Radzivilovsky

Reputation: 19114

return position + Point(distance*cos(angle), distance*sin(angle))

Upvotes: 3

Related Questions