böngésző alapú optikai szimuláció


for english version, click here


A SynthRays története

Egy a fényképezőgépekben alkalmazott optikai rendszerek iránt érdeklődő amatőr fotós vagyok. Néhány éve írtam egy cikksorozatot a digitális fényképezőgépek és az objektívek működéséről, amelyet nagy számú animáció illusztrált. Az animációk képkockáinak előállítása érdekében egy nagyon egyszerű optikai szimulációs keretrendszert hoztam létre. Később elkezdtem az animációk interaktív/3D változatait is kidolgozni, de félbeszakítottam a projektet. A SynthRays alapvetően ennek kísérleti folytatása.


egy retrofókuszos nagyképszögű objektív 3D nézete

A SynthRays nem tervező program. A mai optikai tervező szoftverek összehasonlíthatatlanul összetettebbek, mint az én alkalmazásom, amelynek kizárólag oktatási, hobbi céljai vannak. Ennek ellenére nem használ túlzottan egyszerűsítő képleteket, ezért az alapvető optikai jelenségek ábrázolása meglepően jól közelíti a valóságot, hiszen az optikai határfelületeknél a tényleges fénytöréssel számol minden egyes fénysugár esetében. Az alapvető célom, hogy az amatőr fotósok a programom segítségével autodidakta módon találjanak választ gyakran felmerülő kérdéseikre:

- miért olyan összetettek a mai objektívek
- hogyan működik az élesreállítás és a zoom
- milyen jelenség a szférikus aberráció és a kóma
- miért hat a fényrekesz beállítása a képminőségre
- miért rosszabb a képminőség a kép szélein általában
- mit jelent ténylegesen a teleobjektív tervezés
- mi a különbség a távmérős és a tükörreflexes fényképezőgépekhez készült nagyképszögű objekívek között
- hogyan működnek az előtétlencsék

A SynthRays jelenlegi verziója nem egy tényleges kiadás, csak egy technológiai demonstráció az érdeklődés felmérésére. Nem vagyok képzett programozó, de felületesen több programozási nyelvet és platformot ismerek. Elkötelezett vagyok a böngészőben futó alkalmazások iránt, ezért a programot úgy írtam meg, hogy az elterjedt Adobe Flash beépülő modullal ellátott számítógépeken fusson. A lehetséges hibákért előre is elnézést, felfedezésük után igyekszem a lehető leghamarabb kijavítani őket.


Az optikai szimuláció alapjai a SynthRays alkalmazásban

Minden lencsének két hasznos felülete van, egyenként három fontos adattal: a felület görbületének sugara (radius), a vertex, és a felület hasznos átmérője (diameter). A vertex az a pont, ahol az optikai tengely a felületet metszi. A vertexek helyzete a lencsék legkönnyebben mérhető mechanikai paramétere, ezért az adatok megadásánál nagyon fontos szerepet tölt be a gyakorlati optikában. Természetesen minden lencsének két vertexe van, és a konkáv lencsék miatt az átmérő is külön-külön kerül megadásra a két felület esetén. A vertexek helyzetét megadhatjuk azok Z ordinátájával, vagy relatív módszerrel a lencse vastagságának (thickness) és a tőle balra elhelyezkedő lencsétől számított távolság (space) segítségével is

Geometria, lencsék

- az optikai tengely a koordináta-rendszer Z tengelyének felel meg
- a fény balról érkezik (a negatív Z értékek felől) és jobbra tart
- az 1. számú lencse balról az első
- minden pozíció és távolság adat mm-ben értendő
- ebben a verzióban legfeljebb 15 lencse használható
- a felület minimális sugara az átmérő fele, az átmérő maximuma a sugár kétszerese
- a felületet a megadott átmérőn kívül elérő fény elvész
- a vertex, thickness és space mezők közötti újraszámolás folyamatos és automatikus
- a vertex, thickness és space mezőkbe beírható adat korlátozott, hogy a lencsék ne ütközzenek szomszédaikkal
- a ragasztás (cementing) iránya jobbról balra történik, így az első lencse soha nem lehet ragasztott
- a ragasztás az előző lencse jobb vertexét és görbületét átmásolja a kiválasztott lencse bal felületére
- a ragasztás letiltja mindkét érintett felület beviteli mezőit
- sík felület egy rendkívül nagy sugár megadásával érhető el, pl. tízmillió mm

Szerkesztés, fájlkezelés

- a gombok feliratai mindig azt mutatják, mit fog tenni megnyomása esetén, nem a jelenlegi állapotot
- a grafikus ablakban az egér segítségével megragadható az ábra és szabadon mozgatható, a görgővel pedig nagyítható
- a beszúró (Insert) gombok egy próbalencsét illesztenek a rendszerbe, amelynek adatai tetszőlegesen módosíthatóak
- a két memória beállító gomb (MS1,MS2) eltárolja az aktuális nézőpontot és a kurzorok helyzetét
- a két memória visszahívó gomb (MR1,MR2) visszaállítja a nézőpontot és a kurzorokat
- a beviteli mezők az egér segítségével választhatóak ki, kis piros pötty jelzi ezt az állapotukat
- az Esc billentyű törli a beviteli mező tartalmát, az Enter végrehajtja a változást
- a fel/le billentyűk növelik és csökkentik a mező értékét, a jobbra/balra nyilak ezt tízszeres mértékben teszik meg
- a szimuláció (Simulation) gomb megnyomása ellenőrzi a rendszert, bármilyen ellentmondás letiltja a szimulációt
- a 3D üzemmód jelenleg csak megtekintés céljából érhető el, az egér segítségével forgatható és nagyítható az objektív
- az Open & Add gomb optikai rendszerek összefűzésére használható, pl. így vizsgálhatóak az előtétlencsék
- elég szabad helynek és elég lencsepozíciónak kell rendelkezésre állnia az Open & Add használatához
- a leírófájlok formátumát nem szabad megváltoztatni, ellenkező esetben a betöltés sikertelen lesz
- a leírófájloknak nincs alapértelmezés szerinti kiterjesztésük, bárhogyan elnevezhetőek
- a leírófájlok bármilyen egyszerű szövegszerkesztővel módosíthatóak, pl.: notepad, gedit

Szimuláció

- a fényrekesz nyílásának maximális átmérőjét a program automatikusan meghatározza
- a képérzékelő méretének megadása mindig az átlóra vonatkozik
- az érzékelő mögötti kis háromszögek a vízszintes és függőleges képméreteket jelzik
- szimulációs módban a ragasztott lencsék nem választhatóak ki egymástól függetlenül
- a tárgyak helyzetének meghatározására két üzemmód létezik: szög (angle) és tárgynagyság (height) megadása
- szög megadása üzemmódban a tárgytávolság megváltoztatása nincs hatással a szögre (pl. képszög elemzése)
- tárgynagyság üzemmódban a tárgytávolság megváltoztatása nincs hatással a tárgynagyságra (pl. nagyítás elemzése)
- ha a második tárgy engedélyezve van (2nd object), a "Move" gombbal választható ki, melyik tárgy mozogjon
- a program többsugaras üzemmódban az objektívet elhagyó fénynyaláb két legkülső sugara alapján jelöli meg a fókuszt
- mivel a mérés a megjelenített fénysugarak alapján történik, minden változtatás kihat a mért gyújtótávolságra és a nagyításra
- a gyújtótávolság csak az első tárgyon kerül mérésre
- a gyújtótávolság csak 0 fokos szög és maximális tárgytávolság esetén jelenik meg
- a nagyítás csak a második tárgy bekapcsolása esetén mérhető
- a szimulációs opciók (Options) részben a fényrekesz és az érzékelő eltávolítható az optikai rendszerből

Bízom benne, hogy minden egyéb felirat egyértelmű. Javaslom egy példaobjektív betöltését és a funkciók kipróbálását.


Példák

Itt érhetőek el az első példafájlok, amelyek letöltés után megnyithatóak a SynthRays alkalmazásban. A csomag a következőket tartalmazza:

- normálobjektív távmérős fényképezőgépekhez (50mm 1:2 - 6 lencse 3 csoportban)
- kettős-gauss normálobjektív távmérős fényképezőgépekhez (50mm 1:2 - 6 lencse 4 csoportban)
- teleobjektív (100mm 1:2.8 - 4 lencse 4 csoportban)
- teleobjektív (170mm 1:3.5 - 9 lencse 8 csoportban)
- nagyképszögű objektív távmérős fényképezőgépekhez (20mm 1:4 - 9 lencse 4 csoportban)
- nagyképszögű objektív távmérős fényképezőgépekhez (35mm 1:2.8 - 7 lencse 4 csoportban)
- nagyképszögű objektív tükörreflexes fényképezőgépekhez (28.5mm 1:2.8 - 7 lencse 6 csoportban)
- előtétlencsék: 1D, 2D és 3D


egy 20mm-es, távmérős kamerákhoz tervezett nagyképszögű objektív szimulációja

A példák a következő könyvből származnak:

szerző: Michael J. Kidger
cím:

Intermediate Optical Design

év:

2004

kiadó: SPIE
azonosító:

PM134


Az adatokat Tina E. Kidger és a SPIE írásos engedélyével használtam fel, amiért rendkívül hálás vagyok. Az adatok egyéb célú felhasználása az engedélyük nélkül nem megengedett.


Tervezett fejlesztések (megfelelő érdeklődés esetén)

- teljes képernyős üzemmód
- az adatok tárolása a szerveren
- tükrök használata a katadioptrikus objektívek és a tükörreflexes fényképezőgépek belsejének szimulációjához
- a 3D üzemmód fejlesztése
- legalább négy tárgy használata a perspektivikus torzítás szemléltetéséhez
   (pl. tilt-shift objektívek, a 3D üzemmód fejlesztésével összefüggésben)
- asztigmatizmus vizsgálata (a 3D üzemmód fejlesztésével összefüggésben)
- felhasználó által összeállított beállító-eszköztár
- optikai anyagok adatbázisának használata tervezéskor a kromatikus aberráció vizsgálatához
   (csak külső támogatás/engedély esetén)


Kapcsolat

e-mail
blog (angol nyelvű)


Jogi nyilatkozat

A SynthRays online használata ingyenes, minden más jogot fenntartok. A SynthRays által előállított ábrák (képernyőképek) weboldalhoz, elektronikus vagy nyomtatott könyvhöz való felhasználása az engedélyemhez kötött.


A SYNTHRAYS INDÍTÁSA

VISSZA A FŐOLDALRA


2011 Nagy Krisztián