3D-s számítógépes geometri. Bevezetés, lpfoglmk https://www.vik.me.hu/kepzes/trgyk/viiiav0 Dr. Várdy Tmás BME, Villmosmérnöki és Informtiki Kr Irányítástechnik és Informtik Tnszék 3D-s számítógépes geometri
Trtlom Bevezetés Digitális reprezentációk Pontok, vektorok, trnszformációk Görék és felületek egyenletei Prmetrikus görék differenciál-geometriáj Prmetrikus felületek differenciál-geometriáj 3D-s számítógépes geometri
Bevezetés Két tudományág: (i) Computer Aided Geometric Design (CAGD) Számítógéppel segített geometrii tervezés (ii) Digitl Shpe Reconstruction (DSR) Számítógépes lk(zt) rekonstrukció (Reverse Engineering Mérnöki visszfejtés) 3D-s geometri - digitális reprezentáció - számítógépes lgoritmusok - lklmzások Bevezetés 3
Számítógéppel segített geometrii tervezés koncepció, mérnöki dokumentáció műszki rjz, formtervezői vázlt tervezés sztrkt, pontos geometrii elemek számítógépes modell lklmzások: megjelenítés, virtuális vlóság prméterek számítás újrtervezés, módosítás, vriánsok végeselem-nlízis (FEA) - szilárdságtn, termodinmik, ármlástn numerikusn vezérelt (NC) megmunkálás fiziki ojektum Bevezetés 4
Számítógépes tervezés: input-output műszki rjz formtervezői vázltok prméterek módosítás, lktrész csládok végeselemnlízis utomtikus megmunkálás Bevezetés 5
Digitális lkzt rekonstrukció létező fiziki ojektum 3D mérés, szkennelés mért, zjos, strukturáltln elemek ngyméretű ponthlmzok lkzt rekonstrukció számítógépes modell lklmzások Bevezetés 6
Digitális informtik Digitl Signl Processing 970 Fő technológii komponensek: Digitl Imge Processing 980-90 Digitl Shpe Processing 000 érintésmentes 3D-s szkennerek ngyteljesítményű grfikus számítógépek digitális lkrekonstrukciós szoftver rendszerek Bevezetés 7
Rekonstrukció - lklmzások - nem létezik digitális modell - nem CAD technológiávl készült, nincs gyártási dokumentáció - egyéni orgnikus felületek, testre kell szni ; illeszkedő felületek hsznált: térdprotézis, fogsor, hllókészülék, ukósisk st. - egyedi művészeti lkotások; kulturális örökség megőrzése - vn digitális referenci modell, de ellenőrizni kell minőségét Bevezetés 8
Az űrsikló iztonságos vissztérése Geomgic, Inc. : minőségellenőrzés - hőálló csempék esetleges károsodásánk felismerése Bevezetés 9
Tervezés és lkzt rekonstrukció KONCEPCIÓ TERVEZÉS SZÁMÍTÓGÉPES MODELL ALKALMAZÁSOK DIGITÁLIS ALAKZAT REKONSTRUKCIÓ GYÁRTÁS 3D-s MÉRÉS FIZIKAI OBJEKTUM Bevezetés 0
Digitális reprezentációk pontok, pontfelhők háromszögek, háromszöghálók görék, görehálóztok, drótvázk felületek, felület-csoportok tömör (merev) testek Reprezentációk
Digitális reprezentációk Pontok, pontfelhők 5 Háromszöghálók, (poligonok) 3 Görék, görehálóztok 4 Tömör testek Felületek. pontfelhők egyesítése, szűrése, egyszerűsítése.... háromszögelés (háló generálás) 3. göre interpoláció és pproximáció 4. felület interpoláció és pproximáció 5. celluláris (voxel) reprezentáció Reprezentációk
Digitális reprezentációk Pontok, pontfelhők 5 Háromszöghálók, (poligonok) Görék, görehálóztok 4 3 Tömör testek Felületek. decimálás, simítás, újrháromszögelés, deformálás. szegmentálás, jellegzetes görék kiemelése 3. felület pproximáció, rekurzív felosztásos felületek 4. digitális lkzt rekonstrukció 5. mintvételezés Reprezentációk 3
Digitális reprezentációk 3 Pontok, pontfelhők 4 Háromszöghálók, (poligonok) 5 Görék, görehálóztok 3 Tömör testek Felületek. görehálózt építés, speciális műveletek, simítás.... felületek létrehozás profilgörékől (eltolás, forgtás), göreháló interpoláció,... 3. testek él struktúráj 4. mintvételezés 5. törött vonlk, poligonok Reprezentációk 4
Digitális reprezentációk 4 Pontok, pontfelhők Háromszöghálók, (poligonok) Görék, görehálóztok 4 5 3 Tömör testek Felületek. speciális műveletek offszet, lekerekítő felületek, simítás,.... metszések, trimmelt lpok (felületdrok), primitív testek... 3. mintvételezés 4. tesszelláció (poligonközelítés) 5. felület-felület metszés, felületen futó görék,... Reprezentációk 5
Digitális reprezentációk 5 Pontok, pontfelhők Háromszöghálók, (poligonok) 3 Tömör testek Görék, görehálóztok 4 5 Felületek. Bool műveletek, primitív testek.... mintvételezés 3. tesszelláció (poligon közelítés) 4.-5. htárolóelem-reprezentáció előállítás, élek, hurkok, trimmelt lpok Reprezentációk 6
Pontok 3 p = p ( x, y) R, = ( x, y, z) R Lineáris komináció: r n = α p i= i i, α R, p R i i 3 Bricentrikus komináció: Konvex komináció: Példák: n α i i= = α 0 pl. α = α = i i i n k k= t) = p0 ( t) + pt, r( t) = p0( t) + p( t) t p r ( + t n m i m Affin leképzés: r = Φ( r) = ra + v 3 [ x, y, z] = [ x, y, z] 3 + [ vx, vy, vz] 3 3 33 Pontok, vektorok 7
Pontok n 3 3 Affin tuljdonságok: Φ : R R Φ( r) = α Φ( p ) invriáns ricentrikus kominációr egyenes egyenes R : háromszög háromszög Φ R 3 : tetréder tetréder Φ Affin trnszformációk: Azonosság: Eltolás: Skálázás: Egyevágóság: 0 A =, 0 v A = I, v 0 A = 0 0 T A A = I = 0 Nyírás: i= r = Φ( r) = ra + v Forgtás: A = i cos α sin α A =, sin cos v α α 0 i = 0 ( x, y) ( x + y, y) Pontok, vektorok 8
Pontok, vektorok 9 Vektorok 3 ),, ( R z y x = e d c λ = = + =,,, 3 3 R R Elemi vektor műveletek: Sklárszorzás (dot product): ϕ cos ), ( = (,c),c c + = + = ) ( ), ( ), ( ), ( = 0 ), ( ), ( ; ), ( = + + = z z y y x x Vektorszorzás (cross product): ϕ sin = c c c + = + = ) (! = 0 = z y x z y x k j i x φ φ
Göre és felület egyenletek Függvény: Implicit: Prmetrikus: z = f ( x, y) F r 3 ( x, y, z) = 0, R R 3 ( u, v) = ( x( u, v), y( u, v), z( u, v)); R R y y = f (x) y F( x, y) > 0 y r(t) F( x, y) < 0 egyértelmű hozzárendelés y 0 =? f(x 0 ) mintvételezés egyszerű CAD: ritkán hsználják x F( x, y) = 0 végtelen félterek F(x 0,y 0 ) =? 0 mintvételezés nehéz CAD: szályos felületek x t [0,] véges felületdr (x 0,y 0 )? t 0 mintvételezés egyszerű CAD: szdformájú felületek x Egyenletek 0
Göre és felület egyenletek Péld (D): prol Függvény: y=x +, (elforgtv nem függvény!) Implicit: Prmetrikus: F( x, y) = x + xy + cy + dx + ey + f r ( + t t) = p0 ( t) + p ( t) t p = 0 B = c, B > 0 ellipszis, B = 0 prol, B < 0 hiperol Ideális reprezentáció koordinát rendszer független prméterei geometriilg értelmezhetők y y p 0 R p r(t) P p x x Egyenletek
Önálló feldt* + * Áltlános kúpszelet egyenlet vektoros lkn O, p, h r = ( εr) + rv + w ÁBRA Szeminárium és implementáció Egyenletek
Prmetrikus görék differenciál-geometriáj n Prmetrikus göre: t [, ] R : r( t) = ( x( t), y( t), z ( t)) Csvrvonl: r( t) = ( ρ cos t, ρ sin t, t) y r( t t = t ) = r( t ) Egyszerű göre (reguláris): r( t + h) r( t) Első derivált: r& ( t) = r ( t) = t lim h 0 h Átprméterezés mindig lehetséges: r(t+h) r(t) r() r() x Átprméterező függvény - folytonos, szigorún monoton, differenciálhtó t c Ekvivlens göre: r( t) r( u); t( u) = cu + c, u =, [, ] [ α, β ] c r r t A deriváltk megváltoznk, pl.: r & ( u) = = = r& ( t) c u t u t u Prmetrikus görék 3
Prmetrikus görék Görée írt poligon: = t s = r& ( t) + r& ( t) + r& ( t) dt = r t x y z &( ) s, n 0 < t <... < t n = ; n n r( t ) r( t ) = = s,n korlátos rektifikálhtó z ívhossz létezik i i i= i Δ i i r( t dt + Δt) r( t Δt Az ívhossz prméter függvényeként: s( t) = r &( τ ) dτ ; s& ( t) = r& ( t) dr Természetes (ívhossz szerinti) prméterezés: r ( t( s)); r' = ; ds Tuljdonságok: ( ) r' = ; ( ) r' r'' t ) t dr dt ( ) r' = = r& = ; ( ) r' ( s) = ( r', r' ') dt ds ds dt Érintő egységvektor: e = r'(s) = 0 Prmetrikus görék 4
Önálló feldt* + * Görék ívhosszánk számítás: s = r& ( t) + r& ( t) + r& ( t) dt = r t x y z &( ) dt Szeminárium: mikor polinomiális z ívhossz pitgorszi hodográf görék Implementáció: göre interpoláció ötödfokú PH görékkel Reprezentációk 5
Prmetrikus görék 3 Simulókör: α e = r' ( s), e = r' ( s + Δs), lim Δα = κ Δs 0 Δs r r e e Görület: κ( s) = r' '( s), κ ( t) = ρ( t) = r& ( t) && r( t) 3 r& ( t) Középpont és evolút: c( t) = n( t), κ ( t) κ ( t) 0 r r r =r(t) r =r(t) c(t) c(t) r 3 r 3 Prmetrikus görék 6
Prmetrikus görék 4 Simulósík és inormális: n = n(t), = e n Kísérő triéder (Frenet frme): [ e( t), n( t), ( t)] (t) r(t) n(t) e(t) Torzió: = ' ( s), = ' ( s + Δs), Δβ lim = τ Δs 0 Δs β n n τ ( s) = det( r', r' ', r' ''), τ ( t) κ = det( r&,&& r, &&& r) r& && r r e r e? (,, c) = (, c) = det(,, c) (Vegyes szorzt: ) Prmetrikus görék 7
Prmetrikus felületek differenciál-geometriáj Prmetrikus felület: Felületi görék: r 3 ( u, v) = ( x( u, v), y( u, v), z( u, v)); E : [, ] Ε u = u( t), v = v( t), t [ t, t ], r ( u( t), v( t)) = r( t) Konstns prmétervonlk: r u, v), r( u, ) Deriváltk: ( 0 v0 r x y z ru ( u, v) = ( ) = (,, ); u u u u r ( u, v) v = r ( ) v? Normálvektor: n = r u r v r v Elsőrendű főmennyiségek: r r u E = r = u, F = rurv, G rv Prmetrikus felületek 8
Prmetrikus felületek Elemi felületdr: ΔA = ( r( u + Δu, v) r( u, v)) ( r( u, v + Δv) r( u, v)) = Felszín: A = r u r r( u + Δu, v) r( u, v) r( u, v + Δv) r( u, v) Δu Δv v du dv = EG F du dv Δu Δv Felületi göresereg, normálmetszet : Főgörületek: n c ( ϕ) n s κ ( ϕ) κ = = κ min, κ κ mx k, k k k Főgörületi irányok: Euler-egyenlet: Másodrendű főmennyiségek: κ ( ϕ) = κ cos ϕ + κ sin ϕ κ k κ(φ) L = r n, M = r n, N = uu uv r vv n κ k Prmetrikus felületek 9
Prmetrikus felületek 3 Görületi vonlk és umilikus pontok Alliez et l.: Anisotropic Polygonl Remeshing, SIGGRAPH 003 Prmetrikus felületek 30
Prmetrikus felületek 4 Görület meghtározás egy dott pontn: λ det E L λ = dv / du λ F M = tnϕ, Umilikus pontok: G N = 0, κ ( λ) = Guss-(szorzt-) és átlggörületek: Felület pontok környezetének osztályozás: G>0 elliptikus, G<0 hiperolikus, G=0, (M 0) prolikus λ, κ λ k, k κ, L + Mλ + Nλ E + Fλ + Gλ G = κ κ M = ( κ + ; κ L : M : N = E : F : G κ = κ = c, κ ( f ) = c; ) Prmetrikus felületek 3
Prmetrikus felületek 5 Az Euler egyenlet más formán: κ ( ϕ) = κ cos ϕ + κ sin ϕ Polárkoordináták: Dupin-indikátor (lokális kúpszelet): r = ρ, x = ρ cosϕ, y = ρ sinϕ x y + = ρ ρ G>0 G<0 G=0 (M 0) Prmetrikus felületek 3
Önálló feldt** Szeminárium és Implementáció: Dupin indikátor megjelenítése prmetrikus B-spline felületek pontjin ( B-spline-ok rövidesen sorr kerülnek) umillikus pontok meghtározás és típusuk zonosítás görületi vonlk, vlmint Guss és átlggörület térképek kirjzolás Reprezentációk 33
. elődás - trtlom Háromszöghálók lklmzási Háromszöghálók jellemzése Voronoi digrmok és Deluny háromszögelés, egyszerű lgoritmusok Háromszögelés három dimenzión Háromszöghálók számítógépes reprezentációj Bevezetés 34