polygrav op• Data kinds: any × any × any → any
• Call: import fullseye as fs; fs.ledger.polyhedron_clip_halfspace(mesh, point, normal) (implementation को सीधे call करना हो तो import polygrav; polygrav.polyhedron_clip_halfspace(mesh, point, normal), registry से लेना हो तो opsdrive.get("polyhedron_clip_halfspace"))
• GPU: नहीं (केवल CPU reference implementation)
बंद mesh को एक समतल से काटकर (x − point)·normal ≥ 0 वाली ओर को बंद ठोस के रूप में लौटाता है → (vertices, faces)।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
切り口(平面上の多角形)は point からの扇の三角形で塞ぐ。切り口が非凸でも、point が切り口の外でも、扇の三角形は向き付きで重なって打ち消し合うので、面について線形な量(polyhedron_gravity の重力・ mesh_volume の体積・重心)はそのまま正しい(見た目の三角形は重なることがある)。辺と平面の交点は辺ごとに 1 回だけ作るので、返りのメッシュは有向辺がちょうど打ち消す(閉じている)。平面の上にちょうど乗る頂点は残す側に数える。
mesh : (vertices (N,3), faces (M,3))
閉じた三角形メッシュ(外向きの巻き)。
point : (3,)
平面上の 1 点(切り口の扇の中心にもなる)。
normal : (3,)
残す側を向く平面の法線(正規化する)。
(vertices (N',3), faces (M',3))
残した側の閉じたメッシュ(使わない頂点は落とす)。切り口の三角形は末尾に並ぶ。
平面がメッシュに交わらない(全部が片側)ときは、残す側に全部あればそのまま、全部が反対側なら ValueError。メッシュが閉じていない・非有限・範囲外の索引も ValueError。空の入力(mesh の面が 0 個)は ValueError で拒否する。
• 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 के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• itokawa_gravity_tour — py -3.11 examples/itokawa_gravity_tour.py
any को input के रूप में लेते हैं)course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road
polygrav)*Provenance: polygrav.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.