3D Rotation about Shifted Axis

バージョン 1.3.0.1 (2.42 KB) 作成者: Matt J
Computes/applies rotation about arbitrary 3D line.
ダウンロード: 6.5K
更新 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
カテゴリ
Help Center および MATLAB AnswersGeometric Transformation and Image Registration についてさらに検索

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