polygrav op• 데이터 종류: any × points → table
• 호출: 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'(구현을 직접 호출하려면 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', 원장에서 가져오려면 opsdrive.get("polyhedron_gravity"))
• GPU: 없음(CPU 참조 구현만)
밀도가 균일한 닫힌 다면체가 관측점에 만드는 중력 (Werner & Scheeres 1997 의 정확한 식).
> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.
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 なら重力そのもの)。
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,)。
辺の上・頂点の上の点では、その辺の対数 L_e が発散するが掛かる係数 n_fe·r_i が 0 なので、その項を 0 とする(極限値)。メッシュが閉じていない(有向辺が逆向きの辺と打ち消さない)、体積が正でない(内向きの巻き)、非有限、範囲外の索引は ValueError。空の入力(points が 0 要素)は ValueError で拒否する。
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• itokawa_gravity_tour — py -3.11 examples/itokawa_gravity_tour.py
table 를 입력으로 받는 것)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
polygrav)*Provenance: polygrav.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.