fullseye

afocal_system — OPTICS lenssolve op

使い方

像空間が平行光の系(望遠鏡・ビームエキスパンダ)を作る: 与えた系に afocal の印を付けるか、理想レンズ 2 枚の望遠鏡(table)。

With system None it builds an ideal-lens telescope: two paraxial lenses of focal lengths f1 and f2 a distance f1 + f2 apart (Keplerian for f2 > 0, Galilean for f2 < 0), stop on the first lens (semi-aperture ap); its angular magnification is exactly -f1/f2 for every ray. With a system it returns a copy flagged afocal after checking that a collimated beam leaves collimated (ValueError if it focuses: fix the spacing, for example with a marginal_ray_angle solve of 0 degrees on the last curvature). The flag makes paraxial_trace report angular_magnification (efl and bfl are inf), ray_bundle / spot_stats / ray_fan read the exit angle in arcminutes (from the chief ray), and opd_samples reference a plane wave.

Example::

tele = afocal_system(f1=100.0, f2=25.0)
paraxial_trace(tele)["angular_magnification"]       # -4

ファミリ共通の入力契約(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

同カテゴリ(lenssolve)

lens_apply_solves · lens_solve_set · lens_solve_clear · lens_solves_list · lens_afocal_report · lens_image_surface · lens_petzval_radius · lens_zmx_solves_roundtrip


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

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