Výpočet průsečíků paprsku se scénou

Podobné dokumenty
Výpočet průsečíků paprsku se scénou

Rekurzivní sledování paprsku

Geometrické transformace pomocí matic

Základní topologické pojmy:

Gymnázium Jiřího Ortena, Kutná Hora

Vzorce počítačové grafiky

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

Maturitní okruhy z matematiky - školní rok 2007/2008

Lineární transformace

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

1. a) Určete parciální derivace prvního řádu funkce z = z(x, y) dané rovnicí z 3 3xy 8 = 0 v

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Maturitní otázky z předmětu MATEMATIKA

MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT)

PŘÍKLADY K MATEMATICE 3 - VÍCENÁSOBNÉ INTEGRÁLY. x 2. 3+y 2

VIDEOSBÍRKA DERIVACE

9 Prostorová grafika a modelování těles

Gymnázium Jiřího Ortena, Kutná Hora

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

Maturitní témata z matematiky

Elementární křivky a plochy

Témata ke státní závěrečné zkoušce z matematiky ARITMETIKA

1. Přímka a její části

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Výpočet vržených stínů

PŘEDNÁŠKA 6 INTEGRACE POMOCÍ SUBSTITUCE

VIDEOSBÍRKA DERIVACE

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Reprezentace 3D scény

MATURITNÍ TÉMATA Z MATEMATIKY

Diferenciální počet funkcí více proměnných

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Požadavky na konkrétní dovednosti a znalosti z jednotlivých tematických celků

ŠROUBOVICE. 1) Šroubový pohyb. 2) Základní pojmy a konstrukce

MATEMATIKA Tematické okruhy ke státní maturitní zkoušce Obor: mechanik elektronik

19 Eukleidovský bodový prostor

APLIKACE. Poznámky Otázky

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ. u. v = u v + u v. Umět ho aplikovat při

Radiometrie, radiační metody

9.1 Definice a rovnice kuželoseček

MATEMATIKA Maturitní témata společná část MZ vyšší úroveň (vychází z Katalogu požadavků MŠMT)

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ

0 = 2e 1 (z 3 1)dz + 3z. z=0 z 3 4z 2 + 3z + rez. 4. Napište Fourierův rozvoj vzhledem k trigonometrickému systému periodickému

[obrázek γ nepotřebujeme, interval t, zřejmý, integrací polynomu a per partes vyjde: (e2 + e) + 2 ln 2. (e ln t = t) ] + y2

Fyzikálně založené modely osvětlení

KŘIVKY A PLOCHY. Obrázky (popř. slajdy) převzaty od

Deformace rastrových obrázků

Watkinsův algoritmus řádkového rozkladu

Veronika Chrastinová, Oto Přibyl

Maturitní témata z matematiky

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které

Transformujte diferenciální výraz x f x + y f do polárních souřadnic r a ϕ, které jsou definovány vztahy x = r cos ϕ a y = r sin ϕ.

1.1 Základní pojmy prostorové geometrie. Předmětem studia prostorové geometrie je prostor, jehož prvky jsou body. Další

VZÁJEMNÁ POLOHA DVOU PŘÍMEK V ROVINĚ

Maturitní témata profilová část

Hierarchický model Josef Pelikán CGG MFF UK Praha. 1 / 16

MATEMATIKA STUDIJNÍ POŽADAVKY PRO JEDNOTLIVÉ ROČNÍKY STUDIA

12 Trojný integrál - Transformace integrálů

Maturitní okruhy z matematiky ve školním roce 2010/2011

Rovnice přímky. s = AB = B A. X A = t s tj. X = A + t s, kde t R. t je parametr. x = a 1 + ts 1 y = a 2 + ts 2 z = a 3 + ts 3. t R

II. Zakresli množinu bodů, ze kterých vidíme úsečku délky 3 cm v zorném úhlu větším než 30 0 a menším než 60 0.

Maturitní zkouška z matematiky (v profilové části) Informace o zkoušce, hodnocení zkoušky, povolené pomůcky a požadavky

Gymnázium Jiřího Ortena, Kutná Hora. volné rovnoběžné promítání průmětna

Distribuované sledování paprsku

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

Šroubový pohyb rovnoměrný pohyb složený z posunutí a rotace. Šroubovice dráha hmotného bodu při šroubovém pohybu

Matematika II, úroveň A ukázkový test č. 1 (2016) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Elementární plochy-základní pojmy

CZ 1.07/1.1.32/

14. přednáška. Přímka

Analytická geometrie (AG)

+ 2y y = nf ; x 0. závisí pouze na vzdálenosti bodu (x, y) od počátku, vyhovuje rovnici. y F x x F y = 0. x y. x x + y F. y = F

Tělesa Geometrické těleso je prostorový omezený geometrický útvar. Jeho hranicí neboli povrchem je uzavřená plocha. Geometrická tělesa dělíme na

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

Maturitní témata od 2013

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

Úvodní informace. 17. února 2018

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

MATURITNÍ OTÁZKY Z MATEMATIKY PRO ŠKOLNÍ ROK 2010/2011

Maticová optika. Lenka Přibylová. 24. října 2010

5.3. Implicitní funkce a její derivace

je omezena + =,,0 1 je omezena,0 2,0 2,0 je horní polovina koule + + je omezena + =1, + + =3, =0

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

2. ANALYTICKÁ GEOMETRIE V PROSTORU Vektory Úlohy k samostatnému řešení... 21

Detekce kolizí v 3D Josef Pelikán KSVI MFF UK Praha

Matematika II, úroveň A ukázkový test č. 1 (2017) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze

Nezbytnou součástí ústní zkoušky je řešení matematických příkladů, které student obdrží při zadání otázky.

Cvičné texty ke státní maturitě z matematiky

1. Cvičení: Opakování derivace a integrály

Funkce dvou proměnných

Kristýna Bémová. 13. prosince 2007

1 Analytická geometrie

5. cvičení z Matematiky 2

y ds, z T = 1 z ds, kde S = S

MATEMATIKA III. π π π. Program - Dvojný integrál. 1. Vypočtěte dvojrozměrné integrály v obdélníku D: ( ), (, ): 0,1, 0,3, (2 4 ), (, ) : 1,3, 1,1,

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

Transkript:

Výpočet průsečíků paprsku se scénou 1996-2008 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 1

Průsečík paprsku s tělesem výstup 3D poloha: t, [x,y,z] (2D poloha: [u,v]) (Normála: N, N u N v ) u v [x,y,z] N v P 0 P 1 t N N u vstup Paprsek: P 0, P 1 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 2

Rovina paprsek: P(t) = P 0 + t P 1 P 0 P 1 N rovina: N = [x N,y N,z N ] x x N + y y N + z z N + D = 0 t průsečík t = (N P 0 + D) / (N P 1 ) negativní: 2±, 3*, pozitivní: 5±, 6*, 1/ výpočet [x,y,z]: 3±, 3* NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 3

Inverzní transformace v rovině rovina: Pl(u,v) = Pl 0 + u U + v V U = [x U,y U,z U ], V = [x V,y V,z V ] N = U V vstup: Pl, U, V, [x,y,z] výstup: [u,v] v [x,y,z] U u N V Pl 0 soustava u x u + v x v = x - Pl 0x řešení [u,v]: 5±, 5*, 2/ u y u + v y v = y - Pl 0y NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 4

Rovnoběžník paprsek: P(t) = P 0 + t P 1 P 0 rovnoběžník: R(u,v) = R 0 + u U + v V 0 u,v 1 P 1 t, [x,y,z], [u,v] U V N R 0 výpočet t, [x,y,z], [u,v], kontrola u,v pozitivní případ celkem: 13±, 14*, 3/, 4 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 5

Trojúhelník paprsek: P(t) = P 0 + t P 1 P 0 trojúhelník: R(u,v) = R 0 + u U + v V 0 u,v,u+v 1 P 1 U t, [x,y,z], [u,v] V N R 0 výpočet t, [x,y,z], [u,v], kontrola u,v pozitivní případ celkem: 14±, 14*, 3/, 3 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 6

Obecný rovinný mnohoúhelník paprsek: P(t) = P 0 + t P 1 P 0 P 1 N... V 4 rovina mnohoúhelníka: N = [x N,y N,z N ] x x N + y y N + z z N + D = 0 vrcholy mnohoúhelníka: V 1, V 2,... V M t, [x,y,z] V 2 V 8 V 1 V 3 výpočet t, [x,y,z], test v rovině: bod polygon průsečík s rovinou: 8±, 9*, 1/ NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 7

Rovnoběžné roviny paprsek: P P(t) = P 0 + t P P 1 1 0 N rovnoběžné roviny: N = [x N,y N,z N ] x x N + y y N + z z N + D i = 0 t 1 t 2 průsečíky t i = (N P 0 + D i ) / (N P 1 ) první rovina: 5±, 6*, 1/, každá další: 1±, 1/ NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 8

Konvexní mnohostěn chápu jej jako průnik K poloprostorů počítám maximálně K průsečíků paprsku s rovinou mohu využít rovnoběžnosti některých rovin (úspora výpočtů viz výše) - např. kvádr proměnné t in, t out inicializované na 0, průsečík paprsku s jedním poloprostorem: t, ) resp. (, t t in = max{ t in, t } resp. t out = min{ t out, t } předčasně skončím, je-li t in > t out NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 9

Implicitní plocha paprsek: P(t) = P 0 + t P 1 implicitní povrch: F(x,y,z) = 0 příklad: (c - cos ax) cos z + (y + a sin ax) sin z + + cos a(x+z) = 0 po dosazení P(t) do F a úpravách: F*(t) = 0 hledám kořeny funkce F*(t) někdy stačí najít nejmenší kladný kořen (první průsečík), v CSG potřebuji naopak všechny NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 10

Algebraická plocha paprsek: P(t) = P 0 + t P 1 algebraická plocha stupně d: (,, ) i + + i, j, k= j k d A x y z = a x y z = 0 ijk i j k 0 příklad (toroid s poloměry a, b): ( ) ( 2 2 2 2 2 ) 2 2 ( 2 2 4 ) Tab x, y, z = x + y + z a b a b z po dosazení P(t) do A a úpravách: A*(t) = 0 A* je polynom stupně nejvýše d NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 11

Kvadrika (d=2) obecná kvadrika: T x Qx = 0 x = x y z 1, Q = a b c d b e f g c f h i d g i j po dosazení P(t) do rovnice vychází: a2t 2 + a1t + a0 = 0, 2 1 T 1 1 1 T 0 0 0 T 0 kde a = P QP, a = 2P QP, a = P QP NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 12

Rotační kvadrika rotační kvadrika v základní poloze: 2 2 2 x + y + az + bz + c = 0 koule: 2 2 2 x + y + z 1 = 0, 2 po dosazení P(t) do rovnice koule vychází: ( ) ( ) ( ) t P P + 2t P P + P P 1 = 0 1 1 0 1 0 0 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 13

Koule (geometrické řešení) P(t) = P 0 + t P 1 P 1 P 0 střed tětivy t 0 = (V P 1 ) vzdálenost D 2 2 = (V V) - t 0 odchylka 2 t D = R 2 - D 2 V t 1 t 0 t 2 t D R D pro t D 2 = 0 je paprsek tečnou koule v P( t 0 ) pro t D2 > 0 existují dva průsečíky: P( t 0 ± t D ) negativní: 9±, 6*, 1<, pozitivní navíc: 2±, 1 sqrt NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 14

Inverzní transformace na kouli koule: (x-x C ) 2 +(y-y C ) 2 +(z-z C ) 2 = R 2 směr k pólu: P, k rovníku: E (P E) = 0 vstup: N, P, E výstup: [u,v] z [0,1] 2 v P u N E ( ) [ ( N E) sin Φ ] arccos Φ = arccos ( N P), θ = 2π v = Φ π, P E N > 0 u = θ, jinak u = 1 θ NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 15

Válec a kužel jednotkový válec a kužel v základní poloze: x 2 2 2 2 2 + y 1 = 0 x + y z = 0 2 po dosazení P(t) do rovnice válce vychází: ( ) ( ) t x + y + 2t x x + y y + x + y 1 = 0 2 1 2 1 2 0 1 0 1 0 2 0 2 po dosazení P(t) do rovnice kužele vychází: ( ) ( ) 1 2 1 2 1 2 2 0 1 0 1 0 1 t x + y z + t x x + y y z z + + x + y z = 0 2 0 2 0 2 0 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 16

Toroid z -a a x Dvě kružnice v rovině xz: b [ ( ) ] ( ) [ ] 2 2 2 2 2 2 x a + z b x + a + z b = 0 [ x 2 + z 2 ( a 2 + b 2 ) ] 2 = 4 a 2 ( b 2 z 2 ) Po substituci r 2 = x 2 + y 2 rovnice čtvrtého stupně: za x 2 vychází ( x 2 y 2 z 2 a 2 b 2 ) 2 a 2 ( b 2 z 2 ) + + 4 = 0 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 17

Rotační plocha P 0 + t P 1 z z r x y rovnice paprsku v rovině rz: 2 2 2 ( ) ( ) r = x + y = x0 + x1t + y0 + y1t z = z + z t 0 1 2 2 r NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 18

Paprsek v rovině rz 2 2 Po eliminaci t: ar + bz + cz + d = 0 (1) 2 a = z 1 b = x 2 2 1 y 1 c = 2 z 1 e z 0 b 2 d = z 0 z 0 b 2 z 1 e f z 1 e = x 0 x 1 y 0 y 1 f = x 2 2 0 y 0 po dosazení parametrického vyjádření křivky K(s) do (1) dostaneme rovnici K*(s) = 0 K* má proti K dvojnásobný stupeň NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 19

CSG reprezentace pro elementární tělesa umím průsečíky spočítat začátek a konec průniku paprsku s tělesem pro konvexní tělesa množinové operace provádím na polopřímce paprsku: distributivita: P (A-B) = (P A) - (P B) obecný průnik paprsku se scénou je množina intervalů geometrické transformace: na paprsek aplikuji inverzní transformace NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 20

Průsečíky P A,P B: B P B P 0 P 1 A P A P 0 P 1 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 21

Průsečík P (A-B): rozdíl B P (A-B) A B P 0 P 1 A NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 22

Implementace paprsek: počáteční bod P 0 a směrový vektor P 1 transformuje se inverzními maticemi T i -1 (nemusí být vždy výhodné... 1 transformace: 15+, 18*) průnik paprsku se scénou (částí scény): uspořádaný seznam hodnot parametru t: [t 1, t 2, t 3,..] množinové operace: zobecněné slévání vstupních seznamů t i zpětná transformace normálových vektorů! NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 23

Množinové operace na paprsku A B A B A B A B NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 24

Zpětná transformace normál N N N v N N u N = N u N v vektory transformujeme pouze submaticí 3 3! obecné afinní zobrazení nezachovává úhly (kolmost normálového vektoru na plochu) místo normály přenášíme dva povrchové vektory NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 25

Konec Další informace: A. Glassner: An Introduction to Ray Tracing, Academic Press, London 1989, 35-119 J. Foley, A. van Dam, S. Feiner, J. Hughes: Computer Graphics, Principles and Practice, 712-714 NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca 26