membrane_delta_from_normals — DRIVE tacsim op

• データ種: normalmap × matrix × matrix × scalar → scalar

• 呼び出し: import fullseye as fs; fs.ledger.membrane_delta_from_normals(normals, X, Y, pitch: 'float', tail: 'str' = 'boussinesq', centre_xy=None) -> 'float' (実装を直接呼ぶなら import tacsim; tacsim.membrane_delta_from_normals(normals, X, Y, pitch: 'float', tail: 'str' = 'boussinesq', centre_xy=None) -> 'float'、台帳から引くなら opsdrive.get("membrane_delta_from_normals"))

使い方

中心の沈み込み δ を法線場から: 半径方向スロープ s̄(r) を中心から窓の端まで 1D 積分(∫ s̄ dr = ū_z(0) − ū_z(r_max))し、tail="boussinesq" なら遠方場 ū_z ≈ C/r(点荷重の Boussinesq 解、Johnson §3.2)から残りの裾 ū_z(r_max) = r_max · s̄(r_max) を足す(窓の端の最後の 3 ビンの中央値)。tail="none" は裾なし(有限窓の過小評価をそのまま返す —— 間違いの量を測るため)。

高さの FFT 積分を通らないので振幅の減衰を受けない。返り: δ [m]。Raises ValueError: 未知の tail、pitch ≤ 0。

参考(サンプルデータ・文献)

• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。

• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。

• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。

実行できる例(この op を実際に呼ぶ検証済みサンプル)

• poc_tacsim_elastic_membrane — py -3.11 examples/poc_tacsim_elastic_membrane.py

型が繋がる次の op(scalar を入力に取れる)

spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse

同カテゴリ(tacsim)

combined_modulus · hertz_sphere · hertz_force · hertz_cylinder · hertz_surface_uz · hertz_pressure · membrane_indent_sphere · membrane_indent_shape


*Provenance: tacsim.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*

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