reflect_points — 3D symmetry op

Data kinds: pointspoints

Call: import fullseye as fs; fs.ledger.reflect_points(points, plane_point, plane_normal) (to call the implementation directly, import symmetry3d; symmetry3d.reflect_points(points, plane_point, plane_normal); from the registry, ops3d.get("reflect_points"))

Usage

Mirror a point set in a plane (point plane_point, normal plane_normal). → (N,3).

> The detailed description below is the original text — the summary and the headings are translated.

各点 p の平面からの符号付き距離 `d = (p - plane_point) · n`(n は正規化した法線)を取り、

`p' = p - 2 d n` を返す(Householder 鏡映)。平面上の点は動かず、平面の両側の点が入れ替わる。

点の並び順は保たれるので `p'[i]p[i]` の鏡像。座標の単位はそのまま。

• `points`: (N,3) の配列(float に変換)。形状検証はしない。

• `plane_point: 平面上の 1 点 (3,)。plane_normal`: 法線 (3,)(長さは任意、内部で正規化。

符号は結果に影響しない)。

注意: 法線はノルムに 1e-12 を足して割るため、ゼロベクトルを渡しても例外にならず点群がほぼ

そのまま返る(fail-closed ではない)。`reflection_symmetry_score` /

`detect_reflection_symmetry` の内部で使うほか、検出した対称面で欠損側を埋める(鏡像を元の

点群に連結する)形状補完にも使える。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

reflection_symmetrypy -3.11 examples_3d/reflection_symmetry.py

Ops the type connects to (they accept points as input)

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

Same category (symmetry)

detect_reflection_symmetry · detect_rotational_symmetry · reflection_symmetry_score


*Provenance: symmetry3d.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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