Valasek Gábor

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Valasek Gábor"

Átírás

1 Valasek Gábor Eötvös Loránd Tudományegyetem Informatikai Kar 2014/2015. őszi félév

2 Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

3 Motiváció Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

4 Motiváció Láttuk hogyan kell egyszerű geometriai elemeket (pont, szakasz, háromszög) megjeleníteni a képernyőn Hogyan tároljuk az összetett geometriákat? Mivel írhatnánk le egy bonyolult alakzatot hatékonyan a számítógépen?

5 Motiváció

6 Motiváció

7 Motiváció

8 Görbék Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

9 Görbék Görbék leírása Az görbéket ponthalmazoknak tekintjük. Hogyan adjuk meg ezeket a halmazokat? explicit: y = f (x) [ ] x(t) parametrikus: p(t) =, t R y(t) implicit: x 2 + y 2 9 = 0

10 Görbék Lineáris interpoláció Legyen adott két pont, a, b R 3. A két ponton átmenő egyenes parametrikus egyenlete: ahol t R. p(t) = (1 t)a + tb, Ha t [0, 1], akkor az a, b pontokat összekötő egyenes szakaszt kapjuk.

11 Görbék Lineáris interpoláció Ez a legegyszerűbb görbe a két pont között Hogyan lesz ebből szép görbe? Szép valami szépen, folytonosan változó

12 Görbék Szépség - parametrikus folytonosság C 0 : a görbében/felületben nincsenek lyukak, nem szakad meg sehol C 1 : a derivált is folytonosan változik (DE: a derivált paraméterezéstől függ!) C 2 : a görbe/felület második deriváltjai is folytonosan változnak

13 Görbék Szépség - deriváltak [ ] x(t) Ne feledjük, parametrikus görbe p(t) = alakú y(t) [ x Tehát a deriváltak p (t) = ] [ (t) x y, p (t) (t) = ] (t) y stb. (t) alakúak [ t Példa: mi a deriváltja a p(t) = 2 ] + t t 3 görbének a t = 0 és t = 1 pontokban? Példa: mi lesz az első és második deriváltgörbéje (hodográfja) a p(t) = (1 t)a + tb görbének?

14 Görbék Parametrikus folytonosság Legyen adott két parametrikus görbe, r(t), s(t) : [0, 1] E 3, amelyeknek van egy közös pontja, azaz pl. r(1) = s(0) = p. Ekkor a két görbe a p-ben C 0 r(1) = s(0) C 1 C 0 r (1) = s (0) C 2 C 1 r (1) = s (0) C n C n 1 r (n) (1) = s (n) (0)

15 Görbék Parametrikus folytonosság

16 Görbék Parametrikus folytonosság

17 Görbék Parametrikus folytonosság

18 Görbék Törött vonal Adottak p i R 3, i = 0,..., n pontok és mindegyik p i, p i+1, i = 0,..., n 1 pontpárt kössünk össze egy szakasszal! Legyenek t 0 t 1... t n R paraméterek a p i pontokhoz hozzárendelve Ekkor az eredmény törött vonal felírható egyetlen paraméterrel is: ha a t [t 0, t n ] paraméter aktuális értékére t [t i, t i+1 ] igaz, akkor a hozzátartozó pont t i+1 t p i + t t i p i+1 t i+1 t i t i+1 t i Ez egy interpoláló megközelítés, azaz a reprezentációt képező ponthalmaz összes elemén áthalad a reprezentált görbe

19 Görbék Törött vonal Ha egy sima görbét szeretnénk ábrázolni, akkor szakaszokkal kell közelítenünk (lényegében: tesszellálni)

20 Görbék Törött vonal Ha egy sima görbét szeretnénk ábrázolni, akkor szakaszokkal kell közelítenünk (lényegében: tesszellálni)

21 Görbék Polinomiális görbék Ha C 0 -nál magasabb fokú garantált (!) folytonosságot akarunk, akkor próbálkozhatunk polinomokkal A p 0,..., p n pontokra illeszthető egy n-edfokú polinom A jól ismert hatványbázisban ez p(t) = n [ ] [ ] [ ] i=0 a it i, t R alakú (pl.: p(t) = t t + ) 1 1 De mi lenne a geometriai értelmezése az a i R 3 együtthatóknak? Mit ábrázolnak? másik bázist keressünk inkább, ahol a reprezentációt képező elemeknek szemléletesebb jelentése van De előtte oldjuk még meg a feladatot!

22 Görbék Polinomiális görbék Legyenek adottak p 0,..., p n E 3 pontok és t 0 < t 1 <.. < t n R paraméterértékek Keressük azt az n-edfokú p(t) = n i=0 a it i, t R parametrikus görbét, amely az adott pontokat interpolálja az előírt paraméterértékeknél, azaz amelyre p(t i ) = p i, i = 0, 1,.., n

23 Görbék Polinomiális görbék Megoldandó tehát az 1 t 0 t0 2.. t n 0 a 0 1 t 1 t1 2.. t1 n a 1 p =.. 1 t n tn 2.. tn n p a n n }{{}}{{}}{{} b V a lineáris egyenletrendszer, az ismeretlen a 0,.., a n R 3 együtthatókra Ha det(v ) 0, akkor van megoldás De vegyük észre: V egy Vandermonde mátrix determinánsa nem nulla (mivel nincs i j, hogy t i = t j ) A keresett együtthatók tehát a = V 1 b

24 Görbék Polinomiális görbék - parabola példa Tehát ha például egy parabolával szeretném a t = 0, 1, 2 pontokban interpolálni a p 0, p 1, p 2 pontokat, akkor egyenletet kell megoldanom Azaz a keresett együtthatók a 0 a 1 a 2 = p 0 p 1 p 2 a a 1 = a A parabola pedig p(t) = a 2 t 2 + a 1 t + a 0 p 0 p 1 p 2

25 Hermite interpoláció Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

26 Hermite interpoláció Harmadfokú Hermite interpoláció A görbénk tárolásához bizonyos pontokban jegyezzük fel a görbe pozícióját és egy bejárásához tartozó sebesség, gyorsulás stb.... vektorát (azaz legyenek adottak x(t i ), x (t i ), x (t i ),...) pont és derivált adatok, i = 0, 1,...) Keressünk egy olyan bázist, amibe ezeket a fenti adatokat koordinátaként beírva az adott szinten a beírt adatot kapjuk vissza

27 Hermite interpoláció Harmadfokú Hermite interpoláció Két pont között, [0, 1]-re megfogalmazza, keressük a p(t) = H 0 0 (t)p 0 + H 1 0 (t)m 0 + H 0 1 (t)p 1 + H 1 1 (t)m 1 alakú parametrikus görbét amelyre p(0) = p 0 p(1) = p 1 p (0) = m 0 p (1) = m 1

28 Hermite interpoláció Harmadfokú Hermite bázisfüggvények p(t) = H 0 0 (t)p 0 + H 1 0 (t)m 0 + H 0 1 (t)p 1 + H 1 1 (t)m 1 Keressük harmadfokú, egész polinomként az ismeretlen H j i (t) bázisfüggvényeket, azaz legyen H j i (t) = a ijt 3 + b ij t 2 + c ij t + d ij Azt akarjuk, hogy p(0) = p 0, p(1) = p 1, p (0) = m 0, p (1) = m 1 teljesüljenek Ekkor megoldandó a ij, b ij, c ij, d ij, i, j = 0, 1-re H0 0(0) = 1 H1 0 (0) = 0 H0 1 (0) = 0 H1 1 (0) = 0 (H0 0) (0) = 0 (H0 1) (0) = 1 (H1 0) (0) = 0 (H1 1) (0) = 0 H0 0(1) = 0 H1 0 (1) = 0 H0 1 (1) = 1 H1 1 (1) = 0 (H0 0) (1) = 0 (H0 1) (1) = 0 (H1 0) (1) = 0 (H1 1) (1) = 1

29 Hermite interpoláció Harmadfokú Hermite bázis A harmadfokú bázisunk ekkor a következő lesz: H 0 0 (t) = 2t3 3t H 1 0 (t) = t3 2t 2 + t H 0 1 (t) = 2t3 + 3t 2 H 1 1 (t) = t3 t 2 Ha van n + 1 bejövő adatunk, akkor minden pár közé szerkesztve egy-egy görbét az összeillesztésből kapott n harmadfokú szegmensből álló spline C 1 lesz

30 Hermite interpoláció Harmadfokú Hermite bázis

31 Hermite interpoláció Kitérő - geometriai folytonosság A szemünknek nem csak az lesz folytonos, ami parametrikusan is az Nem teljesen szabatos matematikai definíciókat következnek A geometriai folytonosságnál paraméterezéstől független folytonossági megkötéseket teszünk: G 0 : a görbében/felületben nincsenek lyukak, nem szakad meg sehol G 1 : a csatlakozásoknál ha a deriváltak nem is egyeznek meg, de α > 0 úgy, hogy m i = αm i+1 G 2 : a görbe/felület görbülete folytonos a csatlakozásban is

32 Hermite interpoláció Geometriai folytonosság - definíció Definíció Legyen adott két reguláris görbe, r(t), s(t), amelyek végpontjaikban megegyeznek: r(1) = s(0) = p. Ekkor a két görbe G n folytonosan csatlakozik a p-ben, ha létezik olyan reguláris átparaméterezése a két görbének, amely szerint C n -ben csatlakoznak a görbék.

33 Hermite interpoláció Geometriai folytonosság - definíció Definíció Legyen adott két reguláris görbe, r(t), s(t), amelyek végpontjaikban megegyeznek: r(1) = s(0) = p. Ekkor a két görbe G n folytonosan csatlakozik a p-ben, ha létezik olyan orientációtartó reguláris átparaméterezése a két görbének, amely szerint C n -ben csatlakoznak a görbék.

34 Hermite interpoláció Geometriailag folytonos spline-ok A fenti feltétel ellenőrzésére több módszer is született Részletekért lásd a Geometriai Modellezés és Felület és Testmodellezés tárgyakat Az is fontos észrevétel, hogy ha létezik egy olyan paraméterezés, ami szerint C n a csatlakozás, akkor mindkét görbét ívhossz szerint paraméterezve is C n lesz a csatlakozás Utóbbi észrevétel segítségével átfogalmazható a geometriai folytonosság koordináták pontos egybeesésére... de erről majd máskor

35 Catmull-Rom spline Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

36 Catmull-Rom spline Catmull-Rom spline Ne legyen közvetlenül adott a derivált, hanem a pontokból számoljuk őket a következőképp: m i = p i+1 p i 1 t i+1 t i 1 Ezután a megadott p i és a fentiek szerint számított m i adatokra páronként illesszünk Hermite-görbéket

37 Kochanek-Bartels spline Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

38 Kochanek-Bartels spline Kochanek-Bartels spline A Catmull-Rom spline-hoz hasonlóan itt is számított adat lesz a tangens, de most három paraméter is adott hozzá: T : tension, T [ 1, 1] B: bias, B [ 1, 1] C: folytonosság (simaság), C [ 1, 1] A Catmull-Rom spline-t kapjuk, ha T = B = C = 0

39 Kochanek-Bartels spline Kochanek-Bartels spline A fentiek felhasználásával az i-edik szegmens két végpontjának derivált-értékei legyenek (1 T )(1 + B)(1 + C) m i = (p i p i 1 ) 2 (1 T )(1 B)(1 C) + (p i+1 p i ) 2 (1 T )(1 + B)(1 C) m i+1 = (p i+1 p i ) 2 (1 T )(1 B)(1 + C) + (p i+2 p i+1 ) 2

40 Kochanek-Bartels spline Bézier-görbe kitérő- de Casteljau algoritmus

41 Kochanek-Bartels spline Bézier-görbe kitérő- de Casteljau algoritmus

42 Kochanek-Bartels spline Bézier-görbe kitérő- de Casteljau algoritmus

43 Kochanek-Bartels spline Bézier-görbe ( n Használjuk a Bernstein-bázist: Bi n (t) := i A b 0,..., b n R 3 kontrollpontok által meghatározott n-edfokú Bézier-görbe ekkor ) t i (1 t) n i b(t) = n Bi n (t)b i, i=0 ahol t [0, 1]. HF: n i=0 Bn i (t) = 1 teljesül, t [0, 1] A görbe nagyjából követi a vezérlőpontok poligonjának az alakját, de nem halad át mindegyiken! Ez egy approximáló séma További részletek: Geometriai Modellezés MSc, Analízis (Stone-Weierstrass approximációs tétel)

44 Kochanek-Bartels spline Bézier-görbe Egyetlen kontrollpont módosítása az egész görbére hat Bernstein-bázis néhány n-re: B 1 0 (t) = 1 t, B1 1 (t) = t

45 Kochanek-Bartels spline Bézier-görbe Egyetlen kontrollpont módosítása az egész görbére hat Bernstein-bázis néhány n-re: B0 1(t) = 1 t, B1 1 (t) = t lineáris interpoláció! B0 2(t) = (1 t)2, B1 2(t) = 2t(1 t), B2 2 (t) = t 2 n = 3: HF Lényegében összemossuk a kontrollpontjainkat egymással a fenti függvényekkel súlyozva őket, ezzel megmondva, hogy egy adott t [0, 1] paraméterértéknél melyik kontrollpont mennyire játszik fontos szerepet a görbe alakjának meghatározásában

46 Kochanek-Bartels spline Bézier-görbe tulajdonságok A Bézier görbe áthalad a két végponton (b 0 és b n pontokon) A Bézier görbe alakja változatlan marad, ha [0, 1] helyett [a, b] fölött rajzolom fel, azaz a b( t a b a ), t [a, b] ugyanaz a görbe (mint ponthalmaz), mint a b(t), t [0, 1] Azaz a Bézier görbe invariáns az affin paramétertranszformációkra Vegyük észre: az Hermite görbe nem invariáns ezekre!

47 Kochanek-Bartels spline Bézier-görbe - bázisfüggvények Hogyan érdemes kiértékelni a bázisfüggvényeket? A de Casteljau algoritmus csak lineáris interpolációkat használ Ha a bázisfüggvényeket akarjuk használni, akkor nem kell őket egyesével kiszámolni - egy egyszerű algoritmussal elő tudjuk állítani egy adott t-ben az összes Bernstein polinom értékét Ehhez a Bernstein polinomok rekurzív felírását használjuk fel: Bi n (t) = (1 t) B n 1 i (t) + t B n 1 i 1 (t), ahol definíció szerint legyen B n i (t) = 0, ha i < 0 vagy ha i > n

48 Kochanek-Bartels spline Bézier-görbe - bázisfüggvények

49 Kochanek-Bartels spline Bézier-görbe - bázisfüggvények

50 Kochanek-Bartels spline Bézier-görbe - bázisfüggvények A l l B e r n s t e i n ( n, t, B) { B [ 0 ] = 1; t1 = 1 t ; f o r ( j = 1; j <= n ; ++ j ) { saved = 0; f o r ( k =0; k<j ; ++k ) { temp = B [ k ] ; B [ k ] = saved + t1 temp ; saved = t temp ; } B [ j ] = saved ; }

51 Kochanek-Bartels spline Bézier-görbe - bázisfüggvények

52 Kochanek-Bartels spline Interpoláció vagy approximáció? Interpoláció: a görbének át kell haladnia a vezérlőpontokon

53 Kochanek-Bartels spline Interpoláció vagy approximáció? Approximáció: a görbének csak közelítenie kell a vezérlőpontokat

54 Kochanek-Bartels spline Sok vezérlőpont esete A vezérlőpontok számával együtt nő a fokszám egy idő után lehet meg kell elégednünk az approximációval, de az sem lesz jó A magas fokszámú polinomok erősen hullámozhatnak Runge-problémája: az f (x) = 1 függvény (piros) 1+25x 2 közelítése során ötödfokú (kék) és kilencedfokú (zöld) polinomokkal

55 Kochanek-Bartels spline Sok vezérlőpont esete

56 Kochanek-Bartels spline Spline görbék Ne egyetlen polinommal próbáljuk interpolálni vagy approximálni az adatpontjainkat (vezérlőpontjainkat)! Használjunk összetett görbét, amely alacsonyabb fokszámú szegmensekből áll Így kiküszöböhető a magas fokszámmal járó oszcilláció, illetve a kontrollpontok módosításának kihatása az egész görbére, de a polinomiális szegmensek folytonos csatlakozására külön figyelni kell És még sok minden másra is, de... Részletek: NumAnal - BSc.; Geometriai Modellezés, Felület és Testmodellezés - MSc.

57 Kochanek-Bartels spline Spline görbék

58 Műveletek görbékkel Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

59 Műveletek görbékkel Ívhossz Legyen t [a, b], ekkor s [a, b]-re az ívhossz s(k) = k a r (t) dt Az ívhossz szerint paraméterezett görbékre p (t) = 1

60 Műveletek görbékkel Legközelebbi pont Adott egy p(t) : [a, b]e 2 görbe és egy tetszőleges x E 2 pont a síkon. Keressük azt a t [a, b] paraméterértéket, amelyre t = argmin t [a,b] d(p(t), x)

61 Műveletek görbékkel Legközelebbi pont A feladat ekvivalens azzal, hogy keressük azt a t [a, b]-t, amelyre d 2 (p(t), x) = x p(t), x p(t) minimális, amit deriválva adódik, hogy a minimumhelyen kell, hogy teljesüljön. x p(t ), p (t ) = 0,

62 Műveletek görbékkel Legközelebbi pont Így a legközelebbi pont paraméterértéke, ha (a, b)-n belüli, akkor gyöke lesz az f (t) = q p(t), p (t) egyenletnek. Viszont semmiképpen se felejtsük megnézni a végpontokat is! A megoldás Newton-Raphson-nal x n+1 = x n f (x n) f (x n ) x p(x n ), p (x n ) = x n x p(x n ), p (x n ) p (x n ), p, n = 1, 2,... (x n )

63 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha f (x n ) < ɛ?

64 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha f (x n ) < ɛ? Paraméterezéstől függő! Ha M = max{ p (t) : t I}, N = max{ x p(t) : t I}, akkor a t ɛ NM t után bármely x 0 I az utolsó becslés is lesz, hiszen x p( ɛt ɛt ), (p( NM NM )) = ɛ NM ɛ NM x p( ɛt NM ), p ( ɛt NM ) x p( ɛt NM ) p ( ɛt NM ) ɛ NM = ɛ. NM

65 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha s(x n ) s(x n 1 )) < ɛ?

66 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha s(x n ) s(x n 1 )) < ɛ? Paraméterezéstől független! Elég számításigényes is tud lenni És igazából azt méri, hogy mennyire lépett kicsit az új finomítás az előzőtől, azaz a gyökkeresés lelassulását figyeli

67 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha p(x n ) p(x n 1 )) < ɛ?

68 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha p(x n ) p(x n 1 )) < ɛ? Paraméterezéstől is függ De nagyon olcsó kiértékelni Hasonlót mér, mint az előző

69 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha x n x n 1 < ɛ?

70 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha x n x n 1 < ɛ? Paraméterezéstől függ Legolcsóbb kiértékelni Ugyanúgy a gyökkeresés sebességének lassulását méri

71 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha π 2 (x p(x n), p (x n )) < ɛ?

72 Műveletek görbékkel Legközelebbi pont Newton-Raphson módszerrel Mikor termináljunk? Ha π 2 (x p(x n), p (x n )) < ɛ? Paraméterezéstől független, geometriai feltétel Pontosan azt méri, amit szerettünk volna: az x-be mutató vektorra legyen merőleges az x n -beli tangensegyenes!

73 Műveletek görbékkel Kisérő triéder Adott p(t) : [0, 1] R 3 parametrikus görbe, ekkor t(t) = [p (t)] 0 : tangens b(t) = [p (t) p (t)] 0 : binormális n(t) = b(t) t(t): főnormális Feladat: kisérő triéder kirajzolása!

74 Műveletek görbékkel Egyenletes sebességű bejárás Feladat: Newton-Raphson iterációval segítségével helyezz el 5, egymástól a görbén mérve egyenlő távolságra lévő pontot! Emlékeztető: f (x) = 0 megoldását keressük úgy, hogy kiindulva egy x 0 D f pontból iteratívan minden lépésben x n+1 = x n f (xn) f (x n) becsléssel közeledünk a megoldáshoz Ugyanígy: milyen messze van a kattintás helye a görbétől (mi a legközelebbi pontja) és mi a legközelebbi ponthoz tartozó paraméterérték?

75 Műveletek görbékkel Görbület Tegyük fel, hogy a görbénk ívhossz szerinti paraméterezéssel adott, azaz p (s) = 1 Ekkor p merőleges p -re ( p 2 = p, p = 1 deriválásából trivi) Ilyenkor t(s) = p (s) és n(s) = [p (s)] 0. Ekkor az egység érintővektor változásának normálisra vett előjeles merőleges vetülete azt mondja meg, hogy mennyire görbül a pálya az adott paraméterértéknél: κ(s) = t (s), n(s) A fenti κ a görbe s paraméterhez tartozó görbülete, illetve ha κ 0, akkor ρ(s) = 1/κ(s) a görbületi sugara

76 Műveletek görbékkel Görbület Amennyiben nem ívhossz szerint van paraméterezve a görbénk, a következő képlettel számítható a görbület: κ(t) = p (t) p (t) p(t) 3 Biz.: ld. diffgeo Síkban: előjeles görbület is értelmezhető, az a b = a x b y a y b x értelmezéssel, abszolút értéket elhagyva a számlálóban.

77 Műveletek görbékkel Görbület Feladat: színezzük a görbét a görbülete alapján! Feladat: miközben bejárjuk a görbét, minden pontjához rajzoljuk be a görbületi körét! (Ennek középpontja: p(t) + ρ(t)n(t)

78 Subdivision görbék Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

79 Subdivision görbék Subdivision görbék Egy ötlet: az eddigiek során rögtön egy polinomot állítottunk elő a kontrollpontjainkból (lényegében: a kontrollpontok által meghatározott kontroll-poligonból) Megjelenítés során viszont úgyis szakaszokkal kell közelíteni!

80 Subdivision görbék Subdivision görbék Egy ötlet: az eddigiek során rögtön egy polinomot állítottunk elő a kontrollpontjainkból (lényegében: a kontrollpontok által meghatározott kontroll-poligonból) Megjelenítés során viszont úgyis szakaszokkal kell közelíteni! dolgozzunk magán a kontroll-poligonon! A subdivision, vagy rekurzív felosztással definiált sémák a kiinduló ponthalmazunkat (kontrolpontok halmazát) rekurzívan sűrítik, egyre finomabb lineáris közelítést is adva (legtöbbször)

81 Subdivision görbék Subdivision görbék A kiinduló ponthalmaz által meghatározott görbének a rekurzív sürítést határgörbéjét ( végtelen sok finomítás utáni pontok halmazát) tekintjük Nagy kifejezőerő (például a Chaikin saroklevágási algoritmus egy másodfokú B-spline görbét ad), de görbéknél lehet hatékonyabban is számolni sok esetben

82 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus Legyen az aktuális vezérlőpont halmazunk {p i R 3 } n i=0 Az iterációs lépés során az új vezérlőpont halmazunk {q i, r i R 3 } n 1 i=0 lesz, ahol q i = 3 4 p i p i+1 r i = 1 4 p i p i+1

83 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus Legyen az aktuális vezérlőpont halmazunk {p i R 3 } n i=0 Az iterációs lépés során az új vezérlőpont halmazunk {q i, r i R 3 } n 1 i=0 lesz, ahol q i = 3 4 p i p i+1 r i = 1 4 p i p i+1

84 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus Legyen az aktuális vezérlőpont halmazunk {p i R 3 } n i=0 Az iterációs lépés során az új vezérlőpont halmazunk {q i, r i R 3 } n 1 i=0 lesz, ahol q i = 3 4 p i p i+1 r i = 1 4 p i p i+1

85 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus Legyen az aktuális vezérlőpont halmazunk {p i R 3 } n i=0 Az iterációs lépés során az új vezérlőpont halmazunk {q i, r i R 3 } n 1 i=0 lesz, ahol q i = 3 4 p i p i+1 r i = 1 4 p i p i+1

86 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus

87 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus

88 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus

89 Subdivision görbék Subdivision görbék - Chaikin saroklevágási algoritmus

90 Felületek Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

91 Felületek Bilineáris felület Adott négy kontrollpont, p 1, p 2, p 3, p 4 R 3 Három lineáris interpolációval egy egyszerű felületület kapunk: ahol s, t [0, 1]. b(s, t) = (1 t)((1 s)p 1 + sp 3 ) + t((1 s)p 2 + sp 4 ) Lényegében: két szakaszt írtunk be a t szerinti lineáris interpoláció képletébe

92 Felületek Bilineáris felület

93 Felületek Bézier felület A b ij R 3, i = 0,.., n, j = 0,.., m kontrollpoligon által meghatározott n m-edfokú Bézier-felület alakú, ahol u, v [0, 1]. m n b(u, v) = Bi n (u)bj m j=0 i=0 (v)b ij

94 Felületek Spline felület Alacsonyabb fokszámú felületdarabokat, felületfoltokat (patch-cseket) illesztünk egymáshoz Csatlakozások folytonosságára figyelni kell Több erről: Geometriai Modellezés, Felület és Testmodellezés - MSc.

95 Felületek Subdivision felületek Hasonló a görbékhez, de most a kontroll-poligonon dolgozunk, azt finomítjuk lépésenként Az animációs iparban óriási jelentősége van (Pixar stb.) Tekinthetjük a síklap alapú modellezés és a B-spline iskola közti hídnak modellezői szemmel Több: Haladó Grafika, Geometriai Modellezés - MSc.

96 Felületek Subdivision felületek - Doo-Sabin

97 Felületek Subdivision felületek - Catmull-Clark 2001: Oscar Catmull-nak for significant advancements to the field of motion picture rendering as exemplified in Pixar s RenderMan

98 Felületek Subdivision felületek - Catmull-Clark 2001: Oscar Catmull-nak for significant advancements to the field of motion picture rendering as exemplified in Pixar s RenderMan

99 Felületek Fogalmak - séma mesh-típusa A legtöbb subdivision séma valamilyen reguláris felosztási/finomítási sémán alapszik Amikor egy séma mesh-ének típusáról beszélünk erre az őssémára gondolunk A síkban regulárisan elhelyezett pontokat szabályos háromszögekkel, négyzetekkel, vagy szabályos hatszögekkel fedhetjük le Ennek megfelelően nevezünk egy sémát háromszög-, négyszög- vagy hatszög-alapúnak (gyakorlatban utóbbi ritka)

100 Felületek Mesh-típus Vigyázzunk: szép (teljes oldalakban illeszkedő), 6-reguláris háromszög vagy szép, 4-reguláris négyszöghálóval nem lehet bármit lefedni degenerált esetek nélkül! A fenti reguláris topológiákkal a végtelen síklap, vagy a végtelen hengerpalást, vagy pedig a tórusz topológiájának megfelelő felületek írhatóak fel

101 Felületek Mesh-típus - Möbius

102 Felületek Mesh-típus - Klein-kancsó

103 Felületek Fogalmak - face-split (primál) A mesh-típusának megfelelő lapok mindegyikét négyfelé osztjuk Az előző lépés mesh-ének csúcspontjait megőrizzük (de módosíthatjuk a pozíciójukat - ha változtatás nélkül vesszük át a pontokat, akkor interpoláló sémáról beszélünk) Új csúcspontokat szúrunk be minden élre (kettéosztva ezzel őket) Négyszög alapú sémáknál a lapból is származtatunk egy új csúcspontot

104 Felületek Fogalmak - vertex-split (duál) Ilyenkor minden csúcspontból keletkezik egy új csúcs az összes, eredeti csúcsra illeszkedő lap mentén A régi lapból új lap származik közvetlenül Az élek mentén új lapok születnek (az élek végpontjaiból az él által szétválasztott két lapra születő új csúcspontokat összekötve) A régi csúcspontok helyett egy új lap születik, a csúcsból született új csúcspontokkal

105 Felületek Fogalmak - face- és vertex-split Reguláris négyszöghálón mindkét esetben 4-reguláris lesz az új háló is tartja a topológiát Figyeljünk: reguláris háromszöghálóknál vertex-split után hatszögeket kapunk!

106 Felületek Fogalmak - face- és vertex-split Reguláris négyszöghálón mindkét esetben 4-reguláris lesz az új háló is tartja a topológiát Figyeljünk: reguláris háromszöghálóknál vertex-split után hatszögeket kapunk!

107 Felületek Face-split 4-reguláris mesh-en

108 Felületek Face-split 6-reguláris mesh-en

109 Felületek Vertex-split 4-reguláris mesh-en

110 Doo-Sabin Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

111 Doo-Sabin Doo-Sabin Eredeti cikk: DooSabinSurfaces/export/12/trunk/docs/Doo% %20Subdivision%20algorithm.pdf Rövid leírás: dm/unc/ COMP258/LECTURES/Doo-Sabin.pdf

112 Doo-Sabin Doo-Sabin

113 Doo-Sabin Doo-Sabin

114 Doo-Sabin Doo-Sabin - új pontok számítása

115 Doo-Sabin Doo-Sabin - új pontok számítása

116 Doo-Sabin Doo-Sabin - lapokból származó lapok

117 Doo-Sabin Doo-Sabin - Élekből származó lapok

118 Doo-Sabin Doo-Sabin - Csúcsokból származó lapok

119 Bézier háromszögek Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

120 Bézier háromszögek Bézier háromszögek de Casteljau a Bézier görbéket felületekre is kiterjesztette, méghozzá először háromszög alapú értelmezési tartományra Viszont mivel a Citroen nem engedte publikálni eredményeit, ezért nem csak a Bézier görbéket, hanem a háromszögeket is tőle függetlenül felfedezte több kutató is (például Sabin Bernstein bázisban írt fel háromoldalú parametrikus felületeket)

121 Bézier háromszögek de Casteljau algoritmus Bézier háromszögekre Természetes általánosítása a görbékre felírt de Casteljau algoritmusnak Kontrollpoligon helyett háromszög alakú kontrollponthálón végzett, egymás utáni lineáris interpolációk sorozata

122 Bézier háromszögek de Casteljau algoritmus Bézier háromszögekre

123 Bézier háromszögek de Casteljau algoritmus Bézier háromszögekre Az n-edfokú Bézier háromszögnek 1 2 (n + 1)(n + 2) kontrollpontja van Az egyszerűség kedvéért áttérünk multiindexekre: jelölje b ijk kontrollpontot b i (tehát az index is vektor), ahol mindig i 1 = i + j + k = n Legyenek továbbá e 1 = (1, 0, 0), e 2 = (0, 1, 0), e 3 = (0, 0, 1)

124 Bézier háromszögek de Casteljau algoritmus Bézier háromszögekre Adott b i E 3 kontrollpontok háromszög hálója, i 1 = n, és a sík egy pontjának u = (u, v, w) baricentrikus koordinátái Legyen a b 0 i (u) = b i és b r i (u) = ubr 1 i+e 1 + vb r 1 i+e 2 + wb r 1 i+e 3 ahol r = 1,.., n és i 1 = n r. Ekkor a Bézier háromszög u-hoz tartozó pontja b(u) = b n 0 (u)

125 Bézier háromszögek Bézier háromszögekre példa - lineáris eset

126 Bézier háromszögek Bézier háromszögekre példa - lineáris eset

127 Bézier háromszögek Bézier háromszögekre példa - lineáris eset

128 Bézier háromszögek Bézier háromszögekre példa - lineáris eset

129 Bézier háromszögek Bézier háromszögekre példa - lineáris eset b (u) = ub vb wb0 001 = ub vb wb 001

130 Bézier háromszögek Bézier háromszögekre példa - harmadfokú eset

131 Bézier háromszögek Bézier háromszögekre példa - harmadfokú eset

132 Bézier háromszögek Bézier háromszögekre példa - harmadfokú eset

133 Bézier háromszögek Bézier háromszögekre példa - harmadfokú eset

134 Bézier háromszögek Bézier háromszögek tulajdonságai - de Casteljau alapján Affin invariancia - hiszen csak lineáris interpolációkat használunk Affin paramétertranszformációkra is invariáns - mert maguk a baricentrikus koordináták is azok Konvex héj, amennyiben 0 u, v, w 1 - ekkor nemcsak baricentrikus, hanem konvex lineáris kombinációkat végzünk egymás után A peremgörbék a kontrollháromszög külső élein lévő kontrollpontok (azaz olyan b i -k, amelyekre i = 0 j = 0 k = 0) által meghatározott n-edfokú Bézier görbék

135 Bézier háromszögek Bernstein polinomok baricentrikus bázis felett Az n-edfokú, kétváltozós Bernstein polinom, baricentrikus koordánátákkal ( ) n Bi n = u i v j w k = n! i i!j!k! ui v j w k, i 1 = n, ahol ( n i) -t szokás trinomiális együtthatóknak is hívni

136 Bézier háromszögek Harmadfokú Bézier háromszögek - kontrollpont súlyok

137 Bézier háromszögek Bézier háromszögek Bernstein bázisban A görbéknél látottakhoz hasonlóan bizonyítható (indukció + Bernstein polinomok rekurzív definíciója alapján) a következő állítás: b r i = b i+j Bj r (u), i 1 = n r j 1 =r Azaz a de Casteljau algoritmus közbülső pontjai hasonlóan fejezhetőek ki Bernstein polinomokkal a Bézier háromszögek esetén is, mint a görbéknél

138 Bézier háromszögek Deriváltak Bézier háromszögeknél iránymenti deriváltakat kell használni Legyen u 1, u 2 a Bézier háromszög értelmezési tartományának két pontjához tartozó baricentrikus koordináták Legyen d = (d, e, f ) = u 2 u 1 Ekkor a b(u) Bézier háromszög d irányban vett iránymenti deriváltja az u pontban D d b(u) = d b u (u) + e b v (u) + f b w (u) ahol b u (u), b v (u), b w (u) a baricentrikus koordináták szerinti parciális deriváltjai a Bézier háromszögnek.

139 Bézier háromszögek Deriváltak A parciális deriváltakra közvetlen számítással adódik, hogy b u (u) = u n! i!j!k! ui v j w k b i = n = n = n i 1 =n i 1 =n i 1 =n 1 i 1 =n 1 (n 1)! (i 1)!j!k! ui 1 v j w k b i (n 1)! u i v j w k b i+1,j,k i!j!k! b i+e1 B n 1 i (u)

140 Bézier háromszögek Deriváltak A parciális deriváltak tehát b u (u) = n b v (u) = n b v (u) = n i 1 =n 1 i 1 =n 1 i 1 =n 1 b i+e1 B n 1 i (u) b i+e2 B n 1 i (u) b i+e3 B n 1 i (u) az iránymenti derivált pedig így ( ) D d b(u) = n dbi+e1 + eb i+e2 + f b i+e3 B n 1 i (u) i 1 =n 1

141 Bézier háromszögek Blossom háromszögek Az egymásba ágyazott baricentrikus kombinációkban nem kell mindig ugyanazt az u kiértékelési pontot használni Így kapjuk (a görbékhez hasonlóan) a Bézier háromszögek multiaffin kifejtését, azaz a háromszög blossomokat: b[u 1,.., u n ], ahol tehát a de Casteljau algoritmus i-edik lépésében u i szerint értékeljük ki az aktuális kontrollpont háromszöget

142 Bézier háromszögek Blossom háromszögek Könnyen belátható, hogy b i = b[e <i> 1, e <j> 2, e <k> 3 ], i 1 = n Továbbá a de Casteljau átmeneti pontjai felírhatóak b r i = b[u <r>, e <i> 1, e <j> 2, e <k> 3 ], i + j + k + r = n Ha a Bézier háromszög az értelmezési tartomány f 1, f 2, f 3 pontjai feletti részéhez tartozó kontrollpontokat akarjuk kiszámítani, akkor a következő adódik: c i = b[f <i> 1, f <j> 2, f <k> 3 ]

143 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

144 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

145 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

146 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

147 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

148 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

149 Bézier háromszögek Bézier háromszög felosztása belső pontra Ábra: Scott Shaefer

150 Bézier háromszögek Deriváltak blossom-mal A d iránymenti derivált a blossom-mal a következőképpen fejezhető ki: D d b(u) = nb[d, u <n 1> ] Az r-edik derivált pedig D r d b(u) = n! (n r)! b[d<r>, u <n r> ] A vegyes parciális deriváltaknak a változó irányok menti deriválás felel meg D r,s d 1,d 2 b(u) = n! (n r s)! b[d<r> 1, d <s> 2, u <n r s> ]

151 Bézier háromszögek Deriváltak A d 1 = (1, 0, 0) (0, 0, 1) = (1, 0, 1) és d 2 = (0, 1, 0) (0, 0, 1) = (0, 1, 1) irányokban vett első és második deriváltakra a u = (0, 0, 1) sarokban a következő adódik: D d1 (u) = n(b 1,0,n 1 b 0,0,n ) D d2 (u) = n(b 0,1,n 1 b 0,0,n ) D 2 d 1 (u) = n(n 1) ( (b 2,0,n 2 b 1,0,n 1 ) (b 1,0,n 1 b 0,0,n ) ) D d1,d 2 (u) = n(n 1) ( (b 1,1,n 2 b 1,0,n 1 ) (b 0,1,n 1 b 0,0,n ) ) D 2 d 2 (u) = n(n 1) ( (b 0,2,n 2 b 0,1,n 1 ) (b 0,1,n 1 b 0,0,n ) )

152 Bézier háromszögek Fokszámemelés Egy n-edfokú Bézier háromszöget szeretnénk n + 1-edfokú Bézier háromszöggel felírni: b i Bi n (u) = b (1) (u) i 1 =n i 1 =n+1 i B n+1 i Ekkor az n + 1-edfokú Bézier háromszög kontrollpontjaira adódik b (1) i = 1 ( ) ibi+e1 + jb n + 1 i+e2 + kb i+e3

153 Bézier háromszögek Háromszögek folytonos csatlakozása Legyen adott két Bézier háromszög, amelyek értelmezési háromszög-tartományai egy közös élben találkoznak Ekkor egy értelmezési tartomány síkjában található egyenes, amely áthalad a két háromszög-tartományon, mindkét Bézier háromszög felületén egy-egy felületi görbe lesz - a két felületi görbéből pedig egy összetett görbét kapunk Ha minden egyenesből, a fenti módon kapott, összetett felületi görbe C r, akkor a két Bézier háromszög csatlakozása a közös oldal mentén is C r

154 Bézier háromszögek Háromszögek folytonos csatlakozása d = v 1 a + v 2 b + v 3 c

155 Bézier háromszögek Háromszögek folytonos csatlakozása Tudjuk, hogy egy adott Bézier háromszögnek le tudjuk írni egy darabját egy, az értelmezési tartomány síkjabeli másik háromszög fölötti részének, a c i = b[f <i> 1, f <j> 2, f <k> 3 ] képlettel Ekkor, ha például a közös paramétervonal az u = 0, a fenti képlettel tudjuk, hogy mikor lesz a két szomszédos b(u), c(u) Bézier háromszög egy közös felületnek a két, C r -ben csatlakozó darabja: c ρ,j,k = b ρ j 0 (v) ahol ρ = 0,.., r, j 0 1 = n ρ, a v pedig a c(u) bázisháromszögének azon csúcsának koordinátái a b(u) bázisháromszögében, amelyik nem közös. A fenti egy szükséges és elégséges feltétel a C r csatlakozásra

156 Bézier háromszögek Bézier háromszögek folytonos csatlakozása

157 Bézier háromszögek Bézier háromszögek folytonos csatlakozása

158 Bézier háromszögek Bézier háromszögek folytonos csatlakozása

159 Bézier háromszögek Bézier háromszögek folytonos csatlakozása

160 Bézier háromszögek Bézier háromszögek folytonos csatlakozása - b 0,j,k, j + k = n kontrollpontok

161 Bézier háromszögek Bézier háromszögek folytonos csatlakozása - b 1,j,k, j + k = n 1 kontrollpontok

162 Bézier háromszögek Háromszögek folytonos csatlakozása Az r = 0 esetben a fenti azt jelenti, hogy a közös határon található kontrollpontoknak meg kell egyezniük: c 0,j,k = b 0 0,j,k (v) = b 0,j,k, j + k = n A C 1 csatlakozás feltételéül, ha C 0 már teljesül, a következő adódik: c 1,j,k = v 1 b 1,j,k + v 2 b 0,j+1,k + v 3 b 0,j,k+1, j + k = n 1 azaz a c(u) határtól eggyel beljebb található kontrollpontrétegének kontrollpontjai a b(u) csatlakozó háromszögéhez tartozó három kontrollpont baricentrikus kombinációi

163 Bézier háromszögek Háromszögek folytonos csatlakozása Tehát C 1 csatlakozik a két Bézier háromszög, ha a két élben osztozó háromszög egy síkba esik és mindkettő a bázisháromszögük (paramétertérbeli háromszög) affin képe Fontos: nem elég, hogy egy síkba essenek!

164 Szárnyas-él adatszerkezet Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

165 Szárnyas-él adatszerkezet Szomszédsági viszonyok Néha kellenek a szomszédok, pl. felület-felosztásoknál, degenerált primitívek kisz?résekor, egyes felhasználói inputok kezelésekor stb.

166 Szárnyas-él adatszerkezet Szomszédsági viszonyok Néha kellenek a szomszédok, pl. felület-felosztásoknál, degenerált primitívek kisz?résekor, egyes felhasználói inputok kezelésekor stb. Ismertek a csúcsok számítható mi, minek a szomszédja!

167 Szárnyas-él adatszerkezet Szomszédsági viszonyok Néha kellenek a szomszédok, pl. felület-felosztásoknál, degenerált primitívek kisz?résekor, egyes felhasználói inputok kezelésekor stb. Ismertek a csúcsok számítható mi, minek a szomszédja! Egy csúcsban tetsz?leges számú poligon találkozhat dinamikus adatszerkezet kéne

168 Szárnyas-él adatszerkezet Szomszédsági viszonyok Néha kellenek a szomszédok, pl. felület-felosztásoknál, degenerált primitívek kisz?résekor, egyes felhasználói inputok kezelésekor stb. Ismertek a csúcsok számítható mi, minek a szomszédja! Egy csúcsban tetsz?leges számú poligon találkozhat dinamikus adatszerkezet kéne Jobb megoldás: Szárnyas-él (winged-edge) adatszerkezet!

169 Szárnyas-él adatszerkezet Szárnyas-él adatszerkezet Az alakzatokat határukkal leíró (B-rep) (boundary representation) reprezentáció egyik gyakran használt topológiatároló adatszerkezete manifold poliéderek esetén Tárolás során csúcsokat, éleket és lapokat különböztet meg Az élek szempontjából tároljuk a felületet Minden élhez fix számú adat tartozik Segítségével pl. gyorsan körbe lehet járni egy poligon éleit, közben megkapva minden szomszédot

170 Szárnyas-él adatszerkezet Szárnyas-él adatszerkezet Minden lapot egy élsorozat határol - minden laphoz tároljunk egy, az élsorozatához tartozó tetsz?leges élre mutató pointert A csúcspontok élekhez illeszkednek (vagy bel?le indul ki, vagy? a célja) - tároljuk valamelyiket a csúcsokhoz!

171 Szárnyas-él adatszerkezet Egyetlen él adatai Egy él két csúcsot köt össze - tároljuk ezeket az élben Egy él legfeljebb két laphoz tartozhat - az egyik a baloldali, a másik a jobboldali lap lesz, ezekre mutató pointereket (vagy indexeket) tárolunk A fenti két lapon egyúttal egy-egy élsorozat (az adott lapot alkotó élsorozat) része is az adott él - mindkét élsorozatban tároljuk a rákövetkez?jét és megel?z?jét az adott élnek az adott lap bejárási irányának megfelel?en (!)

172 Szárnyas-él adatszerkezet Egyetlen él adatai 2*él csúcs lap balra jobbra start vég bal jobb el?z? köv. el?z? köv. a B A 0 1 c b d e

173 Szárnyas-él adatszerkezet Egyéb táblázatok Csúcsok táblája csúcs ID csúcsból induló él Lapok táblája lap ID lap egy éle

174 Szárnyas-él adatszerkezet Példa: tetraéder Shirley, Fundamentals of Computer Graphics

175 Szárnyas-él adatszerkezet Pl.: Egy lap összes szomszéd lapjának felsorolása def allneighbours ( face, edges, v e r t i c e s, faces ) : startedge = faces [ face ] edge = startedge i f edges [ startedge ]. f a c e L e f t == face : while edges [ edge ]. succleft!= startedge : p r i n t edges [ edge ]. faceright edge = edges [ edge ]. succleft else : while edges [ edge ]. succright!= startedge : p r i n t edges [ edge ]. f a c e L e f t edge = edges [ edge ]. succright

176 Szárnyas-él adatszerkezet Pl.: Egy lap összes szomszéd lapjának felsorolása Azaz: induljunk el az adott lap reprezentáns éléb?l (amit tárolunk a laphoz) Ha ennek az élnek a baloldali lapja az adott lap: iteráljunk végig a baloldali éllistán és írjuk ki a jobboldali lapokat (a baloldali a lekérdezést kiváltó lap) Különben a jobboldali lap az adott lap, iteráljunk végig a jobboldali lap éllistáján Az iteráció érjen véget, amint visszaérünk az adott lap reprezentáns élébe

177 Szárnyas-él adatszerkezet Pl.: Egy adott csúcsot tartalmazó összes lap felsorolása def allfaces ( vertex, edges, v e r t i c e s, faces ) : startedge = v e r t i c e s [ v e r t e x ] edge = startedge done = False while not done : i f edges [ edge ]. v e r t S t a r t == v e rtex : p r i n t edges [ edge ]. f a c e L e f t edge = edges [ edge ]. p r e dleft else : p r i n t edges [ edge ]. faceright edge = edges [ edge ]. predright

178 Fél-él adatszerkezet Tartalom 1 Motiváció Görbék Hermite interpoláció Catmull-Rom spline Kochanek-Bartels spline Műveletek görbékkel Subdivision görbék Felületek Doo-Sabin Bézier háromszögek 2 Topológia tárolása Szárnyas-él adatszerkezet Fél-él adatszerkezet

179 Fél-él adatszerkezet Fél-él adatszerkezet A winged-edge élét vegyük szét két fél-élre! lényegében az élek lapra vett vetületével dolgozunk! A fél-élhez csak egy lap tartozhat + meg kell jegyeznünk a testvér fél-élét (az adott él másik oldali lapra vett vetületét) A reprezentáció központi eleme a fél-él

180 Fél-él adatszerkezet Half-edge

181 Fél-él adatszerkezet Half-edge

182 Fél-él adatszerkezet Fél-él adatszerkezet Szigorú értelemben véve egy fél-élhez pontosan egy csúcs, él és lap tartozik (de gyakorlatban ennél többet tárolni hasznos lehet) A következ?t tároljuk egy fél-élben: az fél-él cél csúcspontja (vertex), a fél-él testvére (sym), a fél-él lapja (face) és a lapot körbefogó fél-élsorozatban a rákövetkez?je (next) A lapokhoz egy tetsz?leges alkotó fél-él pointerét jegyezzük fel A csúcspontokhoz egy befutó fél-élt HE sym sym = HE, HE next sym vertex = HE vertex stb.

183 Fél-él adatszerkezet Pl.: Adott lap körbejárása def faceloop (HE ) : loop = HE do : p r i n t HE loop = HE. next while loop!= HE

Valasek Gábor

Valasek Gábor Geometria és topológia tárolása Görbék reprezentációja Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2015/2016. őszi félév Geometria és topológia tárolása Görbék reprezentációja

Részletesebben

Tartalom. Geometria közvetlen tárolása. Geometria tárolása - brute force. Valasek Gábor valasek@inf.elte.hu. Hermite interpoláció. Subdivision görbék

Tartalom. Geometria közvetlen tárolása. Geometria tárolása - brute force. Valasek Gábor valasek@inf.elte.hu. Hermite interpoláció. Subdivision görbék Tartalom Számítógépes Grafika Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2015/2016. őszi félév Geometria és topológia tárolása Geometria tárolása Topológia tárolása

Részletesebben

Hajder Levente 2018/2019. II. félév

Hajder Levente 2018/2019. II. félév Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2018/2019. II. félév Tartalom 1 2 Törtvonal Felületi folytonosságok B-spline Spline variánsok Felosztott (subdivision) görbék

Részletesebben

Valasek Gábor tavaszi félév

Valasek Gábor tavaszi félév Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2016-2017 tavaszi félév Tartalom Tartalom Áttekintés Tartalom B-reṕ Attekintés Topológiai adatszerkezetek Szárnyas-él adatszerkezet

Részletesebben

Görbe- és felületmodellezés. Szplájnok Felületmodellezés

Görbe- és felületmodellezés. Szplájnok Felületmodellezés Görbe- és felületmodellezés Szplájnok Felületmodellezés Spline (szplájn) Spline: Szakaszosan, parametrikus polinomokkal leírt görbe A spline nevét arról a rugalmasan hajlítható vonalzóról kapta, melyet

Részletesebben

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás 3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás ek - 2019. április 2. http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Dr. Salvi Péter BME,

Részletesebben

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás 3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás Önálló projektek - 2017. április 7. http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Dr.

Részletesebben

GPK M1 (BME) Interpoláció / 16

GPK M1 (BME) Interpoláció / 16 Interpoláció Matematika M1 gépészmérnököknek 2017. március 13. GPK M1 (BME) Interpoláció 2017 1 / 16 Az interpoláció alapfeladata - Példa Tegyük fel, hogy egy ipari termék - pl. autó - előzetes konstrukciójának

Részletesebben

Lineáris algebra numerikus módszerei

Lineáris algebra numerikus módszerei Hermite interpoláció Tegyük fel, hogy az x 0, x 1,..., x k [a, b] különböző alappontok (k n), továbbá m 0, m 1,..., m k N multiplicitások úgy, hogy Legyenek adottak k m i = n + 1. i=0 f (j) (x i ) = y

Részletesebben

Eddig csak a polinom x-ben felvett értékét kerestük

Eddig csak a polinom x-ben felvett értékét kerestük Interpolációs polinom együtthatói Eddig csak a polinom x-ben felvett értékét kerestük Ez jó, ha kevés x-re kell kiértékelni Ha sok ismeretlen f (x)-et keresünk, akkor jobb kiszámolni az együtthatókat,

Részletesebben

2014/2015. tavaszi félév

2014/2015. tavaszi félév Hajder L. és Valasek G. hajder.levente@sztaki.mta.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2014/2015. tavaszi félév Tartalom Geometria modellezés 1 Geometria modellezés 2 Geometria modellezés

Részletesebben

MÉSZÁROS JÓZSEFNÉ, NUMERIKUS MÓDSZEREK

MÉSZÁROS JÓZSEFNÉ, NUMERIKUS MÓDSZEREK MÉSZÁROS JÓZSEFNÉ, NUmERIKUS módszerek 9 FÜGGVÉNYKÖZELÍTÉSEK IX. SPLINE INTERPOLÁCIÓ 1. SPLINE FÜGGVÉNYEK A Lagrange interpolációnál említettük, hogy az ún. globális interpoláció helyett gyakran célszerű

Részletesebben

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei Legkisebb négyzetek módszere, folytonos eset Folytonos eset Legyen f C[a, b]és h(x) = a 1 φ 1 (x) + a 2 φ 2 (x) +... + a n φ n (x). Ekkor tehát az n 2 F (a 1,..., a n ) = f a i φ i = = b a i=1 f (x) 2

Részletesebben

Klár Gergely 2010/2011. tavaszi félév

Klár Gergely 2010/2011. tavaszi félév Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. tavaszi félév Tartalom Virtuális világ tárolása 1 Virtuális világ tárolása 2 3 4 Virtuális világ

Részletesebben

Matematika III előadás

Matematika III előadás Matematika III. - 2. előadás Vinczéné Varga Adrienn Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Előadáskövető fóliák Vinczéné Varga Adrienn (DE-MK) Matematika III. 2016/2017/I 1 / 30 Egy

Részletesebben

Matematika III előadás

Matematika III előadás Matematika III. - 2. előadás Vinczéné Varga Adrienn Debreceni Egyetem Műszaki Kar, Műszaki Alaptárgyi Tanszék Előadáskövető fóliák Vinczéné Varga Adrienn (DE-MK) Matematika III. 2016/2017/I 1 / 23 paramétervonalak,

Részletesebben

Görbemodellezés. Interpoláció Approximáció

Görbemodellezés. Interpoláció Approximáció Görbemodellezés Interpoláció Approximáció Motiváció Mi okozhat problémát egy görbe megjelenítésekor? 1. A paraméteres alak segítségével történő megjelenítése nagyon bonyolult számításokat vehet igénybe.

Részletesebben

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. Testmodellezés Testmodellezés (Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja. A tervezés (modellezés) során megadjuk a objektum geometria

Részletesebben

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1 numerikus analízis ii 34 Ezért [ a, b] - n legfeljebb n darab gyöke lehet = r (m 1) n = r m + n 1 19 B - SPLINEOK VOLT: Ω n véges felosztás S n (Ω n ) véges dimenziós altér A bázis az úgynevezett egyoldalú

Részletesebben

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben? . Mi az (x, y) koordinátákkal megadott pont elforgatás uténi két koordinátája, ha α szöggel forgatunk az origó körül? x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs

Részletesebben

CAD technikák A számítógépes tervezés geometriai alapjai: görbék típusai, matematikai leírás, manipulációk görbékkel.

CAD technikák A számítógépes tervezés geometriai alapjai: görbék típusai, matematikai leírás, manipulációk görbékkel. A számítógépes tervezés geometriai alapjai: görbék típusai, matematikai leírás, manipulációk görbékkel. III. előadás 2008. február 25. Függvények görbék leírására Egyszerű függvények: analitikus görbék

Részletesebben

Geometriai modellezés. Szécsi László

Geometriai modellezés. Szécsi László Geometriai modellezés Szécsi László Adatáramlás vezérlés Animáció világleírás Modellezés kamera Virtuális világ kép Képszintézis A modellezés részfeladatai Geometria megadása [1. előadás] pont, görbe,

Részletesebben

3D Számítógépes Geometria II.

3D Számítógépes Geometria II. 3D Számítógépes Geometria II. 1. Bevezetés http://cg.iit.bme.hu/portal/3dgeo2 https://www.vik.bme.hu/kepzes/targyak/viiiav16 Dr. Várady Tamás, Dr. Salvi Péter BME, Villamosmérnöki és Informatikai Kar Irányítástechnika

Részletesebben

3D Számítógépes Geometria II.

3D Számítógépes Geometria II. 3D Számítógépes Geometria II. Önálló hallgatói projektek, 2018. szept. 24. http://cg.iit.bme.hu/portal/3dgeo2 https://www.vik.bme.hu/kepzes/targyak/viiiav16 Dr. Várady Tamás, Dr. Salvi Péter, Vaitkus Márton

Részletesebben

Polinomok, Lagrange interpoláció

Polinomok, Lagrange interpoláció Közelítő és szimbolikus számítások 8. gyakorlat Polinomok, Lagrange interpoláció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján 1. Polinomok

Részletesebben

Diszkréten mintavételezett függvények

Diszkréten mintavételezett függvények Diszkréten mintavételezett függvények A függvény (jel) értéke csak rögzített pontokban ismert, de köztes pontokban is meg akarjuk becsülni időben mintavételezett jel pixelekből álló műholdkép rácson futtatott

Részletesebben

3D Számítógépes Geometria II.

3D Számítógépes Geometria II. 3D Számítógépes Geometria II. 1. Bevezetés http://cg.iit.bme.hu/portal/3dgeo2 https://www.vik.bme.hu/kepzes/targyak/viiiav16 Dr. Várady Tamás, Dr. Salvi Péter BME, Villamosmérnöki és Informatikai Kar Irányítástechnika

Részletesebben

Számítógépes Grafika mintafeladatok

Számítógépes Grafika mintafeladatok Számítógépes Grafika mintafeladatok Feladat: Forgassunk a 3D-s pontokat 45 fokkal a X tengely körül, majd nyújtsuk az eredményt minden koordinátájában kétszeresére az origóhoz képest, utána forgassunk

Részletesebben

Klár Gergely 2010/2011. tavaszi félév

Klár Gergely 2010/2011. tavaszi félév Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. tavaszi félév Tartalom Pont 1 Pont 2 3 4 5 Tartalom Pont Descartes-koordináták Homogén koordináták

Részletesebben

Geometria brute force tárolása

Geometria brute force tárolása Virtuális világ tárolása - kérdések Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar Hol táruljuk az adatokat? Mem. vagy HDD? Mire optimalizálunk? Rajzolás

Részletesebben

Görbék és felületek modellezése Juhász, Imre

Görbék és felületek modellezése Juhász, Imre Görbék és felületek modellezése Juhász, Imre Görbék és felületek modellezése Juhász, Imre Miskolci Egyetem Kelet-Magyarországi Informatika Tananyag Tárház Kivonat Nemzeti Fejlesztési Ügynökség http://ujszechenyiterv.gov.hu/

Részletesebben

Matematika szigorlat június 17. Neptun kód:

Matematika szigorlat június 17. Neptun kód: Név Matematika szigorlat 014. június 17. Neptun kód: 1.. 3. 4. 5. Elm. Fel. Össz. Oszt. Az eredményes szigorlat feltétele elméletből legalább 0 pont, feladatokból pedig legalább 30 pont elérése. A szigorlat

Részletesebben

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles Matematika szigorlat, Mérnök informatikus szak I. 2013. jan. 10. Név: Neptun kód: Idő: 180 perc Elm.: 1. f. 2. f. 3. f. 4. f. 5. f. Fel. össz.: Össz.: Oszt.: Az elérhető pontszám 40 (elmélet) + 60 (feladatok)

Részletesebben

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk Fraktálok Kontrakciók Affin leképezések Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék TARTALOMJEGYZÉK 1 of 71 A Lipschitz tulajdonság ÁTMÉRŐ, PONT ÉS HALMAZ TÁVOLSÁGA Definíció Az (S, ρ) metrikus tér

Részletesebben

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan!

sin x = cos x =? sin x = dx =? dx = cos x =? g) Adja meg a helyettesítéses integrálás szabályát határozott integrálokra vonatkozóan! Matematika előadás elméleti kérdéseinél kérdezhető képletek Analízis II Határozatlan integrálszámítás g) t = tg x 2 helyettesítés esetén mivel egyenlő sin x = cos x =? g) t = tg x 2 helyettesítés esetén

Részletesebben

4. Felületek Forgásfelületek. Felületek 1. Legyen adott egy paramétersíkbeli T tartomány. A paramétersíkot az u és v koordinátatengelyekkel

4. Felületek Forgásfelületek. Felületek 1. Legyen adott egy paramétersíkbeli T tartomány. A paramétersíkot az u és v koordinátatengelyekkel Felületek 1 4. Felületek Legyen adott egy paramétersíkbeli T tartomány. A paramétersíkot az u és v koordinátatengelyekkel adjuk meg. Ekkor egy F felületet az (u, v) r(u, v), (u, v) T kétváltozós vektor-vektor

Részletesebben

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás MATLAB 5. gyakorlat Polinomok, deriválás, integrálás Menetrend Kis ZH Polinomok Numerikus deriválás Numerikus integrálás (+ anonim függvények) pdf Kis ZH Polinomok Sok függvény és valós folyamat leírható

Részletesebben

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( ) Budapesti Műszaki és Gazdaságtudományi Egyetem Gépészmérnöki Kar Hidrodinamikai Rendszerek Tanszék, Budapest, Műegyetem rkp. 3. D ép. 334. Tel: 463-6-80 Fa: 463-30-9 http://www.vizgep.bme.hu Alap-ötlet:

Részletesebben

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4 Numerikus módszerek II. zárthelyi dolgozat, megoldások, 204/5. I. félév, A. csoport. Feladat. (6p) Alkalmas módon választva egy Givens-forgatást, határozzuk meg az A mátrix QR-felbontását! Oldjuk meg ennek

Részletesebben

Totális Unimodularitás és LP dualitás. Tapolcai János

Totális Unimodularitás és LP dualitás. Tapolcai János Totális Unimodularitás és LP dualitás Tapolcai János tapolcai@tmit.bme.hu 1 Optimalizálási feladat kezelése NP-nehéz Hatékony megoldás vélhetően nem létezik Jó esetben hatékony algoritmussal közelíteni

Részletesebben

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Taylor-polinomok. 1. Alapfeladatok. 2015. április 11. 1. Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját! Taylor-polinomok 205. április.. Alapfeladatok. Feladat: Írjuk fel az fx) = e 2x függvény másodfokú Maclaurinpolinomját! Megoldás: A feladatot kétféle úton is megoldjuk. Az els megoldásban induljunk el

Részletesebben

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) Matematika A2c gyakorlat Vegyészmérnöki, Biomérnöki, Környezetmérnöki szakok, 2017/18 ősz 1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás) 1. Valós vektorterek-e a következő

Részletesebben

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei A Gauss-Jordan elimináció, mátrixinvertálás Gauss-Jordan módszer Ugyanazzal a technikával, mint ahogy a k-adik oszlopban az a kk alatti elemeket kinulláztuk, a fölötte lévő elemeket is zérussá lehet tenni.

Részletesebben

Numerikus matematika vizsga

Numerikus matematika vizsga 1. Az a = 2, t = 4, k = 3, k + = 2 számábrázolási jellemzők mellett hány pozitív, normalizált lebegőpontos szám ábrázolható? Adja meg a legnagyobb ábrázolható számot! Mi lesz a 0.8-hoz rendelt lebegőpontos

Részletesebben

17. előadás: Vektorok a térben

17. előadás: Vektorok a térben 17. előadás: Vektorok a térben Szabó Szilárd A vektor fogalma A mai előadásban n 1 tetszőleges egész szám lehet, de az egyszerűség kedvéért a képletek az n = 2 esetben szerepelnek. Vektorok: rendezett

Részletesebben

Koordináta-geometria feladatok (emelt szint)

Koordináta-geometria feladatok (emelt szint) Koordináta-geometria feladatok (emelt szint) 1. (ESZÉV Minta (2) 2004.05/7) Egy ABC háromszögben CAB = 30, az ACB = 45. A háromszög két csúcsának koordinátái: A(2; 2) és C(4; 2). Határozza meg a harmadik

Részletesebben

Feladatsor A differenciálgeometria alapja c. kurzus gyakorlatához

Feladatsor A differenciálgeometria alapja c. kurzus gyakorlatához Feladatsor A differenciálgeometria alapja c. kurzus gyakorlatához Dr. Nagy Gábor, Geometria Tanszék 2010. szeptember 16. Görbék paraméterezése 1. feladat. (A) Bizonyítsuk be a vektoriális szorzatra vonatkozó

Részletesebben

3. Görbe modellezés. Görbe modellezés 1

3. Görbe modellezés. Görbe modellezés 1 Görbe modellezés. Görbe modellezés A geometriai alakzatok modellezése során számos olyan feladat adódik, melyben megadott pontokra megadott sorrendben, görbéket kell illeszteni, vagy egy grakus tervez

Részletesebben

Legkisebb négyzetek módszere, Spline interpoláció

Legkisebb négyzetek módszere, Spline interpoláció Közelítő és szimbolikus számítások 10. gyakorlat Legkisebb négyzetek módszere, Spline interpoláció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor Vinkó Tamás London András Deák Gábor jegyzetei alapján

Részletesebben

Valasek Gábor tavaszi félév

Valasek Gábor tavaszi félév Valasek Gábor valasek@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2016-2017 tavaszi félév Tartalom Áttekintés Pont/* metszés Görbe/* metszés Felület/felület metszés Áttekintés Tartalom Áttekintés

Részletesebben

TÉRINFORMATIKAI ALGORITMUSOK

TÉRINFORMATIKAI ALGORITMUSOK Topológiai algoritmusok és adatszerkezetek TÉRINFORMATIKAI ALGORITMUSOK Cserép Máté mcserep@caesar.elte.hu 2015. november 18. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR BEVEZETŐ Topológia: olyan matematikai

Részletesebben

5 1 6 (2x3 + 4) 7. 4 ( ctg(4x + 2)) + c = 3 4 ctg(4x + 2) + c ] 12 (2x6 + 9) 20 ln(5x4 + 17) + c ch(8x) 20 ln 5x c = 11

5 1 6 (2x3 + 4) 7. 4 ( ctg(4x + 2)) + c = 3 4 ctg(4x + 2) + c ] 12 (2x6 + 9) 20 ln(5x4 + 17) + c ch(8x) 20 ln 5x c = 11 Bodó Beáta ISMÉTLÉS. ch(6 d.. 4.. 6. 7. 8. 9..... 4.. e (8 d ch (9 + 7 d ( + 4 6 d 7 8 + d sin (4 + d cos sin d 7 ( 6 + 9 4 d INTEGRÁLSZÁMÍTÁS 7 6 sh(6 + c 8 e(8 + c 9 th(9 + 7 + c 6 ( + 4 7 + c = 7 4

Részletesebben

GÖRBÉK ÉS FELÜLETEK ILLESZTÉSE KÉNYSZEREKKEL II.

GÖRBÉK ÉS FELÜLETEK ILLESZTÉSE KÉNYSZEREKKEL II. GÖRBÉK ÉS FELÜLETEK ILLESZTÉSE KÉNYSZEREKKEL II. Érdekességek a geometriai modellezésben Kovács István MIRŐL LESZ SZÓ? Kényszerek automatikus felismerése 1. Lokális kényszerek (merőlegesség, párhuzamosság,

Részletesebben

Számítógépes geometria (mester kurzus) III

Számítógépes geometria (mester kurzus) III 2010 sz, Debreceni Egyetem Felületek A felület megadása implicit: F : R 3 R, F (x, y, z) = 0 Euler-Monge: f : [a, b] [c, d] R, z = f (x, y) paraméteres: r : [a, b] [c, d] R 3 trianguláris háló direkt megadása

Részletesebben

Termék modell. Definíció:

Termék modell. Definíció: Definíció: Termék modell Összetett, többfunkciós, integrált modell (számítógépes reprezentáció) amely leír egy műszaki objektumot annak különböző életfázis szakaszaiban: tervezés, gyártás, szerelés, szervízelés,

Részletesebben

Hajder Levente 2017/2018. II. félév

Hajder Levente 2017/2018. II. félév Hajder Levente hajder@inf.elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2017/2018. II. félév Tartalom 1 2 3 Geometriai modellezés feladata A világunkat modellezni kell a térben. Valamilyen koordinátarendszer

Részletesebben

3D számítógépes geometria és alakzatrekonstrukció

3D számítógépes geometria és alakzatrekonstrukció 3D számítógépes geometria és alakzatrekonstrukció 2a. Háromszöghálók http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Dr. Salvi Péter BME, Villamosmérnöki

Részletesebben

Konjugált gradiens módszer

Konjugált gradiens módszer Közelítő és szimbolikus számítások 12. gyakorlat Konjugált gradiens módszer Készítette: Gelle Kitti Csendes Tibor Vinkó Tamás Faragó István Horváth Róbert jegyzetei alapján 1 LINEÁRIS EGYENLETRENDSZEREK

Részletesebben

Számítógépes Grafika SZIE YMÉK

Számítógépes Grafika SZIE YMÉK Számítógépes Grafika SZIE YMÉK Analóg - digitális Analóg: a jel értelmezési tartománya (idő), és az értékkészletes is folytonos (pl. hang, fény) Diszkrét idejű: az értelmezési tartomány diszkrét (pl. a

Részletesebben

10. Koordinátageometria

10. Koordinátageometria I. Nulladik ZH-ban láttuk: 0. Koordinátageometria. Melyek azok a P x; y pontok, amelyek koordinátái kielégítik az Ábrázolja a megoldáshalmazt a koordináta-síkon! x y x 0 egyenlőtlenséget? ELTE 00. szeptember

Részletesebben

TÉRINFORMATIKAI ALGORITMUSOK

TÉRINFORMATIKAI ALGORITMUSOK Topológiai algoritmusok és adatszerkezetek TÉRINFORMATIKAI ALGORITMUSOK Cserép Máté mcserep@inf.elte.hu 2017. november 22. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR BEVEZETŐ Topológia: olyan matematikai

Részletesebben

Numerikus Matematika

Numerikus Matematika Numerikus Matematika Baran Ágnes Gyakorlat Interpoláció Baran Ágnes Numerikus Matematika 6.-7. Gyakorlat 1 / 40 Lagrange-interpoláció Példa Határozzuk meg a ( 2, 5), ( 1, 3), (0, 1), (2, 15) pontokra illeszkedő

Részletesebben

Határozott integrál és alkalmazásai

Határozott integrál és alkalmazásai Határozott integrál és alkalmazásai 5. május 5.. Alapfeladatok. Feladat: + d = Megoldás: Egy határozott integrál kiszámolása a feladat. Ilyenkor a Newton-Leibniz-tételt használhatjuk, mely azt mondja ki,

Részletesebben

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont Oktatási Hivatal Öt pozitív egész szám egy számtani sorozat első öt eleme A sorozatnak a különbsége prímszám Tudjuk hogy az első négy szám köbének összege megegyezik az ezen öt tag közül vett páros sorszámú

Részletesebben

Kalkulus I. gyakorlat Fizika BSc I/1.

Kalkulus I. gyakorlat Fizika BSc I/1. . Ábrázoljuk a következő halmazokat a síkon! {, y) R 2 : + y < }, b) {, y) R 2 : 2 + y 2 < 4}, c) {, y) R 2 : 2 + y 2 < 4, + y < }, {, y) R 2 : + y < }. Kalkulus I. gyakorlat Fizika BSc I/.. gyakorlat

Részletesebben

Szendrői Balázs: Algebrai síkgörbék, szerkesztette: Ádám Liliána, Ódor Gergő, Lajos Mátyás

Szendrői Balázs: Algebrai síkgörbék, szerkesztette: Ádám Liliána, Ódor Gergő, Lajos Mátyás Algebrai síkgörbék Algebrai síkgörbéknek az olyan görbéket nevezzük, amelyek pontjai egy kétváltozós polinommal jellemezhetők. Ilyenek az egyenesek (ezek az elsőfokú síkgörbék). Másodfokú síkgörbék: pl.

Részletesebben

Többváltozós, valós értékű függvények

Többváltozós, valós értékű függvények TÖ Többváltozós, valós értékű függvények TÖ Definíció: többváltozós függvények Azokat a függvényeket, melyeknek az értelmezési tartománya R n egy részhalmaza, n változós függvényeknek nevezzük. TÖ Példák:.

Részletesebben

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1 Megoldott feladatok 00. november 0.. Feladat: Vizsgáljuk az a n = n+ n+ sorozat monotonitását, korlátosságát és konvergenciáját. Konvergencia esetén számítsuk ki a határértéket! : a n = n+ n+ = n+ n+ =

Részletesebben

Integrálszámítás. a Matematika A1a-Analízis nevű tárgyhoz november

Integrálszámítás. a Matematika A1a-Analízis nevű tárgyhoz november Integrálszámítás a Matematika Aa-Analízis nevű tárgyhoz 009. november Tartalomjegyzék I. Feladatok 5. A határozatlan integrál (primitív függvények........... 7.. A definíciók egyszerű következményei..................

Részletesebben

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7 A = {1; 3; 5; 7; 9} A B = {3; 5; 7} A/B = {1; 9} Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7 Azonos alapú hatványokat

Részletesebben

3D-s számítógépes geometria és alakzatrekonstrukció

3D-s számítógépes geometria és alakzatrekonstrukció 3D-s számítógépes geometria és alakzatrekonstrukció 2a. Háromszöghálók http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiiav08 Dr. Várady Tamás, Salvi Péter BME, Villamosmérnöki

Részletesebben

Koordinátageometriai gyakorló feladatok I ( vektorok )

Koordinátageometriai gyakorló feladatok I ( vektorok ) Koordinátageometriai gyakorló feladatok I ( vektorok./ Határozd meg az AB szakasznak azt a pontját, amely a szakaszt : ha A ( ; és a B ( ; 8!./ Adott az A ( 3 ; 5 és a ( ; 6 B pont. Számítsd ki az AB vektor

Részletesebben

HÁZI FELADATOK. 1. félév. 1. konferencia A lineáris algebra alapjai

HÁZI FELADATOK. 1. félév. 1. konferencia A lineáris algebra alapjai HÁZI FELADATOK. félév. konferencia A lineáris algebra alapjai Értékelés:. egység: önálló feladatmegoldás.8. Döntse el, párhuzamosak-e a következő vektorpárok: a) a( ; ; 7) b(; 5; ) b) c(; 9; 5) d(8; 6;

Részletesebben

KOVÁCS BÉLA, MATEMATIKA II.

KOVÁCS BÉLA, MATEMATIKA II. KOVÁCS BÉLA MATEmATIkA II 6 VI TÉRGÖRbÉk 1 Alapvető ÖSSZEFÜGGÉSEk A térgörbe (1) alakú egyenletével írható le Ez a vektoregyenlet egyenértékű az (2) skaláris egyenletrendszerrel A térgörbe három nevezetes

Részletesebben

Végeselem modellezés alapjai 1. óra

Végeselem modellezés alapjai 1. óra Végeselem modellezés alapjai. óra Gyenge alak, Tesztfüggvény, Lagrange-féle alakfüggvény, Stiness mátrix Kivonat Az óra célja, hogy megismertesse a végeselem módszer (FEM) alkalmazását egy egyszer probléma,

Részletesebben

Modellek és Algoritmusok - 2.ZH Elmélet

Modellek és Algoritmusok - 2.ZH Elmélet Modellek és Algoritmusok - 2.ZH Elmélet Ha hibát elírást találsz kérlek jelezd: sellei_m@hotmail.com A fríss/javított változat elérhet : people.inf.elte.hu/semsaai/modalg/ 2.ZH Számonkérés: 3.EA-tól(DE-ek)

Részletesebben

Felületek differenciálgeometriai vizsgálata

Felületek differenciálgeometriai vizsgálata Felületek differenciálgeometriai vizsgálata Felületek differenciálgeometriai értelemben Felület: Olyan alakzat, amely előállítható az (u,v) sík egy összefüggő tartományán értelmezett r(u,v) kétparaméteres

Részletesebben

Matematika II képletek. 1 sin xdx =, cos 2 x dx = sh 2 x dx = 1 + x 2 dx = 1 x. cos xdx =,

Matematika II képletek. 1 sin xdx =, cos 2 x dx = sh 2 x dx = 1 + x 2 dx = 1 x. cos xdx =, Matematika II előadás elméleti kérdéseinél kérdezhető képletek Matematika II képletek Határozatlan Integrálszámítás x n dx =, sin 2 x dx = sin xdx =, ch 2 x dx = sin xdx =, sh 2 x dx = cos xdx =, + x 2

Részletesebben

Matematika I. Vektorok, egyenesek, síkok

Matematika I. Vektorok, egyenesek, síkok Matematika előadás elméleti kérdéseinél kérdezhető képletek Matematika I Vektorok, egyenesek, síkok a) Hogyan számítjuk ki az a = (a 1, a 2, a 3 ) és b = (b 1, b 2, b 3 ) vektorok szögét? a) Hogyan számítjuk

Részletesebben

Síkgörbék. 1. Készítsünk elfogadható ábrát a G: t frac(1/t) leképezés gráfjáról. (frac a törtrész függvény, ez a Maple függvénynév is.

Síkgörbék. 1. Készítsünk elfogadható ábrát a G: t frac(1/t) leképezés gráfjáról. (frac a törtrész függvény, ez a Maple függvénynév is. Síkgörbék 1. Készítsünk elfogadható ábrát a G: t frac(1/t) leképezés gráfjáról. (frac a törtrész függvény, ez a Maple függvénynév is.) 2. (n szirmú virág.) Legyen r(t) = sin(nt), (0 t 2π). Ábrázoljuk polár

Részletesebben

Egyenletek, egyenlőtlenségek VII.

Egyenletek, egyenlőtlenségek VII. Egyenletek, egyenlőtlenségek VII. Magasabbfokú egyenletek: A 3, vagy annál nagyobb fokú egyenleteket magasabb fokú egyenleteknek nevezzük. Megjegyzés: Egy n - ed fokú egyenletnek legfeljebb n darab valós

Részletesebben

3D számítógépes geometria és alakzatrekonstrukció

3D számítógépes geometria és alakzatrekonstrukció 3D számítógépes geometria és alakzatrekonstrukció 12. Tömör testek modellezése http://cg.iit.bme.hu/portal/node/312 https://www.vik.bme.hu/kepzes/targyak/viiima01 Dr. Várady Tamás, Dr. Salvi Péter BME,

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I 16 XVI A DIFFERENCIÁLSZÁmÍTÁS ALkALmAZÁSAI 1 Érintő ÉS NORmÁLIS EGYENES, L HOSPITAL-SZAbÁLY Az görbe abszcisszájú pontjához tartozó érintőjének egyenlete (1), normálisának egyenlete

Részletesebben

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak 1. Generátorrendszer Generátorrendszer. Tétel (Freud, 4.3.4. Tétel) Legyen V vektortér a T test fölött és v 1,v 2,...,v m V. Ekkor a λ 1 v 1 + λ 2 v 2 +... + λ m v m alakú vektorok, ahol λ 1,λ 2,...,λ

Részletesebben

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi Gyakorló feladatok Agbeko Kwami Nutefe és Nagy Noémi 25 Tartalomjegyzék. Klasszikus hibaszámítás 3 2. Lineáris egyenletrendszerek 3 3. Interpoláció 4 4. Sajátérték, sajátvektor 6 5. Lineáris és nemlineáris

Részletesebben

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok Numerikus matematika Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, 2007 Lebegőpontos számok Normák, kondíciószámok Lineáris egyenletrendszerek Legkisebb négyzetes

Részletesebben

Felügyelt önálló tanulás - Analízis III.

Felügyelt önálló tanulás - Analízis III. Felügyelt önálló tanulás - Analízis III Kormos Máté Differenciálható sokaságok Sokaságok Röviden, sokaságoknak nevezzük azokat az objektumokat, amelyek egy n dimenziós térben lokálisan k dimenziósak Definíció:

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA MATEmATIkA I 6 VI KOmPLEX SZÁmOk 1 A komplex SZÁmOk HALmAZA A komplex számok olyan halmazt alkotnak amelyekben elvégezhető az összeadás és a szorzás azaz két komplex szám összege és szorzata

Részletesebben

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx =

Matematika II. 1 sin xdx =, 1 cos xdx =, 1 + x 2 dx = Matematika előadás elméleti kérdéseinél kérdezhető képletek Matematika II Határozatlan Integrálszámítás d) Adja meg az alábbi alapintegrálokat! x n 1 dx =, sin 2 x dx = d) Adja meg az alábbi alapintegrálokat!

Részletesebben

Numerikus integrálás április 18.

Numerikus integrálás április 18. Numerikus integrálás 2016. április 18. Integrálás A deriválás papíron is automatikusan elvégezhető feladat. Az analitikus integrálás ezzel szemben problémás vannak szabályok, de nem minden integrálható

Részletesebben

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz Debreceni Egyetem Közgazdaságtudományi Kar Feladatok a Gazdasági matematika II tárgy gyakorlataihoz a megoldásra ajánlott feladatokat jelöli e feladatokat a félév végére megoldottnak tekintjük a nehezebb

Részletesebben

TÉRINFORMATIKAI ÉS TÁVÉRZÉKELÉSI ALKALMAZÁSOK FEJLESZTÉSE

TÉRINFORMATIKAI ÉS TÁVÉRZÉKELÉSI ALKALMAZÁSOK FEJLESZTÉSE Topológiai algoritmusok és adatszerkezetek TÉRINFORMATIKAI ÉS TÁVÉRZÉKELÉSI ALKALMAZÁSOK FEJLESZTÉSE Cserép Máté mcserep@caesar.elte.hu 2015. május 5. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR BEVEZETŐ

Részletesebben

Gauss-Seidel iteráció

Gauss-Seidel iteráció Közelítő és szimbolikus számítások 5. gyakorlat Iterációs módszerek: Jacobi és Gauss-Seidel iteráció Készítette: Gelle Kitti Csendes Tibor Somogyi Viktor London András Deák Gábor jegyzetei alapján 1 ITERÁCIÓS

Részletesebben

1 Lebegőpontos számábrázolás

1 Lebegőpontos számábrázolás Tartalom 1 Lebegőpontos számábrázolás... 2 2 Vektornormák... 4 3 Indukált mátrixnormák és tulajdonságaik... 5 4 A lineáris rendszer jobboldala hibás... 6 5 A kondíciószám és tulajdonságai... 7 6 Perturbációs

Részletesebben

Egy általános iskolai feladat egyetemi megvilágításban

Egy általános iskolai feladat egyetemi megvilágításban Egy általános iskolai feladat egyetemi megvilágításban avagy mit kell(ene) tudnia egy 8.-osnak a matematika versenyeken Kunos Ádám Középiskolás pályázat díjkiosztó SZTE Bolyai Intézet 2011. november 12.

Részletesebben

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Számsorozatok, vektorsorozatok konvergenciája Def.: Számsorozatok értelmezése:

Részletesebben

Függvény határérték összefoglalás

Függvény határérték összefoglalás Függvény határérték összefoglalás Függvény határértéke: Def: Függvény: egyértékű reláció. (Vagyis minden értelmezési tartománybeli elemhez, egyértelműen rendelünk hozzá egy elemet az értékkészletből. Vagyis

Részletesebben

Matematikai háttér. 3. Fejezet. A matematika hozzászoktatja a szemünket ahhoz, hogy tisztán és világosan lássa az igazságot.

Matematikai háttér. 3. Fejezet. A matematika hozzászoktatja a szemünket ahhoz, hogy tisztán és világosan lássa az igazságot. 3. Fejezet Matematikai háttér A matematika hozzászoktatja a szemünket ahhoz, hogy tisztán és világosan lássa az igazságot René Descartes Számtalan kiváló szakirodalom foglalkozik a különféle differenciálegyenletek

Részletesebben

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( ) Trigonometria Megoldások Trigonometria - megoldások ) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( ) akkor a háromszög egyenlő szárú vagy derékszögű!

Részletesebben