reflect_points — 3D symmetry op

• Data kinds: points → points

• Call: import fullseye as fs; fs.ledger.reflect_points(points, plane_point, plane_normal) (implementation को सीधे call करना हो तो import symmetry3d; symmetry3d.reflect_points(points, plane_point, plane_normal), registry से लेना हो तो ops3d.get("reflect_points"))

उपयोग

point cloud को plane (point plane_point, normal plane_normal) के पार mirror करता है। → (N,3)।

हर point p की plane से signed distance d = (p - plane_point) · n (n normalised normal है) लेकर p' = p - 2 d n लौटाता है (Householder reflection)। plane पर के points नहीं हिलते, plane के दोनों ओर के points आपस में बदल जाते हैं। points का क्रम बना रहता है, इसलिए p'[i], p[i] का mirror image है। coordinates की unit वही रहती है।

• points: (N,3) array (float में बदला जाता है)। shape की जाँच नहीं होती।

• plane_point: plane पर 1 point (3,)। plane_normal: normal (3,) (लंबाई कुछ भी, अंदर normalise होता है। sign का परिणाम पर असर नहीं होता)।

ध्यान दें: normal को उसकी norm में 1e-12 जोड़कर भाग दिया जाता है, इसलिए zero vector देने पर भी exception नहीं आता और point cloud लगभग वैसा ही लौटता है (fail-closed नहीं)। reflection_symmetry_score / detect_reflection_symmetry के अंदर उपयोग के अलावा, पहचाने गए symmetry plane से गायब हिस्से को भरने (mirror image को मूल point cloud से जोड़ने) वाले shape completion में भी इसका उपयोग हो सकता है।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• reflection_symmetry — py -3.11 examples_3d/reflection_symmetry.py

वे अगले ops जिनसे type जुड़ता है (points को input के रूप में लेते हैं)

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

इसी category के (symmetry)

detect_reflection_symmetry · detect_rotational_symmetry · reflection_symmetry_score


*Provenance: symmetry3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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