3D Rotation about Shifted Axis

版本 1.3.0.1 (2.4 KB) 作者: Matt J
Computes/applies rotation about arbitrary 3D line.
6.6K 次下载
更新时间 2021/4/4

查看许可证

Generates the roto-translation matrix for the rotation around an arbitrary line in 3D. The line need not pass through the origin. Optionally, also, applies this transformation to a list of 3D coordinates.

SYNTAX 1:

M=AxelRot(deg,u,x0)


in:

u, x0: 3D vectors specifying the line in parametric form x(t)=x0+t*u
Default for x0 is [0,0,0] corresponding to pure rotation (no shift).
If x0=[] is passed as input, this is also equivalent to passing x0=[0,0,0].

deg: The counter-clockwise rotation angle about the line in degrees. Counter-clockwise is defined using the
right hand rule with respect to the line direction vector u.


out:

M: A 4x4 affine transformation matrix representing
the roto-translation. Namely, M will have the form

M=[R,t;0 0 0 1]

where R is a 3x3 rotation and t is a 3x1 translation vector.



SYNTAX 2:

[R,t]=AxelRot(deg,u,x0)

Same as Syntax 1 except that R and t are returned as separate arguments.



SYNTAX 3:

This syntax requires 4 input arguments be specified,

[XYZnew, R, t] = AxelRot(XYZold, deg, u, x0)

where the columns of the 3xN matrix XYZold specify a set of N points in 3D space. The output XYZnew is a 3xN matrix of transformed points, i.e., the input points rotated about the axis. All other input/output arguments have the same meanings as before.

引用格式

Matt J (2024). 3D Rotation about Shifted Axis (https://www.mathworks.com/matlabcentral/fileexchange/30864-3d-rotation-about-shifted-axis), MATLAB Central File Exchange. 检索时间: .

MATLAB 版本兼容性
创建方式 R2010b
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.3.0.1

Description clarifications.

1.3.0.0

Added option to transform a set of coordinates.

1.1.0.0

Clarified description and help doc only. No new code.

1.0.0.0