decide op• Data kinds: any → table
• Call: import fullseye as fs; fs.ledger.mirror_virtual_camera(cam_pose, mirror_plane) -> 'Dict[str, object]' (implementation को सीधे call करना हो तो import drivedecide; drivedecide.mirror_virtual_camera(cam_pose, mirror_plane) -> 'Dict[str, object]', registry से लेना हो तो opsdrive.get("mirror_virtual_camera"))
समतल दर्पण में दिखने वाली image लेने वाला virtual camera।
cam_pose world→camera का 4×4 है (render3d.look_at की परिपाटी: X_cam = P X, −Z आगे)। mirror_plane (n_x, n_y, n_z, d) है (n·X = d)।
लौटाया गया मान (dict):
• reflection: परावर्तन S (mirror_reflection_matrix)।
• pose_mirrored = P·S: इससे वास्तविक दृश्य को रेंडर करने पर वास्तविक कैमरा दर्पण के पार जो प्रतिबिंब देखता है, ठीक वही मिलता है (पिक्सेल स्थिति तक समान)। घूर्णन भाग का सारणिक −1 है (बाएँ-दाएँ उलटा निर्देशांक तंत्र; कुछ रेंडररों में सतह के आगे-पीछे का निर्धारण उलट जाता है)।
• pose = F·P·S, F = diag(−1, 1, 1, 1): सामान्य दक्षिणहस्त कैमरा (सारणिक +1) = दर्पण के उस पार स्थित आभासी कैमरा। इससे लिया गया चित्र दर्पण में दिखने वाले प्रतिबिंब का बाएँ-दाएँ उलटा रूप है (पिक्सेल में u' = 2c_x − u)। रियर-व्यू मिरर को "पीछे की ओर देखने वाले कैमरे" के रूप में बरतते समय इसका उपयोग करें (चालक को दिखने वाले प्रतिबिंब पर लौटने के लिए बाएँ-दाएँ उलटें)।
• eye: आभासी कैमरे की स्थिति S(C) (C = वास्तविक कैमरे की स्थिति)। eye_real: C।
• flip: "x" (pose के चित्र में x उलटने पर दर्पण-प्रतिबिंब बनता है)।
संवृत रूप: S(X) = X − 2(n·X − d)n। दर्पण में दिखने वाले बिंदु Q के प्रतिबिंब की स्थिति S(Q) है (दर्पण के उस पार, दर्पण-सतह से समान दूरी पर)। गेट (परीक्षण): दर्पण पर वह बिंदु M संख्यात्मक रूप से हल किया जाता है जो आपतन कोण = परावर्तन कोण को संतुष्ट करता है (Fermat का न्यूनतम पथ), और जाँचा जाता है कि C + (|CM| + |MQ|)·unit(M − C) S(Q) से मेल खाता है।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_driving_decisions — py -3.11 examples/poc_driving_decisions.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
decide)mirror_reflection_matrix · mirror_aim_normal · convex_mirror_fov · mirror_blind_zone · check_sequence_score · signal_phase_plan · signal_state · predict_amber_onset
*Provenance: drivedecide.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.