tacsim opnormalmap × matrix × matrix × scalar → scalarimport 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。
空の入力(normals が 0 要素)は ValueError。
py -3.11 examples/poc_tacsim_elastic_membrane.pyscalar を入力に取れる)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.