illusion opなし → rgb(引数だけで決まる op —— 画像やデータの入力を取らない)import fullseye as fs; fs.ledger.illusion_checker_shadow(size: 'int' = 46, n: 'int' = 8, light: 'float' = 0.62, dark: 'float' = 0.31) -> 'np.ndarray' (実装を直接呼ぶなら import illusion; illusion.illusion_checker_shadow(size: 'int' = 46, n: 'int' = 8, light: 'float' = 0.62, dark: 'float' = 0.31) -> 'np.ndarray'、台帳から引くなら opsgenerative.get("illusion_checker_shadow"))チェッカーシャドウ。印を付けた 2 マスは厳密に同じ画素値。
影の係数を dark / light に取ると、影の中の明マスは影の外の暗マスと
数として同じになる。★この図は aa=0(反エイリアスなし)で描く ——
縁の混色が入ると「厳密に同値」という主張のほうが嘘になるため。
不変量: :data:CHECKER_PATCHES の 2 マス —— 影の外の暗マス (2,3) と
影の中の明マス (5,5) —— の画素値が完全に一致(差が厳密に 0)。
★ここは一度間違えた。対にすべきは「暗マス × 影なし」と「明マス × 影あり」で、 同じ明暗のマスを 2 つ選んでも当然ながら一致しない(実測 0.31 の差が出た)。 絵は「それらしく」見えてしまうので、数で確かめるまで気づけない —— この族が守ろうとしているのと同じ型の事故。
py -3.11 examples/gallery_illusion_invariants.pyrgb を入力に取れる)—
illusion)illusion_cafe_wall · illusion_muller_lyer · illusion_ponzo · illusion_zollner · illusion_poggendorff · illusion_fraser_spiral · illusion_ebbinghaus · illusion_kanizsa
Provenance: illusion.py — GENERATIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.