Dobrý den,
píšu program jako semestrální práci - simulátor optické soustavy a nevím si rady s jednou částí. Vím analytické znázornění paprsku jako přímky (počáteční bod a směrový vektor), analyticky znázorněnou kouli (střed a poloměr) a index lomu. Potřeboval bych prosím poradit jak zjistit směrový vektor po zlomení o první "stěnu" koule. Průsečík už mám spočtený. V rovině by to bylo jednoduché, ale v prostoru na to nějak nemůžu přijít.
Děkuji
Offline
Pokud znáš bod dopadu paprsku na sféru, pak v tomto bodě si představ tečnou rovinu a paprsek lámej tak, jako by se lámal o tu rovinu.
Stačí takto ?
EDIT: Ještě doplním, že to nejdůležitější, co potřebujeme, je normálový vektor té sféry v bodě dopadu paprsku. Je totožný s normálovým
vektorem té tečné roviny. A jak ho zjistíme ? Je-li hladká plocha popsána rovnicí F(x,y, z) = 0 , pak jejím normálovým vektorem v jejím
bodě D je vektor
.
Pokud dopadající paprsek má zároveň směr normálového vektoru, pak se neláme. V opačném případě je s normálou různoběžný,
v bodě dopadu ji protíná a spolu s ní určuje tzv. rovinu dopadu. V této rovině paprsek zůstává i po lomu, změní se pouze jeho odchylka
od normály. Technicky bych to řešil zavedením vhodných kartéských souřadnic do roviny dopadu, v této soustavě bych vyjádřil
dopadajícá paprsek a vyřešil lom a výsledek bych zpětnou transformací přenesl do soustavy Pxyz.
Offline