occlusion_reveal_distance — DRIVE traffic op

• 데이터 종류: any → scalar

• 호출: import fullseye as fs; fs.ledger.occlusion_reveal_distance(ego_xy, ego_heading: 'float', parked_box, emerge_xy) -> 'float'(구현을 직접 호출하려면 import drivetraffic; drivetraffic.occlusion_reveal_distance(ego_xy, ego_heading: 'float', parked_box, emerge_xy) -> 'float', 원장에서 가져오려면 opsdrive.get("occlusion_reveal_distance"))

사용법

> 이 연산자의 설명은 아직 번역이 없습니다. 원문을 그대로 싣습니다.

路肩駐車車両(向きつきの箱)の陰にある点 `emerge_xy` が、自車の目から 初めて見える ときの縦距離。

自車の目は p(s) = ego_xy + s h(h = (cos ψ, sin ψ)、s ≥ 0 = 前進量)を動く。視線 = 線分 p(s) → e が箱の内部を

通らなければ見える。箱は凸なので「見えない s」は区間になり、その端は 視線が箱の角をかすめる か、進路が箱の辺を

横切る所。各角 c について直線 e + λ(c − e) と進路の交点 s_c を 2×2 の連立で解き(閉形式)、候補 {0, s_c, 進路と辺の

交点} の小さい順に見えるかを調べ、最初に見える s* で d = h · (e − p(s*)) を返す。

軸平行の例(進路 y = 0、+x 向き、陰を作る角 c、e は箱の向こう): d = (e_x − c_x) · e_y / (e_y − c_y)。

`parked_box` = (cx, cy, length, width, yaw)(中心・全長・全幅・向き)。最初から見えていれば s* = 0 の縦距離、

どこまで進んでも見えない(e が箱の内部)なら `inf`。d が負(見えた時には既に e を通り過ぎている)もそのまま返す。

角をかすめる視線は「見える」(箱を 1e-9 相対だけ縮めて判定し、浮動小数の揺れで判定が割れないようにする)。

Raises `ValueError`: 形・非有限・寸法 ≤ 0。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

타입이 이어지는 다음 연산자(scalar 를 입력으로 받는 것)

spin_from_marker_sequence · road_eval · long_simulate · stopping_distance_grade · stop_line_plan · hill_hold_brake_min · hill_start_rollback · hill_start_command

같은 카테고리(traffic)

idm_accel · idm_equilibrium_gap · idm_platoon_simulate · driver_style · lateral_wobble · ou_estimate · social_force_step · pedestrian_crossing


*Provenance: drivetraffic.py — DRIVE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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