fullseye

reflect_rays — OPTICS scene op

使い方

鏡面反射 d − 2(d·n)n。glassmirror.refract_rays の相方(反射側が無かった)。

入射・法線ともに (…, 3)。法線の向き(表裏)には依存しない。返り値は単位ベクトル。

手順: directionsnormals をそれぞれ単位化してから r = d - 2 (d·n) n を取り、もう一度単位化する。n-n にしても (d·n) n は変わらないので、法線の符号を気にせず trace_rays(...)["normal"] をそのまま渡せる。

trace_raysreflect_raystrace_rays で鏡面の 2 次反射を追える。 屈折側は refract_rays

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(points を入力に取れる)

refract_rays · trace_rays · illumination_visibility · env_studio · env_lightbox

同カテゴリ(scene)

scene_material · scene_plane · scene_sphere · scene_box · scene_cylinder · surface_defect · surface_finish · random_defects


Provenance: optscene.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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