fullseye

random_rotation — 3D augment op

使い方

ランダム回転を適用し (rotated, R) を返す(視点変化の模倣)。

R は正規直交・det=+1(rotated = points @ R.T = 各点に R を左作用、 逆変換は rotated @ R)。max_angle=None なら Shoemake 法で一様ランダム回転、 max_angle 指定(ラジアン, 期待 [0, π])なら軸を球面一様・角を [0, max_angle] 一様に取り、回転角を制限する(arccos((tr R -1)/2) ≤ max_angle を厳密に保証)。

max_angle < 0ValueErrormax_angle=0 は単位行列。単位はラジアン(度で 渡すと桁違いに大きくなる)。max_angle=None の一様回転は上限 π までの大きな回転も 普通に出るので、視点変化の範囲を絞りたいときは max_angle を使う。回転は原点まわり で、雲が原点から離れていれば重心も動く。R の規約 rotated = points @ R.Tregister_fpfhregister_shot が返す dst ≈ src @ R.T + t と同じ向きなので、 推定結果との角度誤差は arccos((tr(R_est·Rᵀ)-1)/2) で測れる。seed で決定論的 (同 seed なら同じ R)。返り値は float64 の (N,3)(3,3)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(points を入力に取れる)

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

同カテゴリ(augment)

jitter · random_scale · random_dropout · elastic_deform · cutout


Provenance: pcl_augment.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.