membrane_delta_from_normals — DRIVE tacsim op

• Data kinds: normalmap × matrix × matrix × scalar → scalar

• Call: import fullseye as fs; fs.ledger.membrane_delta_from_normals(normals, X, Y, pitch: 'float', tail: 'str' = 'boussinesq', centre_xy=None) -> 'float' (to call the implementation directly, import tacsim; tacsim.membrane_delta_from_normals(normals, X, Y, pitch: 'float', tail: 'str' = 'boussinesq', centre_xy=None) -> 'float'; from the registry, opsdrive.get("membrane_delta_from_normals"))

Usage

Central sinking δ from the normal field: integrates the radial slope s̄(r) in 1D from the center to the window edge (∫ s̄ dr = ū_z(0) − ū_z(r_max)); with tail="boussinesq" it adds the remaining tail ū_z(r_max) = r_max · s̄(r_max) from the far field ū_z ≈ C/r (Boussinesq point-load solution, Johnson §3.2) (median of the last 3 bins at the window edge). tail="none" adds no tail (returns the underestimate of the finite window as is — to measure the size of the error).

> The detailed description below is the original text — the summary and the headings are translated.

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

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_tacsim_elastic_membrane — py -3.11 examples/poc_tacsim_elastic_membrane.py

Ops the type connects to (they accept scalar as input)

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

Same category (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. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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