´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ ıtog ´ epes ´ Szam´ Grafika ´ Valasek G. Hajder L. es
[email protected] ¨ os ¨ Lorand ´ ´ Eotv Tudomanyegyetem Informatikai Kar
´ ev ´ 2014/2015. tavaszi fel
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
Tartalom
1
´ Geometria modellezes
2
¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨ ´Altalanos ´ ´ le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ feladata Geometria modellezes
´ Geometriai alakzatok egzakt le´ırasa Pontok ¨ ek ´ Gorb Testek Feluletek ¨ stb.
´ esek ´ Kerd Hogyan adjuk meg ezeket a halmazokat? ˝ Hogyan lehet oket kirajzolni?
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ ´ Esettanulmany: egyenes le´ırasa
¨ elek ´ eppen, ´ ´ aul: ´ Egyenes megadhato´ tobbf peld y = ax+b x 0 1 = +λ y b a
´ Tanulsag: ´ es ´ Feladattol ´ is fugghet ´ ´ ´ Dimenziotol a modszer kivalaszt asa ¨
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Tartalom
1
´ Geometria modellezes
2
¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨ ´Altalanos ´ ´ le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
¨ ek, ´ feluletek ´ Gorb le´ırasa ¨
¨ eket, ´ ¨ e´ az egyenes es ´ a s´ık is Az gorb feluleteket (amik koz ¨ tartozik) egy-egy ponthalmaznak tekintjuk. ¨ Hogyan adjuk meg ezeket a halmazokat? explicit: y = f (x) → mi van ha vissza akarjuk ”ford´ıtani”? implicit: f (x, y ) = 0 x(t) parametrikus: p(t) = ,t ∈ R y (t)
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ ˝ Pelda # 1: fugg tengelyu˝ parabola 2D-ben ¨ oleges
˝ ´ nem altal ´ anos) ´ A fugg tengelyu˝ (tehat parabola ¨ oleges ´ le´ırasa: explicit: y = ax 2 + bx + c implicit: ax 2 − y + bx + c = 0 t x(t) parametrikus: p(t) = = ,t ∈ R y (t) at 2 + bt + c
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ ´ anos ´ ´ ¨ Pelda # 2: altal helyzetu˝ (terbeli) gomb T ¨ ´ ¨ eppont ´ ´ sugar ´ Gomb parameterei: koz ( x0 y0 z0 ) es (r ). ´ modok: ´ Le´ırasi 2 2 2 2 implicit: (x − xp 0 ) + (y − y0 ) + (z − z0 ) − r = 0 explicit: z = ± r 2 − (x − x0 )2 − (y − y0 )2 + z0 Parametrikus:
x(t) r sin(u) cos(v ) p(t) = y(t) = r sin(u) sin(v ) y (t) r cos(u) v ∈ [−π, π), u ∈ [0, π]
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Tartalom
1
´ Geometria modellezes
2
¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨ ´Altalanos ´ ´ le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ parabola Specialis
´ Az y tengelyu, u´ parabola ˝ (0, p) fokuszpont Implicit egyenlete: x 2 − 4py = 0 x2 Explicit egyenlete: y = 4p 2
t T Parametrikus egyenlete: p(t) = [t, 4p ] ,t ∈R
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ e´ specialis ´ parabola Kevesb
Mi van, ha a c = cx ´ a parabolat?
´ ol ´ cy ponttal akarjuk eltolni az origob
´ explicit alakban be kell vinni a (cx , cy ) Az implicit es ´ akat ´ ˝ (x − cx )2 − 4p(y − cy ) = 0 koordinat (pl. implicitbol lesz) Parametrikus alakban egyszeruen p(t) + c lesz az uj ˝ ´ alak.
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ anos ´ Altal helyzetu˝ parabola
Implicit egyenlet: Ax 2 + Bxy + Cy 2 + Dx + Ey + F = 0, ´ felteve, hogy B 2 = 4AC. ´ alkalmazzak ´ Tul ´ bonyolult, ritkan
´ bonyolultabb, teljes negyzett ´ ´ Explicit: Meg e´ alak´ıtassal ˝ ´ Parametrikus: fugg tengelyu˝ parabola elforgatassal ¨ oleges h i t2 t2 p(t) = cos(φ)t − sin(φ) 4p + cx , cos(φ) 4p + sin(φ)t + cy cx , cy , t ∈ R, φ ∈ [−π, π)
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
¨ Kor
¨ eppont ´ ¨ egy A c ∈ R2 koz u, ´ r sugaru´ kor Implicit egyenlete: (x − cx )2 + (y − cy )2 − r 2 = 0 ´ kort ¨ le´ırni egy Explicit alakban nem tudjuk az egesz ´ ´ fuggv ennyel (DE k et darabban menne, pl. c = 0, r = 1 ¨ √ mellett y = ± 1 − x 2 , ahol x ∈ [−1, 1]) Parametrikus egyenlete: p(t) = r [cos t, sin t]T + c, ahol t ∈ [0, 2π)
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
Ellipszis
¨ eppont ´ ´ A c ∈ R2 koz u, az x tengellyel ´ nagytengelyevel ´ ´ 2b kistengelyu˝ ellipszis parhuzamos, 2a nagytengelyu˝ es egy 2
(y−c )2
x) Implicit egyenlete: (x−c + b2 y − 1 = 0 a2 ´ elobb ˝ Explicit alakban: lasd Parametrikus egyenlete: p(t) = [a cos t, b sin t]T + c, ahol t ∈ [0, 2π)
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Ellipszis
De mi van, ha nem akarjuk, hogy x, y tengellyel ´ parhuzamosak legyenek a tengelyeink? Implicit egyenlet: Ax 2 + Bxy + Cy 2 + Dx + Ey + F = 0, ´ felteve, hogy B 2 < 4AC. ´ bonyolult... Eleg
´ ellipszisbol ˝ baziscsere ´ Parametrikus egyenlete: specialis ´ evel ´ seg´ıtseg kapjuk: ha az uj ´ tengelyek k, l, akkor p(t) = a cos tk + b sin tl + c, ahol t ∈ [0, 2π) ´ l tengelyek egy szog ¨ (elforgatas) ´ seg´ıtseg ´ evel ´ k es ˝ kifejezhetoek.
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Szakasz
´ pont, a, b ∈ E3 . A ket ´ ponton atmen ´ Legyen adott ket o˝ egyenes parametrikus egyenlete:
p(t) = (1 − t)a + tb, ahol t ∈ R. ¨ ¨ o˝ egyenes Ha t ∈ [0, 1], akkor az a, b pontokat osszek ot szakaszt kapjuk.
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Egyenes ´ Parameteres egyenlet: p0 + λd Explicit egyenlete: y = a0 x + b0 Implicit egyenlete: ax + by + c = 0 ´ az ´ asra ´ ´ eketlen: ´ Skal erz νax + νby + νc = 0
´ AT X = 0 ahol Implicit egyenlet vektoros alakban is ´ırhato: T A= a b c T X = x y 1 ´ X skal ´ az ´ asra ´ ´ eketlen. ´ A es erz ´ koordinatak ´ ent. ´ ´ koordinat ´ ara ´ X felfoghato´ homogen Valos ´ er ´ es ´ eseten ´ a harmadik koordinat ´ aval ´ att osztani kell! ´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ egyenes metszespontja ´ Ket Implicit egyenletekkel: Elso˝ egyenes: AT1 X = 0 ´ Masodik egyenes: AT2 X = 0 ´ ´ egyenlet egyuttes ´ BX = 0, Metszespont: ket megoldasa ¨ ahol T A B = 1T A2 ´ B merete: 2 × 3, B nulltere (pontosabban: nullvektora) adja ´ a megoldast ´ koordinat ´ akban ´ ´ A nullvektor homogen adja az eredmenyt!
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ egyenes metszespontja ´ Ket ´ Parameteres egyenletekkel: (1)
Elso˝ egyenes: p0 + λ(1) d(1) (2) ´ Masodik egyenes: p0 + λ(2) d(2)
´ ´ egyenlet koz ¨ os ¨ megoldasa: ´ Metszespont: a ket (1)
(2)
p0 + λ(1) d(1) = p0 + λ(2) d(2) ´ aban ´ Mivel 2D-ben vagyunk, ez valoj 2 egyenlet. ´ ´ egyenlet megoldas ´ ab ´ ol ´ Metszespont a megfelelo˝ linearis ¨ jon:
(1) λ(1) (2) −1 p(2) − p(1) = d −d 0 0 λ(2)
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Spline-ok
¨ ¨ eload ˝ as ´ lesz rola. ´ Olyan fontos gorbele´ ıro´ elem, hogy kul ¨ on
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
¨ ek ´ parametrikus alakja Gorb
´ Derivaltak: p(i) (t) = [x (i) (t), y (i) (t)]T , t ∈ [...], i = 0, 1, 2, ... ¨ et ´ egy mozgo´ pont paly ´ aj ´ anak ´ Ha a gorb tekintjuk, ¨ akkor az ´ a sebessegnek ´ ˝ a masodik ´ elso˝ derivalt tekintheto, a ´ gyorsulasnak stb. ´ sebesseg, ´ gyorsulas ´ eseten ´ t ∈ R az idot ˝ jeloli. ¨ Valodi
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Tartalom
1
´ Geometria modellezes
2
¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨ ´Altalanos ´ ´ le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Megadas
Explicit: z = f (x, y) Implicit: f (x, y , z) = 0 Parametrikus: p(u, v ) = [x(u, v ), y(u, v ), z(u, v )]T , (u, v ) ∈ [a, b] × [c, d]
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
S´ık ´ ´ p0 + λ1 d1 + λ2 d2 Parameteres megadas: Implicit egyenlete: ax + by + cz + d = 0 ´ az ´ asra ´ ´ eketlen: ´ Skal erz νax + νby + νcz + νd = 0
´ AT X = 0 ahol Implicit egyenlet vektoros alakban is ´ırhato: T A= a b c d T X = x y z 1 ´ X skal ´ az ´ asra ´ ´ eketlen. ´ A es erz ´ koordinatak ´ ent. ´ ´ koordinat ´ ara ´ X felfoghato´ homogen Valos ´ er ´ es ´ eseten ´ a negyedik koordinat ´ aval ´ att osztani kell!
´ normalvektorral ´ Ponttal (p0 ) es (n) megadott s´ık implicit T egyenlete: n (p − p0 ) = 0 ´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ s´ık metszesvonala ´ Ket Implicit egyenletekkel: Elso˝ s´ık: AT1 X = 0 ´ Masodik s´ık: AT2 X = 0 ´ ´ s´ık egyuttes ´ BX = 0, ahol Metszesvonal: ket megoldasa ¨
B=
T A1 AT2
´ ´ v2 B merete: 2 × 4, B nulltere 2 vektor: v1 es Egyenes pontjai: αv1 + βv2 ´ koordinat ´ aban ´ Pontok homogen vannak, osztani kell az ´ aval ´ utolso´ koordinat
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ s´ık metszesvonala ´ Ket ´ Parameteres egyenletekkel: (1)
(1) (1)
(1) (1)
Elso˝ s´ık: p0 + λ1 d1 + λ2 d2 (2) (2) (2) (2) (2) ´ Masodik s´ık: p0 + λ1 d1 + λ2 d2
´ ´ egyenlet koz ¨ os ¨ megoldasa: ´ Metszesvonal: a ket
(1)
(1) (1)
(1) (1)
(2)
(2) (2)
(2) (2)
p0 + λ1 d1 + λ2 d2 = p0 + λ1 d1 + λ2 d2
´ aban ´ Mivel 3D-ben vagyunk, ez valoj 3 egyenlet, 4 (1) (1) (2) (2) ismeretlennel (λ1 , λ2 , λ1 , λ2 ). ´ egy parametert ´ ´ Megoldas: szabadon megvalaszthatunk, a ´ ´ ´ egyenletrendszerbol ˝ szam´ ´ ıthato. ´ masik harom a linearis ´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Feluletek feluleti normalisa ¨ ¨ ´ ´ Defin´ıcio´ szerint a felulet egy adott pontjaban az ¨ normalisa ´ ˝ ık normalisa. ´ erint os´ A parametrikus alakban adott a felulet: ¨ n(u, v ) = ∂u p(u, v ) × ∂v p(u, v ) ´ ´ ast ´ jelenti, ∂v a v a ∂u az u parameter szerinti derival szerintit.
´ Implicit alakban (f (x, y , z) = 0) adott feluletn el ¨ n(x, y, z) = ∇f , ahol ∇f = [fx , fy , fz ]T ∂f ∂f ∂f ´ fz = ∂z ahol fx = ∂x , fy = ∂y es ´ mindez igaz mas ´ dimenzioban. ´ Megjegyzes: Pl. 2D-ben ´ ˝ ık helyett erint ´ ˝ ´ erint os´ oegyenes, 4D-ben erint o˝ als´ık...stb.
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
¨ Gomb Implicit: (x − cx )2 + (y − cy )2 + (z − cz )2 = r 2 Parametrikus: p(u, v ) = r [cos u sin v , sin u sin v , cos v ]T + c (u, v ) ∈ [0, 2π) × [0, π]
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ ellipszoid Specialis ´ (tengelyei parhuzamosak ´ ´ Specialis a koordinatatengellyel) ellipszoid egyenlete: Implicit:
(x−cx )2 a2
+
(y−cy )2 b2
+
(z−cz )2 c2
−1=0
Parametrikus: p(u, v ) = [a cos u sin v , b sin u sin v , c cos v ]T + c, (u, v ) ∈ [0, 2π) × [0, π]
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
Egyszeru˝ paraboloid Explicit:
z c
=
x2 a2
+
y2 b2 2
2
Parametrikus: p(u, v ) = [u, v , c ua2 + c vb2 ]T ´ A paraboloid tengelye a z tengellyel parhuzamos
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika
´ Geometria modellezes ¨ ek ´ es ´ feluletek Egyszeru˝ gorb ¨
´ anos ´ ´ Altal le´ıras ¨ ek ´ Gorb Feluletek ¨
´ Amire figyelni erdemes
´ ´ aban ´ Matematikaban altal a felfele´ mutato´ tengelynek a z tengelyt tekintik ´ ˝ ´ a ”vart” ´ kepet ´ A fenti kepletek is ennek megfeleloen adjak ´ ´ Grafikaban viszont sokszor az y mutat felfele!
´ Valasek G.
[email protected] Hajder L. es
´ ıtog ´ epes ´ Szam´ Grafika