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 · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse
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.