polyhedron_gravity — DRIVE polygrav op

• Data kinds: any × points → table

• Call: import fullseye as fs; fs.ledger.polyhedron_gravity(mesh, points, density: 'float' = 1.0, G: 'float' = 6.6743e-11, omega: 'float' = 0.0, spin_axis=(0.0, 0.0, 1.0), spin_center=None, normals=None) -> 'dict' (implementation को सीधे call करना हो तो import polygrav; polygrav.polyhedron_gravity(mesh, points, density: 'float' = 1.0, G: 'float' = 6.6743e-11, omega: 'float' = 0.0, spin_axis=(0.0, 0.0, 1.0), spin_center=None, normals=None) -> 'dict', registry से लेना हो तो opsdrive.get("polyhedron_gravity"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

एकसमान घनत्व वाला बंद बहुफलक प्रेक्षण बिंदुओं पर जो गुरुत्व पैदा करता है (Werner & Scheeres 1997 का सटीक सूत्र)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Parameters

mesh : (vertices (N,3), faces (M,3))

閉じた三角形メッシュ。面は外向き(右手系)に巻く。長さの単位は m として扱う(km のデータは 1000 倍)。

points : (K,3)

観測点 [m]。外・中・表面の上(頂点・辺の上も)のどこでもよい。

density : float

密度 [kg/m³] (正)。

G : float

重力定数(既定 6.67430e-11、CODATA 2018)。

omega : float

自転の角速度 [rad/s] (0 以上)。正なら回る座標の実効ポテンシャルと実効重力も返す。

spin_axis : (3,)

自転軸の向き(正規化する)。既定は +z。

spin_center : (3,), optional

自転軸が通る点。既定は立体の重心(自由に回る天体は重心のまわりに回る)。

normals : (K,3), optional

観測点での外向きの法線。渡すと斜面の角 slope_deg を返す(実効重力と −法線 のなす角、

omega = 0 なら重力そのもの)。

Returns

dict

potential (K,) Φ [J/kg] (負。無限遠で 0)、acceleration (K,3) g = −∇Φ [m/s²] (天体へ向く)、

div_g (K,) ∇·g [1/s²] (中で −4πGρ、外で 0、面の上で −2πGρ —— ガウスの法則)、

solid_angle (K,) Σ ω_f(中で 4π、外で 0)、mass [kg]、volume [m³]、center_of_mass (3,)。

omega > 0 のとき effective_potential (K,) = Φ − ½ω²ρ⊥²、effective_acceleration (K,3) = g + ω²ρ⊥

(ρ⊥ は自転軸からの垂直な距離のベクトル)、spin_center (3,)。normals があれば slope_deg (K,)。

Notes

辺の上・頂点の上の点では、その辺の対数 L_e が発散するが掛かる係数 n_fe·r_i が 0 なので、その項を 0 とする(極限値)。メッシュが閉じていない(有向辺が逆向きの辺と打ち消さない)、体積が正でない(内向きの巻き)、非有限、範囲外の索引は ValueError。空の入力(points が 0 要素)は ValueError で拒否する。

संदर्भ (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 के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

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

• itokawa_gravity_tour — py -3.11 examples/itokawa_gravity_tour.py

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

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (polygrav)

polyhedron_clip_halfspace


*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.