fullseye

lens_element_drawing — OPTICS drawing op

使い方

単レンズの製作図(table、図の dict)—— ISO 10110 の表記で、断面図と 3 分割のデータ欄と表題欄。

system の element 番目のガラス(前から 0, 1, …)を描く。データ欄は左が第 1 面、右が第 2 面、中央が材料:

公差は raytrace.tolerance_analysis の公差の辞書(tolerances、既定は同じ既定値 radius_pct 0.5 / thickness_mm 0.05 / index 0.001 / tilt_deg 0.05)から写す: 中心厚 ±thickness_mm、n_d ±index、4/ = tilt_deg × 60 分、曲率の公差 radius_pct は R の ± と、有効径の縁での sag の差 |sag(R(1 ± p)) − sag(R)| を縞の本数(1 本 = λ/2)にする。radius_tolerance = "radius"(既定)は R の欄に ±ΔR を書いて 3/-(B) とし、縞の換算は注記に残す。"fringes" は R を公称値だけにして 3/A(B) の A に縞の本数を書く。B(不規則性、irregularity_fringes)の既定は "radius" で 1、 "fringes" で A/4(最低 0.5)。平面は曲率の公差が無いので、A は plane_power_fringes(既定 2 本)。同じ公差で tolerance_analysis を回した EFL の 5〜95 % の幅を注記に入れる(trials 回、 seed)—— 図の公差が光学系の何を動かすかを製作図に残すため。

返り値の values: R1 / R2 / center_thickness / outer_diameter / clear_aperture / nd / vd / fringes_power / tilt_arcmin / efl / efl_p5 / efl_p95。平面の R と、分散の 無い媒質の vd は inf(非有限は契約、lens_system の規約どおり)。 ★接合レンズ(面が 3 つ以上のガラスの連続)は 1 枚ずつ描けないので ValueError。

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

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

詳しい使い方ガイド

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

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

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

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(drawing)

lens_section_drawing · vision_setup_drawing · drawing_svg · drawing_dxf · drawing_raster · svg_entities · dxf_entities


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

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