decide op• データ種: なし → table(引数だけで決まる op —— 画像やデータの入力を取らない)
• 呼び出し: import fullseye as fs; fs.ledger.convex_mirror_fov(radius, aperture, eye_distance) -> 'Dict[str, float]' (実装を直接呼ぶなら import drivedecide; drivedecide.convex_mirror_fov(radius, aperture, eye_distance) -> 'Dict[str, float]'、台帳から引くなら opsdrive.get("convex_mirror_fov"))
凸面鏡(球面、半径 `radius、開口の直径 aperture)を軸上 eye_distance`(頂点から)の眼で見たときの視野角。
厳密(軸を含む断面): h = a/2、α = asin(h/R)、s = R − sqrt(R² − h²)、β = atan(h/(D + s))、
全視野角 = 2(β + 2α)。`radius = inf` は平面鏡 2 atan(h/D)。
近軸: ≈ a (1/D + 2/R)(誤差は h³ の桁。h/R ≲ 0.2 かつ h/D ≲ 0.2 で相対誤差が数 % 以内が目安)。
返り値: `fov_rad / fov_deg(厳密)、fov_paraxial_rad、flat_fov_rad`(同じ開口の平面鏡)、
`widening(= fov / flat_fov、凸面で何倍広く見えるか)、edge_tilt_rad = α、eye_angle_rad` = β。
h ≥ R(半球より大きい開口)は ValueError。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_driving_decisions — py -3.11 examples/poc_driving_decisions.py
table を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
decide)mirror_reflection_matrix · mirror_virtual_camera · mirror_aim_normal · mirror_blind_zone · check_sequence_score · signal_phase_plan · signal_state · predict_amber_onset
*Provenance: drivedecide.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.