3D Rotation about Shifted Axis

Versione 1.3.0.1 (2,42 KB) da Matt J
Computes/applies rotation about arbitrary 3D line.
6,6K download
Aggiornato 4 apr 2021

Visualizza la licenza

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.

Cita come

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

Compatibilità della release di MATLAB
Creato con R2010b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
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