简体   繁体   中英

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)
{
    // ???
}
return position + Point(distance*cos(angle), distance*sin(angle))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM