views:

84

answers:

1

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)
{
    // ???
}
+1  A: 
return position + Point(distance*cos(angle), distance*sin(angle))
Pavel Radzivilovsky
Since his points are 3d, you should probably add `, 0` at the end, before the closing parenthesis.
rlbond
This works, thanks... sorry for the delay in accepting.
Jake Petroules