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

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

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

Lineární transformace

Základní topologické pojmy:

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

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

Geometrické transformace pomocí matic

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

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

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

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

Reprezentace 3D scény

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

Watkinsův algoritmus řádkového rozkladu

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

Maturitní témata z matematiky

Distribuované sledování paprsku

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

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

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

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

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

Radiometrie, radiační metody

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

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

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

VIDEOSBÍRKA DERIVACE

Elementární křivky a plochy

MATURITNÍ TÉMATA Z MATEMATIKY

APLIKACE. Poznámky Otázky

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

VIDEOSBÍRKA DERIVACE

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

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

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

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

Deformace rastrových obrázků

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Ě

9.1 Definice a rovnice kuželoseček

Maturitní témata profilová část

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 z matematiky

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

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

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

0 x 12. x 12. strana Mongeovo promítání - polohové úlohy.

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

Elementární plochy-základní pojmy

Malířův algoritmus Josef Pelikán CGG MFF UK Praha. 1 / 15

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

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

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

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í témata od 2013

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

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

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

19 Eukleidovský bodový prostor

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

Ú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.

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

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

Funkce dvou proměnných

CZ 1.07/1.1.32/

Základní vlastnosti křivek

PŘEDNÁŠKA 6 INTEGRACE POMOCÍ SUBSTITUCE

Příklady k analytické geometrii kružnice a vzájemná poloha kružnice a přímky

6. ANALYTICKÁ GEOMETRIE

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

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

Obsah a průběh zkoušky 1PG

2. Zapište daná racionální čísla ve tvaru zlomku a zlomek uveďte v základním tvaru. 4. Upravte a stanovte podmínky, za kterých má daný výraz smysl:

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

ICT podporuje moderní způsoby výuky CZ.1.07/1.5.00/ Matematika analytická geometrie. Mgr. Pavel Liška

Počítačová grafika 2 (POGR2)

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

Veronika Chrastinová, Oto Přibyl

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

KMA/GPM Barycentrické souřadnice a

Jana Dannhoferová Ústav informatiky, PEF MZLU

B) výchovné a vzdělávací strategie jsou totožné se strategiemi vyučovacího předmětu Matematika.

11 Vzdálenost podprostorů

Plochy počítačové grafiky II. Interpolační plochy Bezierovy pláty nad obdélníkovou a trojúhelníkovou sítí Recionální Bezierovy pláty B-spline NURBS

Základní vlastnosti ploch

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 ϕ.

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

1 4( 1) Co je řešením rovnice 2y 1 = 3? Co je řešením, pokud přidáme rovnici x + y = 3? Napište

FUNKCE A JEJICH VLASTNOSTI

Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly.

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é

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

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

Transkript:

Výpočet průsečíků paprsku se scénou 1996-2018 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 2 / 26

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* Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 3 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 4 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 5 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 6 / 26

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/ Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 7 / 26

Rovnoběžné roviny paprsek: p P(t) = P 0 + t p P 1 0 1 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/ Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 8 / 26

Konvexní mnohostěn chápu jej jako průnik K poloprostorů počítá se maximálně K průsečíků paprsku s rovinou rovnoběžnost některých rovin (úspora) - např. kvádr proměnné t in, t out inicializované na 0, průsečík paprsku s 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 tout t in Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 9 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 10 / 26

Algebraická plocha paprsek: P(t) = P 0 + t p 1 algebraická plocha stupně d: i jk d i, j, k 0 A x, y, z a x y z 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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 11 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 12 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 13 / 26

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 D2 = 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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 14 / 26

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 v P N E vstup: N, P, E výstup: [u,v] z [0,1] 2 u arccos N E sin arccos N P, 2 v, P E N 0 u, jinak u 1 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 15 / 26

Válec a kužel 2 jednotkový válec a kužel v základní poloze: x 2 2 y 1 0 x y z po dosazení P(t) do rovnice válce vychází: 2 2 2 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 0 x y z 0 2 0 2 0 2 0 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 16 / 26

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 4a 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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 17 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 18 / 26

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ň Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 19 / 26

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) = (PA) - (PB) obecný průnik paprsku se scénou je množina intervalů geometrické transformace: na paprsek aplikuji inverzní transformace Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 20 / 26

Průsečíky PA, PB B PB P 0 p 1 A PA P 0 p 1 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 21 / 26

Průsečík P(A-B) rozdíl B P(A-B) A B P 0 p 1 A Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 22 / 26

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ů! Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 23 / 26

Množinové operace na paprsku A B AB AB AB Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 24 / 26

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 alternativa matice pro normály: M n = (M -1 ) T Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 25 / 26

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 Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 26 / 26