开发者

Rotation of Point in 3D Space

开发者 https://www.devze.com 2023-02-17 04:23 出处:网络
I have one problem related to rotation of point in 3D-space. Suppose I have one point with X, Y and Z coordinates.

I have one problem related to rotation of point in 3D-space.

Suppose I have one point with X, Y and Z coordinates.

And now I want to rotate it, by specifying the rotation in one of these three ways:

  1. By user-defined degree
  2. By u开发者_开发技巧ser-defined axis of rotation
  3. Around (relative to) user-defined point

I found good link over here, but it doesn't address point 3. Can anyone help me solve that?


All rotations will go around the origin. So you translate to the origin, rotate, then translate back.

T = translate from global coordinates to user-coordinates
R = rotate around the origin (like in your link)
(T^-1) = translate back
point X

X_rotated = (T^-1)*R*T*X 

If you have multiple points to rotate then multiply the matrices together:

A = (T^-1)*R*T
X_rotated = A*X
0

精彩评论

暂无评论...
验证码 换一张
取 消