Számítógépi geometria

Kovács, Zoltán

Új Széchenyi Terv logó.

Nyíregyházi Főiskola

Kelet-Magyarországi Informatika Tananyag Tárház

Kivonat

Nemzeti Fejlesztési Ügynökség http://ujszechenyiterv.gov.hu/ 06 40 638-638

Lektor

Dr. Verhóczki László

ELTE

A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-Magyarországi Informatika Tananyag Tárház projekt keretében valósult meg.


Tartalom

Előszó
1. Geometriai transzformációk
1.1. Matematikai alapok: szokásos euklideszi struktúrája
1.2. Affin transzformációk
1.3. Projektív transzformációk
2. Vetítések
2.1. A térből a képernyőre
2.1.1. Ortogonális vetítés.
2.1.2. Párhuzamos vetítés.
2.1.3. Centrális vetítés.
2.2. Szemléletes kép készítése
2.2.1. Ortogonális axonometria.
2.2.2. Hasonlóság és centrális projekció szorzata.
2.3. Ferde axonometria és centrális axonometria
3. Szabad formájú görbék modellezése
3.1. Parametrizált görbék
3.2. A keverési elv
3.3. Szplájnok
3.4. Lagrange-interpoláció
3.5. Harmadfokú Hermite-görbék
3.5.1. Három pont interpolációja harmadfokú görbeívvel a síkban.
3.5.2. Az interpolációs alapfeladat osztályú megoldása harmadfokú Hermite-ívekkel.
3.5.3. Az interpolációs alapfeladat osztályú megoldása harmadfokú Hermite-ívekkel.
3.6. Bézier-görbék
3.6.1. A Bernstein-polinomok.
3.6.2. Bézier-görbék.
3.6.3. Bézier-görbe deriváltja.
3.6.4. Pont a Bézier-görbén: a de Casteljau-algoritmus.
3.6.5. Bézier-görbe fokszám emelése
3.6.6. Kvadratikus, osztályú Bézier-szplájn.
3.6.7. Kubikus osztályú Bézier-szplájn.
3.6.8. Racionális Bézier görbék
3.7. B-szplájn görbék
3.7.1. A kvadratikus uniformális B-szplájn.
3.7.2. A kubikus uniformális B-szplájn.
3.7.3. A B-szplájn függvények.
3.7.4. Pont a B-szplájn görbén: a de Boor-algoritmus.
3.8. NURBS-görbék
4. Felületek tervezése
4.1. A felület fogalma
4.2. Példák felületekre
4.3. Tenzorszorzat-felületek
4.3.1. Bikubikus Hermite-felület.
4.3.2. Bézier-négyszögfelületek.
4.3.3. B-szplájn felületek.
Irodalomjegyzék

Az ábrák listája

1.1. Háromszöglemez kifelé mutató normálisa
1.2. Irányított sokszöglemez láthatósága. A kamera az ábrán látható lap belső oldalát látja.
1.3. Lambert-féle koszinuszszabály. A modell megvilágításánál a szürkeárnyalat intenzitását az (1.2) reláció alapján számoltuk nemcsak a megvilágított, hanem a nem megvilágított lapokra is.
1.4. Affin transzformáció
1.5. Elforgatás az origó körül
1.6. Tengelyes tükrözés origón áthaladó egyenesre
1.7. Két dimenziós robotkar rotációs csuklókkal
1.8. Robotkar megadása a szegmensek hosszával és a csatlakozó szegmensek szögével
1.9. Projektív transzformáció: alakzat és képe
2.1. A fejezetben használt modell. A kocka oldalai a koordinátatengelyekkel párhuzamosak, a csonkolt csúccsal szemközti csúcs az origóban van.
2.2. A modell merőleges vetülete a képernyőre
2.3. Párhuzamos vetítés
2.4. A lyukkamera (camera obscura) képalkotása
2.5. A képsík és a centrum geometriai elhelyezése. A képsík az A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. sík, a vetítés A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. centruma a A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. tengely A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. pontja.
2.6. A modell centrális vetülete. A centrum a A modell centrális vetülete. A centrum a z tengelyen van és harmadik koordinátája ez esetben pozitív. A nem látható éleket vékonyabb vonallal rajzoltuk. tengelyen van és harmadik koordinátája ez esetben pozitív. A nem látható éleket vékonyabb vonallal rajzoltuk.
2.7. Hamis perspektíva: példa Vasarely stílusában. A piros pöttyök az eredeti képen egybevágó körök voltak.
2.8. Ortogonális axonometria: merőleges vetítés a képernyőre a modell ortogonális transzformációja után
2.9. Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. tengelyen van, a modellt az Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. tengely körül forgattuk. Az ábrán Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. és Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. jelöli az Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. és Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. tengely végtelen távoli pontjának képét.
2.10. Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk. tengelyen van, a modellt az Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk. tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk.
2.11. Három iránypontos perspektíva. A modelltranszformáció során az Három iránypontos perspektíva. A modelltranszformáció során az x tengely körül is forgattuk. tengely körül is forgattuk.
2.12. Standard izometrikus axonometria
2.13. 45^{\circ} -izometrikus axonometria-izometrikus axonometria
2.14. 42^{\circ}/7^{\circ} -dimetrikus axonometria-dimetrikus axonometria
2.15. Cabinet-dimetrikus axonometria
2.16. A centrális axonometria bázisalakzata
3.1. Hengeres csavarvonal
3.2. A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe \mathbf{p}_{0} -tól indulna és \mathbf{p}_{4} -ben végződne, vö. 3.3. ábra.-tól indulna és A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe \mathbf{p}_{0} -tól indulna és \mathbf{p}_{4} -ben végződne, vö. 3.3. ábra.-ben végződne, vö. 3.3. ábra.
3.3. Lagrange-interpoláció ekvidisztáns paraméterrendszerrel (piros görbe) és arányos paraméterezéssel (kék görbe).
3.4. A Runge-függvény (kékkel) és interpolációja 15-öd fokú Lagrange-interpolációs polinommal, mely ekvidisztáns csomópontokhoz tartozik
3.5. A Runge-függvény (kékkel) és interpolációja 15-öd fokú Lagrange-interpolációs polinommal, mely Csebisev-féle csomópontokhoz tartozik
3.6. Harmadfokú görbeív a geometriai együtthatókkal
3.7. A harmadfokú görbeív függése a végpontjaiban adott sebességvektorok irányától
3.8. A harmadfokú görbeív függése a végpontjaiban adott sebességvektorok nagyságától
3.9. Három pont interpolációja harmadfokú görbeívvel
3.10. Görbeillesztés Hermite-eljárással: Görbeillesztés Hermite-eljárással: C^{1} -osztályú interpolációs görbe-osztályú interpolációs görbe
3.11. Ötödfokú Bernstein-polinomok grafikonja a Ötödfokú Bernstein-polinomok grafikonja a [0,1] intervallumon intervallumon
3.12. A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: B_{n-1}^{n} , (n=1\ldots16 ) grafikonja, (A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: B_{n-1}^{n} , (n=1\ldots16 ) grafikonja) grafikonja
3.13. Harmadfokú Bézier-görbe és a kontrollpoligonja
3.14. A de Casteljau algoritmus
3.15. Harmadfokú Bézier-görbe rajzolása a de Casteljau-algoritmus alapján. A felező algoritmust ötször hajtottuk végre.
3.16. Bézier-görbe rajzolása szelektív mintavételezéssel (Bézier-görbe rajzolása szelektív mintavételezéssel (n=9 ). Az ábrán a poligonális approximációhoz használt pontokat is berajzoltuk.). Az ábrán a poligonális approximációhoz használt pontokat is berajzoltuk.
3.17. Bézier-görbe fokszám emelése: ugyanazon görbét előállítottuk harmad-, negyed-, ötöd- és hatodfokú Bézier-görbeként is
3.18. Az ábrán látható kvadratikus Bézier-szplájn úgy készült, hogy felvettem a modellezendő szabadformájú görbén néhány kontrollpontot (telt piros) és ezekben (hozzávetőleges) érintőt húztam a görbéhez. Az érintők metszéspontjai adták a szplájn hiányzó kontrollpontjait.
3.19. C^{2} osztályú kubikus Bézier-szplájnosztályú kubikus Bézier-szplájn
3.20. Kubikus, Kubikus, C^{2} osztályú Bézier-szplájn. Fekete vonal: a de Boor-poligon, piros vonal: a szplájn ekvidisztáns csomópontokkal, kék vonal: a szplájn arányosan felvett csomópontokkal. osztályú Bézier-szplájn. Fekete vonal: a de Boor-poligon, piros vonal: a szplájn ekvidisztáns csomópontokkal, kék vonal: a szplájn arányosan felvett csomópontokkal.
3.21. A Böhm-szerkesztés ekvidisztáns csomópontokkal
3.22. Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1. súlyának változásával. (Kék: Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1., zöld: Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1., piros: Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1.. A többi kontrollpont súlya 1.
3.23. Harmadfokú racionális Bézier-görbe negatív súllyal. Az ábrán harmadfokú racionális Bézier görbe látható, Harmadfokú racionális Bézier-görbe negatív súllyal. Az ábrán harmadfokú racionális Bézier görbe látható, r_{1}=-0,5 , megfigyelhetjük, hogy a konvex burokban maradás tulajdonsága nem teljesül., megfigyelhetjük, hogy a konvex burokban maradás tulajdonsága nem teljesül.
3.24. Kvadratikus B-szplájn görbeív
3.25. Kvadratikus uniformális B-szplájn függvények.
3.26. Kvadratikus UBS.
3.27. A kontrollpontok súlyfüggvényei az előző ábrában. Piros: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} . súlyfüggvénye, zöld: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} ., kék: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} ., szilva: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} ..
3.28. Zárt kvadratikus UBS
3.29. Kubikus (uniformális) B-szplájn függvények.
3.30. Ugyanazon kontrollpoligonhoz tartozó kvadratikus (pirossal) és kubikus (kékkel) B-szplájn
3.31. Példák kvadratikus B-szplájn függvényekre
3.32. Példák kvadratikus B-szplájn függvényekre
3.33. Példák kvadratikus B-szplájn függvényekre
3.34. B-szplájn görbék
3.35. Racionális B-szplájn görbék: a Racionális B-szplájn görbék: a \mathbf{p}_{5} kontrollpont súlyának változtatásával alakítottuk a görbét. kontrollpont súlyának változtatásával alakítottuk a görbét.
4.1. Ismerős felület: gömb
4.2. Ismerős felület: henger
4.3. Ismerős felület: kúp
4.4. Parametrizált forgásfelület
4.5. Tórusz
4.6. Hengerfelület
4.7. Kúpfelület
4.8. Loft felület két ellipszis között
4.9. Coons-felület, melyet négy parabolaív határol
4.10. Hengeres csavarvonalra húzott tubus
4.11.
4.12. A 4.11. ábra szerinti Ferguson-felület úgy módosítva, hogy A 4.11. ábra szerinti Ferguson-felület úgy módosítva, hogy \mathbf{p}_{uv}(0,1)\neq\mathbf{0}
4.13. Két Hermite-görbe közötti lineáris interpoláció
4.14. Bikubikus Bézier-négyszögfelület a kontrollhálójával
4.15. B-szplájn felület: B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1)
4.16. Egyik irányban zárt B-szplájn felület: Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8) (az ismétlések miatt), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8)
4.17. Bikvadratikus B-szplájn felület; a síkból csak egyetlen kontrollpont lép ki, a „hegy” csak ennek a környékén emelkedik ki a síkból

A táblázatok listája

4.1. A másodrendű felületek izometria osztályai

Előszó

A Debreceni Egyetemen és a Nyíregyházi Főiskolán tíz éve tartok (időközben változó nevekkel) Számítógépi geometria kurzusokat előbb alkalmazott matematikus, majd a Bologna-rendszerű képzésben programtervező informatikus és matematikus hallgatóknak. A kurzusok anyaga öltött testet ebben a jegyzetben.

Mindenekelőtt magyarázattal tartozom a címet illetően. Ha pontosan ki akarnám fejteni a címet, akkor inkább a Számítógépi grafika matematikai alapjai vagy Ábrázoló geometria számítógéppel nevet kellene választani, hangsúlyozva, hogy itt nem számítógépi grafikáról van szó. Pontos határvonalat meghúzni persze nehéz lenne a két terület között, így egyszerűen úgy fogalmazok, hogy raszterizáción innen és túl. Nagyon vázlatosan bontsuk fel lépésekre az „ötlettől a megvalósításig” folyamatot, mondjuk egy térben elképzelt jelenetből hogyan lesz monitoron megjelenő (raszterizált) kép. A monitort most diszkrét képpontok hálót alkotó rendszerének tekintjük, a kép leegyszerűsítve annyit jelent, hogy minden képpontról megmondjuk, hogy milyen színű.

  1. ötlet (terv, rajzvázlat, leírás)

  2. a matematikai modell megalkotása

  3. a modell transzformációja a térben

  4. vetítés a képernyő síkjára

  5. a kép transzformációja

  6. raszterizáció

  7. raszteres algoritmusok

  8. raszterizált kép.

A jegyzet tárgya a fenti folyamat 2-5. lépése, amely csak matematikai eljárásokat igényel. A raszterizáció folyamán lesznek a matematikai objektumokból képpontok, amelyekre esetleg még különböző eljárásokat, ún. raszteres algoritmusokat alkalmazhatunk. (Ilyenek lehetnek pl. a fototechnikában gyökerező eljárások, mint az elmosás, kontraszt nyújtás, stb.)

Bizonyos problémákat lehet matematikailag és raszteresen is kezelni. Például egy konvex poliéder lapjainak láthatósága (azaz egy adott lap látszik-e a képen vagy sem) jól kezelhető matematikailag is, ugyanakkor a láthatóság általános problémáját inkább raszteres algoritmusokkal lehet egyszerűbben kezelni.

Az anyag összeállításában igyekeztem mértéktartónak maradni, az egy féléves bevezető kurzus tematikáját így a jegyzet alig haladja meg. Természetesen a további tanulmányok alatt szinte mindegyik anyagrész tovább gyarapítható, illetve számos, itt nem tárgyalt fontos témakör elsajátítására nyílik lehetőség.

Az elméleti kurzushoz tartozó gyakorlatokon programozási feladatok is szerepelnek. Bár az itt leírtak a számítógépi grafika általános alapjaihoz tartoznak, a jegyzet szemléletéhez a vektoros grafika illik jobban. Így a gyakorlatokon a programozás PostScript nyelven történik. Remélhetőleg a jegyzet rövidesen kiegészülhet PostScript gyakorlatokkal is. Bízom benne, hogy az anyag és a benne közölt pszeudokódok nyelvtől függetlenül is jól használhatók. (Ezt bizonyítja, hogy a kiírt feladatokra a legkülönbözőbb programnyelveken kapok megoldásokat hallgatóimtól, például Nokia mobiltelefonra írt programokat is kaptam már.) További érv a PostScript nyelv mellett, hogy a programozásban kevésbé járatos matematikus hallgatók is jól boldogulnak vele, továbbá az ablakozás problémakörét ki lehet kerülni. A pszeudokódoknál a programrészek összetartozását behúzással jelölöm, tehát „end” utasításokat nem használok.

A jegyzet sikeres feldolgozása megköveteli a bevezető lineáris algebra kurzus, valamint a differenciálszámítás biztos ismeretét. A klasszikus euklideszi vektorterekre, valamint az elemi görbe- és felületelméletre vonatkozó alapismereteket a szükséges minimumra korlátozva az 1.1. szakaszban összefoglaltam. Részletesebb matematikai összefoglalót talál az olvasó pl. a [2] jegyzetben.

Minden szakasz végén egy rövid összefoglaló segíti felidézni az anyagrészben tanult legfontosabb elemeket.

A jegyzet ábráit PostScript nyelven készítettem, kivéve a szerző és Kozma László: Differenciálgeometria c. jegyzetében is használt 4.1-4.3. ábrákat, amelyekhez a K3DSurf programot használtam.

Nyíregyháza, 2011. április

Kovács Zoltán

1. fejezet - Geometriai transzformációk

1.1. Matematikai alapok: szokásos euklideszi struktúrája

elemeit általában latin kis- és nagybetűkkel jelöljük, tehát , vagy , míg ezek komponenseit indexelve, tehát pl. . elemeit pontnak és vektornak is lehet nevezni, szövegkörnyezettől függően. Ha pontra gondolunk, akkor használunk nagybetűket, míg ha vektorra, akkor kisbetűket. neve lehet origó (ekkor pontra gondolunk és az jelölést használjuk), vagy zérusvektor (ekkor vektorra gondolunk és -val jelöljük). jelöli az típusú valós mátrixok halmazát. -et gyakran beazonosítjuk -el, azaz a pontokat (vagy vektorokat) oszlopmátrixként is felfoghatjuk.

1.1. Definíció. Az és rendezett szám- -esek összege

míg ha , akkor és szorzata

Az összeadás tehát egy binér művelet. A skalárral való szorzás egy leképezés. (Ennek „ ” jelét gyakran el is hagyjuk.) nyilván az additív inverze, ezért jogos helyette -et írni.

1.2. Tétel. a fenti összeadás műveletre Abel csoport, továbbá vektortér fölött, azaz , :

(1) ,

(2) ,

(3) ,

(4) .

1.3. Definíció. Az vektorok skaláris szorzatán (vagy belső szorzatán) az

számot értjük.

A skaláris szorzás tehát egy leképezés.

1.4. Tétel. euklideszi vektortér a fenti skaláris szorzattal, azaz , :

(1) , ,

(2) ,

(3) ,

(4) ; .

1.5. Definíció. -re az vektor hossza vagy normája.

Tehát a norma egy leképezés, amelyet normafüggvénynek is nevezünk. Komponensekkel kiírva, .

1.6. Tétel. (Cauchy–Schwarz-egyenlőtlenség) :

Egyenlőség akkor és csakis akkor teljesül, ha arányosak, azaz : vagy .

1.7. Következmény. A Cauchy–Schwarz-egyenlőtlenség közvetlen következménye, hogy ha és egyike sem nullvektor, akkor

és az és vektorok szögére teljesül, hogy

Speciálisan, két vektor akkor és csakis akkor merőleges, ha skaláris szorzatuk zéró.

1.8. Tétel. , :

(1) ,

(2) ,

(3) ,

(4) , továbbá egyenlőség akkor és csakis akkor teljesül, ha arányosak, nemnegatív faktorral (Minkowski egyenlőtlenség).

A számítógépi grafikában gyakran van szükségünk egy nem zéró vektor irányába mutató egységnyi hosszúságú vektorra (röviden egységvektorra).

1.9. Következmény. Az vektor irányába mutató egységvektor .

1.10. Definíció. Ha , akkor a és pontok távolsága.

A távolság tehát egy leképezés, amelyet távolságfüggvénynek is nevezünk. Komponensekkel kiírva:

1.11. Tétel. :

(1) ,

(2) ,

(3) ,

(4) (háromszög-egyenlőtlenség),

azaz egy metrikus tér.

Az eddigiekben elmondottakat általános (véges) dimenzióban fogalmaztuk meg, de természetesen a számítógépi grafikai alkalmazásoknál a dimenzió nagyon gyakran (de nem kizárólagosan) 2 vagy 3. A következő szakaszban viszont a dimenzió 3, azaz a háromdimenziós euklideszi térben dolgozunk. Az tér szokásos bázisa , , .

1.12. Definíció. Az és vektorok vektoriális szorzata

1.13. Tétel. (a vektoriális szorzás algebrai tulajdonságai.) A vektoriális szorzás egy ferdén szimmetrikus, bilineáris leképezés, azaz teljesül

(1) ,

(2) ,

(3) ,

(4) .

A vektoriális szorzást további, geometriai tulajdonságai teszik kitüntetett jelentőségűvé a számítógépi grafikában.

1.14. Tétel. (a vektoriális szorzás geometriai tulajdonságai)

(1) akkor és csakis akkor, ha lineárisan függő vektorrendszer,

(2) , , azaz a vektoriális szorzat merőleges a tényezőire,

(3) ha és lineárisan függetlenek, akkor jobb-rendszert alkotnak, azaz úgy következnek egymás után, mint a jobb kéz hüvelykujja, mutató ujja és középső ujja,

(4) , azaz a vektoriális szorzat hossza megegyezik a tényezők által kifeszített paralelogramma területével.

Alkalmazások

1.1. Példa. (irányított háromszöglemez normálisa) Sok grafikai problémánál (láthatósági, megvilágítási problémák) szükség van arra, hogy egy sokszöglemezt irányítással adjunk meg. Irányított sokszöglemezről akkor beszélünk, ha kitüntetjük a sokszöglemez síkjának egyik oldalát, azaz a sík egyik egység-normálisát (a síkra merőleges egységvektort). A kitüntetett oldalt nevezzük külső oldalnak, a másik oldalt belső oldalnak. Ha egy háromszöglemezt a csúcsok rendezett megadásával határozunk meg, akkor (megállapodás szerint) a külső oldal normálisát a jobbkéz-szabály alapján kapjuk, azaz, ha a jobb kezünk ökölbe szorított ujjai a csúcsok sorrendjének megfelelő forgásirányt jelölik ki, akkor a megfeszített hüvelykujj mutatja a kifelé mutató normális irányát. Legyenek tehát az irányított háromszöglemez csúcsai , ekkor a kifelé mutató normális

Egy konvex poliéder lapjait megállapodás szerint úgy irányítjuk, hogy a kitüntetett normálisok a poliéderből kifelé mutatnak.

1.1. ábra - Háromszöglemez kifelé mutató normálisa

Háromszöglemez kifelé mutató normálisa


A skaláris szorzat két grafikai alkalmazását mutatjuk be. A grafikai alkalmazások alapja, hogy a skaláris szorzattal két vektor szögének koszinuszát az (1.1) alapján ki tudjuk számítani:

1.2. Példa. (irányított sokszöglemez láthatósága) A kamera a sokszöglemez külső oldalát látja, ha a sokszög egy csúcsából a kamerához mutató vektor és a kitüntetett felületi normális hegyesszöget zár be, azaz skaláris szorzatuk pozitív; míg a belső oldalt, ha a skaláris szorzat negatív. Zéró skaláris szorzat esetén a lap profilból látszik, azaz a kamera egy szakaszt lát. (Ld. 1.2. ábra.) Konvex poliéder esetén csak azok a lapok látszanak, amelyeknek a kamera a külső oldalát látja.

1.2. ábra - Irányított sokszöglemez láthatósága. A kamera az ábrán látható lap belső oldalát látja.

Irányított sokszöglemez láthatósága. A kamera az ábrán látható lap belső oldalát látja.


1.3. Példa. (Lambert-féle koszinuszszabály) A fényforrással megvilágított diffúz felület megvilágításának intenzitása kifejezhető a felületi normális és a fényforrás iránya közötti szög koszinuszával. Egy egyszerű modell szerint

a szürkeárnyalat intenzitása (ld. 1.3. ábra).

1.3. ábra - Lambert-féle koszinuszszabály. A modell megvilágításánál a szürkeárnyalat intenzitását az (1.2) reláció alapján számoltuk nemcsak a megvilágított, hanem a nem megvilágított lapokra is.

Lambert-féle koszinuszszabály. A modell megvilágításánál a szürkeárnyalat intenzitását az (1.2) reláció alapján számoltuk nemcsak a megvilágított, hanem a nem megvilágított lapokra is.


 ÖSSZEFOGLALÓ 

skaláris szorzás: , ,

vektoriális szorzás: , ,

merőlegesség: , , .

háromszöglemez irányítása: a irányított háromszöglemez kifelé mutató normálisa .

1.2. Affin transzformációk

A síkban a pontok és rendezett számpárok között kölcsönösen egyértelmű megfeleltetés van egy Descartes-féle koordináta-rendszer rögzítése után. A térbeli pontok a rendezett számhármasokkal hozhatók kölcsönösen egyértelmű kapcsolatba. A geometriai transzformációk (legalábbis az általunk vizsgált transzformációk többsége) a nemelfajuló (azaz nem zéró determinánsú) négyzetes mátrixokkal hozhatók kapcsolatba. Ebben a fejezetben csak egyenestartó transzformációkkal foglalkozunk, azaz a tér vagy sík olyan bijektív leképezéseivel, melyeknél tetszőleges egyenes képe egyenes. Az egyenestartó transzformációkat algebrai megközelítésben affin transzformációknak nevezik (ld. alább az 1.15. definíció).

Először néhány geometriai fogalom szokásos algebrai modelljét adjuk meg. Legyenek különböző pontok!

  • A , pontok egyenese: ,

  • a , pontokat összekötő szakasz:

  • osztóviszony: ha és , , akkor

    az pont osztóviszonya a alappontokra. (Például a szakasz felezőpontjának osztóviszonya a szakasz végpontjaira, mint alappontokra nézve 1, azaz a felezőpont a szakaszt arányban osztja.)

A továbbiakban jelöli az -típusú, nem zéró determinánsú valós mátrixok csoportját, míg jelöli a csoport egységelemét, azaz az típusú egységmátrixot.

1.15. Definíció. Legyen , . Az

leképezést affin transzformációnak nevezzük. Az nemelfajuló mátrix az affin transzformáció lineáris része. Ha , akkor a transzformáció speciálisan vektorú eltolás: .

1.4. ábra - Affin transzformáció

Affin transzformáció

1.16. Tétel. (az affin transzformáció tulajdonságai) Minden affin transzformáció

(1) egyenestartó,

(2) osztóviszonytartó (pl. felezőpont képe felezőpont),

(3) párhuzamosságtartó (pl. paralelogramma képe paralelogramma).

Az 1.15. definícióban az egyenestartó transzformációt algebrailag egy mátrixszal () és egy vektorral () reprezentáltuk. Sok szempontból kényelmes lehet, ha az affin transzformációt egyetlen mátrixszal reprezentáljuk. Ez a mátrix

tehát a bal felső -es részmátrix , az utolsó sorban darab nulla áll és egy egyes. Az utolsó sor szerinti kifejtési tétel mutatja, hogy ez a mátrix is nemelfajuló. Az előbbi mátrixot az affin transzformáció homogén reprezentációjának nevezzük.

Könnyű látni, hogy az (1.3)-típusú mátrixok csoportot alkotnak a mátrixok szorzására nézve, ezt a csoportot affin csoportnak nevezzük és -nel jelöljük. Tehát az affin csoport:

Arra a kérdésre, hogy miért lehet hasznos az affin transzformáció homogén reprezentációja, az alábbi két tétel ad választ: a transzformáció végrehajtása és a transzformációk szorzása (egymás után való végrehajtása) mátrixszorzással számítható.

1.17. Tétel. Legyen , , továbbá affin transzformáció. Ekkor

1.18. Tétel. Legyen az affin transzformáció homogén reprezentánsa , az affin transzformáció homogén reprezentánsa . Ekkor az szorzat transzformáció homogén reprezentánsa a két homogén reprezentáns szorzata, azaz

Felhívjuk a figyelmet arra, hogy a transzformációszorzás nem kommutatív. A transzformációk szorzását jobbról balra olvassuk, tehát az transzformációnál először -et, majd -t hajtjuk végre. A homogén reprezentánsok szorzatában a tényezők sorrendjére ugyanez vonatkozik, jobbról áll az elsőként végrehajtott transzformáció mátrixa.

1.4. Példa. (eltolás síkban) A síkbeli vektorú eltolás:

Részletesen kiírva:

1.5. Példa. (eltolás térben) A térbeli vektorú eltolás:

A speciális affin transzformációk közül az eltolások után az egybevágósági transzformációkat tárgyaljuk. Geometriailag az egybevágósági transzformáció, vagy görög eredetű szóval izometria, távolságtartó bijektív leképezést jelent. Egyszerű geometriai eszközökkel könnyű belátni, hogy minden izometria egyenestartó, azaz affin transzformáció. A kérdés, hogy az egybevágóságokat hogyan lehet jellemezni a lineáris részükkel. A válasz az, hogy az egybevágóság lineáris része ún. ortogonális mátrix (1.20. tétel).

1.19. Definíció. Egy négyzetes mátrixot ortogonális mátrixnak nevezünk, ha sorai egymásra merőleges egységvektorok, illetve ezzel ekvivalens módon, ha az oszlopai egymásra merőleges egységvektorok.

A definíció szerint könnyű látni, hogy az ortogonális mátrixokat az jellemzi, hogy az inverzük megegyezik a transzponáltjukkal. Az típusú ortogonális mátrixok -ben részcsoportot alkotnak, ezt a csoportot ortogonális csoportnak nevezzük és -nel jelöljük:

Az ortogonális mátrix determinánsa mindig .

Két dimenzióban nagyon könnyű megadni az összes ortogonális mátrixot:

ahol a második oszlopban az előjelek úgy értendők, hogy ha az egyik előjel akkor a másik . Speciálisan az csoport

részhalmaza kommutatív csoport. (Ennek a csoportnak a geometriai jelentését rögtön megvizsgáljuk.) A csoport elemeire bevezetjük a

jelölést. A fordított előjel-kombinációjú mátrixok halmaza nem csoport (nem zárt a szorzásra), ettől függetlenül elemeinek fontos geometriai jelentése van, így külön jelölést is bevezetünk rá:

1.20. Tétel. akkor és csakis akkor egybevágósági transzformáció, ha létezik olyan ortogonális mátrix és vektor, hogy

Megjegyezzük, hogy a sík egybevágósági transzformációja csak elforgatás vagy eltolás vagy csúsztatva tükrözés lehet. Utóbbi olyan eltolás és tengelyes tükrözés szorzata, ahol az eltolás iránya megegyezik a tengely irányával. Speciális esetként csúsztatva tükrözések között találjuk a tengelyes tükrözéseket is.

1.5. ábra - Elforgatás az origó körül

Elforgatás az origó körül

1.21. Tétel. Az origó körüli szögű elforgatásnál a pont képe az a pont, melyre

A tétel alapján megállapíthatjuk, hogy az csoport elemei a sík origó körüli elforgatásai.

1.22. Tétel. A pont körüli szögű elforgatásnál a pont képe az a pont, melyre .

A tételben leírt összefüggést tol-forgat-tol vagy „TFT” szabálynak is mondjuk, mert valójában a transzformációt három transzformáció szorzataként adtuk meg:

1.6. ábra - Tengelyes tükrözés origón áthaladó egyenesre

Tengelyes tükrözés origón áthaladó egyenesre

1.23. Tétel. Az origón áthaladó, irányszögű egyenesre vonatkozó tükrözésnél a pont képe az a pont, melyre , azaz

1.24. Tétel. Az ponton áthaladó, irányszögű egyenesre vonatkozó tükrözésnél a pont képe az a pont, melyre .

A tételben leírt összefüggés a tol-tükröz-tol vagy „TTT” szabály.

A tér egybevágósági transzformációi leírásához az 1.20. tétel szerint az csoportot kell ismernünk.

1.25. Tétel. minden eleme origón áthaladó egyenes körüli elforgatás vagy origón áthaladó egyenes körüli elforgatás és síkra vonatkozó tükrözés szorzata, ahol a tükörsík merőleges a forgástengelyre és áthalad az origón (röviden forgatva tükrözés).

Ha a forgástengely irányvektora és valamint az elforgatás szöge , akkor megfelelő eleme ,

ahol a felső előjelet a forgatásnál, az alsó előjelet a forgatva tükrözésnél kell alkalmazni.

A tétel speciális eseteként kapjuk a koordinátatengelyek körüli elforgatásokat.

1.26. Következmény. A koordinátatengely körüli szögű elforgatás a tér egy pontjához a tér pontját rendeli hozzá, ahol és

A fenti mátrixokat az (1.4) összefüggésbe való direkt behelyettesítéssel kaptuk és a forgatás iránya a jobbkéz-szabály szerint értendő: ha a jobb kéz hüvelykujja mutat a vektor irányába, akkor a jobb kéz ökölbe szorított ujjai jelölik ki a forgásirányt. Az körüli forgatás mátrixában az előjelek némileg másként vannak, mint a másik két mátrixban, ezért szokás az tengely körüli elforgatás irányát a balkéz-szabály szerint venni, így mátrixa

Ha a térben olyan tengely körül forgatunk el, mely nem megy át az origón, akkor a „tol-forgat-tol” szabályt alkalmazhatjuk:

ahol a tengely irányvektora, a tengely egy pontja, a forgatás szöge.

1.27. Definíció. Egy , bijektív leképezést hasonlósági transzformációnak nevezünk, ha van olyan valós szám, hogy :

-t a hasonlóság arányának nevezzük.

Minden egybevágósági transzformáció példát jelent hasonlóságra, mert esetén a definiáló tulajdonság teljesül. Egybevágóságtól különböző hasonlóságra is könnyű példát adni. Legyen olyan típusú diagonális mátrix, melynek a főátlója .

1.28. Tétel. Legyen adott egy valós szám. Ekkor

arányú hasonlóság, melyet arányú skálázásnak nevezünk.

A skálázások jelentőségét az adja, hogy minden hasonlóság egybevágóság és skálázás szorzataként adható meg. Így a hasonlóságok analitikus leírásával már készen is vagyunk.

1.29. Tétel. A sík egy hasonlósági transzformációjának homogén reprezentánsa egy

mátrix, ahol adja a hasonlóság arányát.

Alkalmazás

A számítógépi grafikában komplex alakzatok (pl. élőlények) modellezésében gyakran alkalmazott módszer, hogy az alakzat „csontvázából” indulnak ki. A csontváz nem más, mint a robottechnikából is ismert csuklós szerkezet, vagy robotkar (1.7. ábra).

1.7. ábra - Két dimenziós robotkar rotációs csuklókkal

Két dimenziós robotkar rotációs csuklókkal


A robotkar részei:

  • csuklók (rotációs, prizmatikus),

  • szegmensek,

  • végberendezés (end effector).

A prizmatikus csukló a szegmensek hosszát változtatja. A továbbiakban csak rotációs csuklókat tartalmazó robotkarral foglalkozunk, amely csak egy rögzített síkban tud mozogni. Az ilyen robotkart a szegmensek hossza és a csatlakozó szegmensek szöge meghatározza (1.8. ábra). Rögzített hosszúságú szegmensek esetén a csatlakozó szegmensek szögének sorozata az állapotvektor. Határozzuk meg a csuklók helyzetét az állapotvektor ismeretében!

1.8. ábra - Robotkar megadása a szegmensek hosszával és a csatlakozó szegmensek szögével

Robotkar megadása a szegmensek hosszával és a csatlakozó szegmensek szögével

1.1. Algoritmus. (Két dimenziós robotkar leírása az állapotvektorral) A csuklókat a , () koordináta párokkal adjuk meg, a végberendezés. Az első csukló legyen rögzített.

 ROBOT() 

Az algoritmusban alkalmazott forgatásokat mindig a TFT-szabály szerint kell számítani, hiszen az elforgatás középpontja , általában nem az origó.

 ÖSSZEFOGLALÓ 

affin transzformáció: geometriailag egyenestartó bijektív leképezés. Algebrailag , , ahol az lineáris része, .

egybevágósági transzformáció: geometriailag távolságtartó bijektív leképezés. Algebrailag olyan affin transzformáció, melynek lineáris része ortogonális mátrix. Az ortogonális mátrix olyan négyzetes mátrix, melynek inverze megegyezik a transzponáltjával.

origó körüli forgatás mátrixa (síkban): ( a forgatás szöge).

origón áthaladó egyenesre vonatkozó tükrözés mátrixa (síkban): ( a tengely irányszöge).

origón áthaladó tengely körüli elforgatás: ha a forgástengely irányvektora és valamint az elforgatás szöge , akkor

1.3. Projektív transzformációk

1.30. Definíció. A pont homogén koordinátái alatt olyan vektort értünk, amelyre , .

Egy pont homogén koordinátáihoz legegyszerűbben úgy jutunk, ha a pont komponenseit kiegészítjük egy egyessel. (Ha megfigyeljük az 1.17. tételt, akkor ott is homogén koordinátákat alkalmaztunk.) A definíció alapján azonnal látszik, hogy a pont homogén koordinátái nem egyértelműek, az egymással arányos vektorok ugyanannak a pontnak a homogén koordinátáit adják. Jelölje az nemzéró vektorral arányos nemzéró vektorok halmazát (azaz a zéró arányossági tényezőt kizártuk). Magát a pontot pedig beazonosítjuk a homogén koordinátái halmazával. Például a síkban , ahol , , vagy a térben , ahol , , .

Homogén koordináták alkalmazásával egy fontos transzformáció típushoz juthatunk, melynek lényege, hogy a pont homogén koordinátáit szorozzuk egy nemelfajuló mátrixszal (ezt tettük az affin transzformáció homogén reprezentációjánál is, de most a mátrixunk nem feltétlenül affin transzformációt reprezentál), az eredmény vektor utolsó koordinátájával a többi koordinátát elosztva kapjuk a képpontot. Problémát jelenthet, hogy az utolsó koordináta esetleg 0 lesz, így az osztás nem végezhető el. Hogy az eljárás ebben az esetben is értelmes maradjon a transzformáció értelmezési tartományának és képterének az ún. projektív teret (síkot) választjuk.

1.31. Definíció. A halmazt -dimenziós projektív térnek, speciálisan esetén projektív síknak, míg a halmaz elemeit pontoknak nevezzük. Ha az pontra , akkor -et közönséges pontnak, míg ha , akkor végtelen távoli pontnak nevezzük.

A közönséges pontokat korábban már beazonosítottuk pontjaival. Ezért a projektív teret (síkot) úgy is tekinthetjük, mint a szokásos euklideszi tér (sík) kiegészítését a végtelen távoli pontokkal.

Ezek után precízen is megfogalmazhatjuk az előzőekben már vázolt projektív transzformáció fogalmát.

1.32. Definíció. Legyen , a

leképezést az -dimenziós projektív tér projektív transzformációjának nevezzük.

Megjegyezzük, hogy egy nemelfajuló négyzetes mátrix és annak egy nem zéró skalárral való szorzata ugyanazt a projektív transzformációt adják meg.

1.9. ábra - Projektív transzformáció: alakzat és képe

Projektív transzformáció: alakzat és képe


A projektív síkban a definíciót részletesen kiírva a következő leképezést kapjuk

ahol . Ha mind a kiindulási pont, mind a képpont közönséges, akkor

A nevezők akkor válnak zérussá, amikor a képpont végtelen távoli pont lesz. A egyenlet egy egyenes egyenlete. Ezt az egyenest nevezzük a transzformáció eltűnési egyenesének. Ha egy pont az eltűnési egyenesen van, akkor a képét nem tudjuk a síkban (képernyőn) ábrázolni.

1.33. Tétel. (a projektív transzformációk tulajdonságai) Minden projektív transzformációra teljesülnek az alábbiak:

  1. Legyen közönséges ponthármas úgy, hogy az projektív képeik is közönségesek. akkor és csakis akkor kollineárisak, ha kollineárisak.

  2. Legyen közönséges kollineáris pontnégyes úgy, hogy az projektív képeik is közönségesek. Ekkor az osztóviszonyokkal fennáll

A második tulajdonságot úgy is szokás fogalmazni, hogy a projektív transzformáció kettősviszonytartó.

Alkalmazás

A következőekben egy olyan algoritmust ismertetünk, mely a számítógépi grafika sok területén fontos. Négyszög alatt négy olyan pontot értünk, melyek között nincs három egy egyenesre illeszkedő.

1.34. Tétel. (projektív transzformációk meghatározása síkban) Négyszög és képe a projektív transzformációt egyértelműen meghatározza.

Bizonyítás. A négy eredeti pont legyen , a négy képpont pedig . Olyan mátrixot keresünk, melyre

(Ne felejtsük el, hogy arányos számhármasok ugyanazt a pontot jelentik, ezért került a jobb oldalra egy-egy arányossági tényező.) megkeresését két lépésre osztjuk, ezek a lépések matematikailag teljesen egyenértékűek. Először olyan mátrixot keresünk, melyre

ahol

Majd olyan mátrixot, melyre

A keresett mátrix . és megkeresése matematikailag ugyanaz a probléma, a módszert csak -re mutatjuk be.

-ra teljesül, hogy valamely , , , konstansokra

A fenti egyenletrendszerben ismeretlen van (a mátrix elemei, továbbá , , , ), ugyanakkor a mátrixelemek összehasonlításával 12 egyenletet kapunk. Egy ismeretlent tehát szabadon választhatunk (pontosabban szabadon paraméterezhetünk), legyen ez , mely értékét 1-nek választjuk. Így az egyenletrendszer:

A bal oldalon a szorzást elvégezve:

A jobb oldali és a bal oldali mátrixelemek összehasonlításával az alábbi lineáris egyenletrendszert kapjuk a , , ismeretlenekre:

Innen kapjuk a számokat, majd a mátrixot:

1.2. Algoritmus. (a projektív transzformáció mátrixának kiszámítása) A bizonyításban leírt eljárást foglaltuk össze az alábbiakban:

 PROJECTIVETRANSFORMATION 

 ÖSSZEFOGLALÓ 

projektív tér: .

projektív transzformáció: , .

projektív transzformáció tulajdonságai:

  • egyenestartó,

  • kettősviszonytartó,

  • a síkon négyszög és képe egyértelműen meghatározza.

2. fejezet - Vetítések

2.1. A térből a képernyőre

A számítógépi grafika egyik alapfeladata a térbeli pontok megjelenítése a képernyőn. Vetítés alatt azt értjük, hogy a térbeli pont koordinátáihoz hozzárendeljük a neki megfeleltetett képernyőpont koordinátáit. Ha a térben is és a képernyő síkján is Descartes-féle koordinátákat használunk, akkor a vetítés egy leképezés. A tér síkra történő leképezésére nagyon sokféle klasszikus ábrázoló geometriai módszer ismert, jelen jegyzet keretei között a lineáris és a törtlineáris leképezésekkel foglalkozunk. A lineáris leképezések mátrixszorzásként hatnak, míg a törtlineáris leképezések a projektív tér leképezései.

2.1. Definíció. Egy

leképezést axonometriának vagy ferde axonometriának, míg egy

leképezést centrális axonometriának nevezünk.

A továbbiakban a képsíkot rögzítjük, ez a képernyő síkja, azaz a egyenletű sík lesz. A fejezet további részében három egyszerű példát adunk projekcióra. A szemléltető ábrákon a 2.1. ábrán látható csonkolt kocka különböző vetületeit láthatjuk majd.

2.1. ábra - A fejezetben használt modell. A kocka oldalai a koordinátatengelyekkel párhuzamosak, a csonkolt csúccsal szemközti csúcs az origóban van.

A fejezetben használt modell. A kocka oldalai a koordinátatengelyekkel párhuzamosak, a csonkolt csúccsal szemközti csúcs az origóban van.

2.1.1. Ortogonális vetítés.

Egyszerű lineáris leképezés a térből a képernyő síkjára a harmadik koordináta levágása, azaz az leképezés. Mátrixszorzással

Ez a leképezés geometriailag merőleges vetítés a képernyőre, melyet a továbbiakban szokásos merőleges vetítésnek is mondunk. Mátrixát, azaz az mátrixot -val jelöljük.

2.2. ábra - A modell merőleges vetülete a képernyőre

A modell merőleges vetülete a képernyőre

2.1.2. Párhuzamos vetítés.

Vetítsük a teret a () vektorral párhuzamosan az síkra. A tárgypont . A egyenes azon pontját keressük, amelynek harmadik koordinátája zérus. A képpont (vetületi pont) keresett paraméterére teljesül, ahonnan . Ezt a paraméterértéket visszahelyettesítve az egyenes előállításába

adódik. A vetítés mátrixa tehát

esetén speciálisan ortogonális vetítést kapunk.

2.3. ábra - Párhuzamos vetítés

Párhuzamos vetítés

2.1.3. Centrális vetítés.

A vetítéstől megkövetelhetjük, hogy az emberi látásra adjon valamilyen modellt. A legegyszerűbb modell a lyukkamera, elterjedt latin kifejezéssel camera obscura). Fizikai megvalósítása egy minden oldalról fénytől védett doboz, melybe a fény egy apró lyukon keresztül hatol be. A kép a lyukkamerán belül a lyukkal ellentétes oldalon válik láthatóvá (ld. 2.4. ábra).

2.4. ábra - A lyukkamera (camera obscura) képalkotása

A lyukkamera (camera obscura) képalkotása

Fizikai szempontból a lyukkamera képe a tárgy távolságától függetlenül éles (nagy a mélységélessége), ugyanakkor fényszegény a lyuk kicsiny átmérője miatt. A lyuk növelése viszont a képet elmosódottá teszi, ennek korrigálására van szükség a fényképezőgépekben lencsére. A 2.4. ábra szerinti elrendezésben a kép fordított állású a tárgyhoz képest. A matematikai modell megalkotásakor azonban nem jelent gondot a 2.5. ábra szerinti elrendezés, amelyben a kép egyenes állású.

2.5. ábra - A képsík és a centrum geometriai elhelyezése. A képsík az A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. sík, a vetítés A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. centruma a A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. tengely A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja. pontja.

A képsík és a centrum geometriai elhelyezése. A képsík az xy sík, a vetítés C centruma a z tengely -1/r pontja.


Írjuk le a lyukkamera működését algebrailag! A lyukkamera által megvalósított leképezés matematikai szempontból centrális vetítés. Legyen , a centrum , a képsík az sík, azaz a sík. A tárgypont . A egyenes azon pontját keressük, amelynek harmadik koordinátája zérus. Az egyenes paraméteres előállítása () így a képpont (vetületi pont) keresett paraméterére

teljesül, ahonnan

Ezt a paraméterértéket visszahelyettesítve az egyenes előállításába

adódik. Most térjünk át homogén koordinátákra! A bal oldalon elvégezve az és , valamint a jobb oldalon az , , helyettesítéseket,

adódik, amely eredményt mátrixszorzással felírhatjuk a következő alakban:

A továbbiakban legyen

2.6. ábra - A modell centrális vetülete. A centrum a A modell centrális vetülete. A centrum a z tengelyen van és harmadik koordinátája ez esetben pozitív. A nem látható éleket vékonyabb vonallal rajzoltuk. tengelyen van és harmadik koordinátája ez esetben pozitív. A nem látható éleket vékonyabb vonallal rajzoltuk.

A modell centrális vetülete. A centrum a z tengelyen van és harmadik koordinátája ez esetben pozitív. A nem látható éleket vékonyabb vonallal rajzoltuk.

A (2.3)-ben, illetve ekvivalens módon (2.2)-ben megadott leképezés tört lineáris leképezés. A képernyő síkjára történő merőleges vetítés megkapható a centrális vetítés határeseteként, esetén (azaz „a centrum a végtelenhez tart”) a (2.2) összefüggés pontosan a harmadik koordináta levágását jelenti.

2.1. Példa. (hamis perspektíva) A hamis perspektíva a két dimenziós kép olyan transzformálása, mely a térbeliség érzetét kelti: ld. 2.7. ábra. Képtranszformációval lehet megvalósítani, például úgy, hogy a centrális vetítés képletéhez analóg formulákat alkalmazunk. A centrális vetítésnél

a hamis perspektívánál

ahol egy alkalmasan választott függvény. Például

esetén a függvény az origó környékét „nagyítja”.

2.7. ábra - Hamis perspektíva: példa Vasarely stílusában. A piros pöttyök az eredeti képen egybevágó körök voltak.

Hamis perspektíva: példa Vasarely stílusában. A piros pöttyök az eredeti képen egybevágó körök voltak.


 ÖSSZEFOGLALÓ 

ferde axonometria:

merőleges vetítés:

párhuzamos vetítés: , a vetítés iránya.

centrális axonometria , (, ).

centrális vetítés , a centrum.

2.2. Szemléletes kép készítése

2.2.1. Ortogonális axonometria.

Az ábrázoló geometria sokrétű feladatköréből most a szemléletes képalkotást emeljük ki. A szemléletes kép készítés problémájának lényege az, hogy a modellről könnyen előállítható kép a modell valamely egyszerű vetülete, amely nem biztos, hogy szemléletes. A 2.2. ábrán látható kép a fejezetben szereplő modellről egy egyszerű vetület, amelyet azonban egyáltalán nem érzünk szemléletesnek.

Két egyszerű stratégiával juthatunk el a szemléletes képhez. Képzeljük el, hogy egy kisméretű tárgyat kell alaposan szemügyre vennünk, például egy autómodellt: kezünkbe vesszük és körbeforgatjuk. Ha az eredeti autót tanulmányozzuk, akkor viszont körbejárjuk. Az első stratégia a szemléletes képhez a modell transzformációjával jut el, a második stratégia a nézőpontot változtatja. Ebben a tananyagban az első stratégiát alkalmazzuk. A modell transzformációjaként izometriákat illetve (az előzőektől csak skálázásban különböző) hasonlóságokat engedünk meg.

2.2. Definíció. A tér egy hasonlósági transzformációjának és egy síkra történő merőleges vetítésnek a szorzatát ortogonális axonometriának nevezzük.

A továbbiakban feltételezzük, hogy a hasonlóságnak az origó fixpontja, továbbá a merőleges vetítés az koordinátasíkra történő merőleges vetítés, így az axonometria lineáris leképezés lesz. Az eltolások ortogonális axonometriánál a szemléletességhez nem járulnak hozzá, így a tárgyalásban az általánosság nem sérül.

2.2. Példa. (Ld. a 2.8. ábrát!) Forgassuk el a modellt az tengely körül szöggel a balkéz-szabály szerint, majd az tengely körül szöggel a jobbkéz-szabály szerint, ezután vetítsünk merőlegesen az síkra. Az így kapott axonometria mátrixa:

2.8. ábra - Ortogonális axonometria: merőleges vetítés a képernyőre a modell ortogonális transzformációja után

Ortogonális axonometria: merőleges vetítés a képernyőre a modell ortogonális transzformációja után


A példában megadott ortogonális axonometria a függőleges irányt „nem borítja föl”. Ha a két forgatást fordított sorrendben hajtanánk végre, már nem lenne így.

Az ortogonális axonometria megadása a 2.2. példában a és szögek megadását jelentette. Jóllehet ez nagyon egyszerű, mégis sok esetben intuitívabb lehet, ha kanonikus bázisának a képét adjuk meg, azaz az ortogonális axonometria mátrixának oszlopait. A három képvektor (három oszlop) azonban nem vehető föl tetszőlegesen, a következőekben ezt a problémát vizsgáljuk.

2.3. Tétel. (Gauss-tétel) akkor és csakis akkor ortogonális axonometria mátrixa, ha sorai egymásra merőleges, azonos hosszúságú vektorok.

Bizonyítás. Az egyszerűség kedvéért olyan ortogonális axonometriára bizonyítjuk az állítást, ahol ortogonális transzformáció és merőleges vetítés szorzatáról van szó, tehát a hasonlóság aránya 1.

A tétel algebrai átfogalmazása ekkor a következő: legyen . akkor és csakis akkor áll elő alakban, ahol ortogonális mátrix, pedig az koordinátasíkra történő merőleges vetítés, ha .

legyen ortogonális mátrix: . Legyen először . Ekkor

Megfordítva, ha teljesül, akkor ez azt jelenti, hogy sorai egymásra merőleges egységvektorok. Egészítsük ki a sorvektorokat ortonormált bázisává. A kiegészített mátrix legyen . Mivel sorai egymásra merőleges egységvektorok, ezért oszlopai is azok, és nyilvánvalóan teljesül.

2.4. Következmény. Az , , vektorok akkor és csakis akkor alkotják kanonikus bázisának ortogonális axonometrikus képét, ha

teljesül.

Összefoglalva, az ortogonális axonometria

mátrixát úgy is meg lehet adni, hogy az oszlopok közül fölveszünk tetszőlegesen kettőt, pl. az és oszlopokat, és a harmadik oszlopot kiszámítjuk a (2.4) egyenletrendszer alapján. (Általában két megoldás is lesz.)

A számítást elvégezhetjük komplex aritmetikával is. Az halmazt a szokásos módon azonosítjuk -vel: , továbbá legyen , , . (2.4) ekvivalens az alábbi egyenlettel:

(2.5)-ben elvégezve a négyzetre emelést:

adódik. A bal oldalon álló komplex szám akkor és csakis akkor 0, ha a valós és képzetes része egyaránt zérus, ami éppen a megadott állítás, így (ahol a gyökvonás kétértékű).

2.2.2. Hasonlóság és centrális projekció szorzata.

A 2.1.3. pontban megadott egyszerű centrális projekció esetén (tehát a centrum a koordinátatengelyen van és az síkra vetítünk) szemléletes képhez a modell transzformációjával juthatunk. Alkalmazhatjuk a modell vagy tengely körüli forgatását, tetszőleges eltolást, skálázást illetve ezek kompozícióját. Pl. homogén koordináták alkalmazásával:

Az előbbi mátrix oszlopainak a geometriai jelentése egyszerű. Jelölje a mátrix oszlopait rendre . Nyilván teljesül

azaz az első három oszlop a megfelelő tengely végtelen távoli pontjának a képe, míg a negyedik oszlop az origó képe. Aszerint, hogy , , között hány közönséges pont van, beszélünk 1, 2 vagy 3 iránypontos perspektíváról. A gyakorlati ábrázolási feladatokban sokszor célszerű, ha az tengely végtelen távoli pontjának a képe végtelen távoli marad, amelynek feltétele a mátrix használata esetén , azaz körül nem forgatunk. (Így a függőleges egyenesek nem lesznek összetartóak.) Az -körüli elforgatás és valamilyen eltolás általában szép szemléletes képet ad két iránypontos perspektívában. A 2.1. ábra ezzel a módszerrel készült; ld. még a 2.92.11. ábrákat.

2.9. ábra - Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. tengelyen van, a modellt az Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. tengely körül forgattuk. Az ábrán Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. és Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. jelöli az Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. és Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét. tengely végtelen távoli pontjának képét.

Két iránypontos perspektíva a modell elforgatásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk. Az ábrán U_{x} és U_{z} jelöli az x és z tengely végtelen távoli pontjának képét.

2.10. ábra - Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk. tengelyen van, a modellt az Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk. tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk.

Két iránypontos perspektíva a modell elforgatásával és eltolásával. A vetítés centruma a z tengelyen van, a modellt az y tengely körül forgattuk, majd ugyanezen tengely irányában eltoltuk.

2.11. ábra - Három iránypontos perspektíva. A modelltranszformáció során az Három iránypontos perspektíva. A modelltranszformáció során az x tengely körül is forgattuk. tengely körül is forgattuk.

Három iránypontos perspektíva. A modelltranszformáció során az x tengely körül is forgattuk.

 ÖSSZEFOGLALÓ 

szemléletes kép készítése modelltranszformációval: elforgatás a koordinátatengelyek körül (merőleges vetítés alkalmazásakor); centrális vetítés esetén emellett még eltolások is.

ortogonális axonometria: a tér egy hasonlósági transzformációjának és egy síkra történő merőleges vetítésnek a szorzata.

Gauss-tétel akkor és csakis akkor ortogonális axonometria mátrixa, ha sorai egymásra merőleges, azonos hosszúságú vektorok.

2.3. Ferde axonometria és centrális axonometria

A ferde axonometriát a 2.1. definícióban vezettük be. A ferde axonometria mátrixának , , oszlopait a tér kanonikus bázisvektorainak képei alkotják. Az ortogonális axonometriától eltérően (ahol csak két képvektort vehettünk föl tetszőlegesen), mind a három képvektort fölvehetjük tetszőlegesen – egyetlen megkötés, hogy a fölvett vektorrendszer rangja 2 legyen. A mátrix megadására különböző gyakorlati módszerek vannak, ezek közül megadunk néhány fontosabbat. Az ábrák alapján az axonometria mátrixának fölírása legyen az olvasó feladata!

2.3. Példa. (Standard izometrikus projekció, 2.12. ábra) A ferde axonometriát akkor nevezzük izometrikusnak, ha a mátrixának oszlopai azonos hosszúságúak:

A standard izometrikus projekció esetén a bázisvektorok képeinek szöge .

2.12. ábra - Standard izometrikus axonometria

Standard izometrikus axonometria


2.4. Példa. (-izometrikus, vagy katona perspektíva)

2.13. ábra - 45^{\circ} -izometrikus axonometria-izometrikus axonometria

45^{\circ} -izometrikus axonometria


2.5. Példa. (-dimetrikus projekció) A dimetrikus axonometriánál két bázisvektor képének hossza azonas, a harmadiké pedig ettől az értéktől eltérő. Ennél a ferde axonometriánál

2.14. ábra - 42^{\circ}/7^{\circ} -dimetrikus axonometria-dimetrikus axonometria

42^{\circ}/7^{\circ} -dimetrikus axonometria


2.6. Példa. (cabinet-dimetrikus, vagy kínai perspektíva) A 2.15. ábrán az szög értéke leggyakrabban vagy .

2.15. ábra - Cabinet-dimetrikus axonometria

Cabinet-dimetrikus axonometria


A továbbiakban azt vizsgáljuk meg, hogy a ferde axonometriának van-e valamilyen geometriai jelentése.

2.5. Tétel. (Az axonometria alaptétele – I) Minden axonometrikus leképezés előáll egy párhuzamos vetítés és egy lineáris izomorfizmus szorzataként, azaz az axonometrikus kép affin kapcsolatban van az alakzat egy párhuzamos vetületével.

Bizonyítás. Legyen

Az általánosság megszorítása nélkül föltehetjük, hogy az első két oszlop lineárisan független, azaz

egydimenziós magterét generálja a vektor: , a által generált egy dimenziós altér. Azt állítjuk, hogy az síkra -vel párhuzamos vetítés és az -val történő bal szorzás (mint lineáris izomorfizmus) szorzata. Megjegyezzük, hogy azt jelentené, hogy az sík nem zéró vektora magterében lenne, így ez ellentmondana (2.6)-nak. Jelölje a irányú párhuzamos vetítés mátrixát!

Azonban :

tehát .

2.6. Tétel. (Az axonometria alaptétele – II) Minden axonometrikus leképezés előáll egy merőleges vetítés és egy lineáris izomorfizmus szorzataként, ahol a tér egy alkalmas két dimenziós altere.

Bizonyítás. Az előző tétel bizonyításának jelöléseivel. legyen magterének ortogonális komplementere, azaz az egyenesre merőleges, origóra illeszkedő sík.

2.7. Tétel. (Pohlke) Minden axonometria egy párhuzamos vetítés és egy hasonlóság szorzata, azaz egy alakzat axonometrikus képe hasonló az alakzat valamely síkra vonatkozó párhuzamos vetületéhez.

Bizonyítás. A bizonyításhoz egy elemi segédtételre van szükségünk, nevezetesen minden ellipszis alapú hengernek van körmetszete. Az alaptétel első változatának bizonyításakor már bevezetett jelöléseket használjuk, tehát az axonometria alakban írható föl, ahol párhuzamos vetítés, pedig lineáris izomorfizmus.

Vegyünk föl az síkban egy tetszőleges, origó középpontú kört. Legyen . legyen olyan origóra illeszkedő sík, hogy ebben fölvett alkalmas, origó középpontú kör -vel párhuzamos vetülete éppen legyen. Az síkra történő, -vel párhuzamos vetítést, azaz -t, bontsuk föl az síkra történő -vel párhuzamos vetítés és az sík síkra történő, szintén -vel párhuzamos vetítés szorzatára: . Ezt azért tehetjük meg, mert nem lehet -vel párhuzamos. Most . Az lineáris izomorfizmus azonban a körhöz a kört rendeli, azaz ez a leképezés hasonlóság az és síkok között, ami a bizonyítandó állítást jelenti.

A bizonyítást az alábbi diagrammon követhetjük:

A centrális axonometriát a 2.1. definícióban vezettük be. A centrális projekció példa centrális axonometriára.

Mivel , (), ezért és ugyanazt a centrális axonometriát adja meg. Legyen , ahol az mátrix -edik oszlopát jelöli. , , rendre az , , tengelyek végtelen távoli pontjának a képe, pedig az origó képe. A tengelyek egységpontjainak képe rendre: , , . Az

ponthetes a centrális axonometria bázisalakzata.

Megjegyezzük, hogy még nem határozza meg a centrális axonometriát, hiszen a pontok különböző reprezentánsai általában nem adnak egymáshoz arányos mátrixokat:

A következő, geometriai jellegű elemzéshez, a speciális esetek elkerülése végett, tegyük föl, hogy a bázisalakzat pontjai különböző pontok. Az és háromszögpár egy Désargues-féle háromszögpár, azaz csúcsaira ( oldalaira) nézve perspektív háromszögpár. (A pontok között lehetnek végtelen távoli pontok is.)

2.8. Tétel. (a bázisalakzat fölvételének szabadsága) Tetszőleges Désargues-féle háromszögpár a perspektivitás centrumával egy centrális axonometria bázisalakzatát adja meg.

Bizonyítás. Legyen , a két perspektivikus háromszög, a perspektivitás centruma . (.) Az összes olyan centrális axonometria mátrixa, melynél az origó képe és az egyes tengelyek végtelen távoli pontjának képe pedig , megadható valamely nem zéró skalárokkal a következő alakban: . (A negyedik oszlop arányossági tényezőjével lehet osztani.) A kérdés az, hogy vannak-e olyan nem zéró skalárok, hogy

Mivel Désargues-féle háromszögpár, ezért . Legyen , -ra analóg módon. A zérusvektort lineárisan kombinálva:

valamely nem triviális együtthatórendszerre. Sőt, a geometriai föltevés szerint (a bázisalakzat pontjai különbözőek) azt is tudjuk, hogy , ellenkező esetben ugyanis lineárisan függő rendszer, azaz lenne. Tehát

azaz mellett .

A továbbiakban a centrális axonometria geometriai jelentésével foglalkozunk.

2.9. Tétel. (a centrális axonometria főtétele) Minden centrális axonometria egy centrális projekció és egy projektív transzformáció szorzata, azaz a centrális axonometrikus kép projektív az alakzat valamely centrális vetületéhez.

Bizonyítás. A bizonyítás analóg a 2.5. tétel bizonyításához.

A centrális axonometriára Pohlke tételét nem lehet direkt módon általánosítani, nem igaz az, hogy tetszőleges centrális axonometria centrális vetítés és hasonlóság szorzata.

(Szabó–Stachel–Vogel) Legyen egy centrális axonometria bázisalakzata, továbbá a bázisalakzat egyetlen pontja se legyen végtelen távoli pont. (2.16. ábra). A bázisalakzat által meghatározott centrális axonometria akkor és csakis akkor centrális projekció és hasonlóság szorzata, ha fennáll

ahol

2.16. ábra - A centrális axonometria bázisalakzata

A centrális axonometria bázisalakzata

 ÖSSZEFOGLALÓ 

a ferde axonometria geometriai jelentése; Pohlke-tétel: minden axonometria egy párhuzamos vetítés és egy hasonlóság szorzata, azaz egy alakzat axonometrikus képe hasonló az alakzat valamely síkra vonatkozó párhuzamos vetületéhez.

a centrális axonometria intuitív megadása: Désargues-háromszögpárral. Egy centrális axonometriának általában nincs Pohlke tételéhez analóg geometriai jelentése.

3. fejezet - Szabad formájú görbék modellezése

3.1. Parametrizált görbék

Ha egy anyagi pont mozgását a síkban vagy a térben le akarjuk írni, akkor legegyszerűbb, ha –origó rögzítése után– megadjuk helyzetvektorát az idő függvényében. Ebből a helyzetvektor-idő függvényből a mozgás kinematikai jellemzőit már meg lehet adni, az első deriváltja (ha létezik) a sebesség, a második deriváltja a gyorsulás. Parametrizált görbe alatt egy ilyen helyzetvektor-idő függvényt értünk. A mozgó pont pályája egy ponthalmaz a síkban vagy a térben – ezt egyszerűen görbének nevezzük.

3.1. Definíció. Egy differenciálható leképezést parametrizált görbének nevezünk. A parametrizált görbe reguláris, ha -re (regularitási feltétel). esetén síkgörbéről, esetén térgörbéről beszélünk.

3.1. Példa. (egyenletes körmozgás) Egy pont állandó szögsebességgel mozog egy sugarú, origó középpontú körön. Határozzuk meg a helyzetvektor-idő leképezést! A időpontban a pont koordinátái .

A pont irányszöge időpontban , így koordinátái

Tehát a görbe paraméteres előállítása:

A regularitási feltétel nyilván teljesül:

A összefüggés, mely a kerületi sebesség és a szögsebesség közti kapcsolatot adja meg, a középiskolai fizikából ismerős lehet.

A paraméteres előállításból azonnal következik, hogy a mozgásra teljesül, ami a kör egyenlete (, ). Az sugár a mozgás geometriai jellemzője, a mozgás fizikai jellemzője.

3.2. Példa. (hengeres csavarvonal)

3.1. ábra - Hengeres csavarvonal

Hengeres csavarvonal


Egy sugarú egyenes forgáshenger tengelye a tengely. Kiválasztjuk egy alkotóját, az alkotón egy pont (a hengerhez képest) sebességgel egyenletes mozgást végez, miközben a hengert a tengely körül szögsebességgel forgatjuk. Határozzuk meg a helyzetvektor-idő függvényt. A időpontban a pont koordinátái .

A mozgás vetülete az síkra egyenletes körmozgás, a tengelyre pedig egyenesvonalú egyenletes mozgás. Így a paraméteres előállítás:

, azaz a regularitási feltétel teljesül. Ezt a görbét hengeres csavarvonalnak nevezzük (3.1. ábra).

3.1. Algoritmus. (görbék poligonális approximációja) A ( vagy 3) folytonos parametrizált görbe ábrázolásához osszuk fel a paraméter intervallumot egyenlő részekre, azaz jelöljük ki a

paraméterértékeket valamely természetes szám rögzítése után. A görbét a

poligonnal modellezzük.

 DRAWCURVE 

Speciális esetben kapjuk a folytonos függvény grafikonját, ekkor , ahol a szóban forgó függvény.

3.2. Megjegyzés. A paramétertartomány felosztására nem mindig az egyenletes (uniformális) felosztást érdemes használni. A nagyobb görbületű részeken a beosztást gyakran célravezető sűríteni (adaptív mintavételezés.) Annak megállapítására, hogy kell-e a beosztást finomítani egy adott intervallumban, több kritériumot is lehet használni. Ezek közül felsorolunk néhányat. Legyen ,

  • a háromszög területe kisebb, mint egy rögzített hibahatár

  • egy rögzített hibahatárnál közelebb esik a szakaszhoz.

  • .

Az érték kiválasztására a módszer nagyon érzékeny. A legegyszerűbb, ha .

 ÖSSZEFOGLALÓ 

parametrizált görbe: differenciálható leképezés.

parametrizált görbe rajza: poligonális approximáció uniformális vagy adaptív mintavételezéssel.

3.2. A keverési elv

A számítógéppel támogatott tervezésben, rajzolásban fontos szerepe van a parametrizált görbéknek. A görbemodellezés általunk vizsgált alapfeladata, hogy egy szabad formájú görbe (pl. szabad kézzel megrajzolt görbe) parametrizált modelljét adjuk meg. A szabad formájú görbét nem biztos, hogy pontosan tudjuk paraméterezni, a cél az, hogy a modell valamilyen értelemben közelítse az eredeti görbét. Erre az egyik általános módszer a súlyozásos (vagy más szóval keveréses) módszer. Ez abból áll, hogy rögzítünk bizonyos pontokat –az úgynevezett kontrollpontokat– majd ezeket polinomiális súlyfüggvényekkel (a szakirodalomban elterjedt angol terminológia blending function, azaz keverő függvény) súlyozzuk (keverjük).

3.3. Definíció. A ( vagy ) kontrollpontokhoz és , () a súlyfüggvényekhez tartozó modellgörbe

Tehát minden paraméterértékre megegyezik a kontrollpontok súlyokkal vett súlyozott közepével. -re síkgörbét, -ra térgörbét kapunk.

3.4. Definíció. Ha minden paraméterértékre , akkor azt mondjuk, hogy a súlyfüggvények egységbontást alkotnak.

Ha a súlyfüggvények egységbontást alkotnak, akkor a modell paraméteres előállítása is egyszerűsödik:

továbbá a modellre egy fontos tulajdonság, az affin invariancia teljesül: a modellgörbe affin képe megegyezik a kontrollpontok affin képéhez tartozó modellgörbével, ugyanazon keverő függvényekkel.

3.5. Tétel. (Affin invariancia) Legyen ,

affin transzformáció,

parametrizált görbe, ahol

teljesül. Ekkor

Bizonyítás.

Ha a súlyfüggvények az egységbontás tulajdonsága mellett ráadásul nem negatívak, akkor újabb fontos geometriai tulajdonság, a konvex burokban maradás is teljesül. Emlékeztetőül, egy ponthalmazt konvexnek nevezünk, ha bármely két pontjával együtt a két pont összekötő szakaszát is tartalmazza, azaz a halmaz konvex, ha

Egy ponthalmaz konvex burka alatt azt a legszűkebb konvex halmazt értjük, amely az adott halmazt tartalmazza. Egyszerűen belátható, hogy egy halmaz konvex burkát megkaphatjuk a halmazt tartalmazó összes konvex halmaz metszeteként. Kevésbé nyilvánvaló, hogy egy ponthalmaz konvex burka megkapható a pontjaiból képezett összes konvex lineáris kombináció uniójaként. (A lineáris kombináció konvex, ha és .) Megjegyezzük még, hogy véges sok pont konvex burka esetleg elfajuló konvex sokszöglemez (síkban) vagy konvex poliédertest (térben). Mivel egységbontó és nemnegatív súlyfüggvények mellett (3.2) konvex lineáris kombináció, ezért a kontrollpontok konvex burkában van.

3.6. Tétel. (konvex burokban maradás) Ha

parametrizált görbe, ahol

teljesül, akkor a kontrollpontok konvex burkában van.

Ha a modellgörbe a kontrollpontokat tartalmazza, akkor azt interpolációs görbének nevezzük. Az approximációs görbe nem feltétlenül tartalmazza a kontrollpontokat, de azokhoz (valamilyen értelemben) „közel” halad.

Interpolációra a gyakorlatban sokszor előfordul az ún. interpolációs alapfeladat. Adottak a pontok, valamint az paraméterértékek. Olyan legalább osztályú parametrizált görbét keresünk, hogy

 ÖSSZEFOGLALÓ 

modellgörbe: .

egységbontás: .

affin invariancia: ha a súlyfüggvények egységbontást alkotnak, akkor a modellgörbe affin képe megegyezik a kontrollpontok affin képéhez tartozó modellgörbével ugyanazon keveréssel.

konvex burokban maradás: ha a súlyfüggvények nemnegatívak és egységbontást alkotnak, akkor a modellgörbét a kontrollpontok konvex burka tartalmazza.

interpoláló görbe: valamely adott paraméterrendszerre.

3.3. Szplájnok

3.7. Definíció. Az paraméterértékekhez, az ún. csomópontokhoz tartozó osztályú szplájn alatt olyan legalább osztályú parametrizált görbét értünk, melyre a

parametrizált görbék sima (azaz ) görbeívek. A

görbepontnak a lokális, míg a globális paramétere.

a szplájn csomópontvektora. Ekvidisztáns csomópontvektorról akkor beszélünk, ha az egymást követő csomópontok távolsága ugyanaz.

A szplájn tehát szakaszonként sima parametrizált görbe, és a görbeszakaszok csatlakozási pontjában legalább -szeri differenciálhatóságot írunk elő. Lábjegyzet. A gyakorlatban különösen fontos a osztályú csatlakozás, mert reguláris görbék osztályú csatlakozása görbületfolytonos szplájnt ad. A görbület a sebességből és a gyorsulásból kifejezhető:

Vizsgáljuk meg a osztályú differenciálhatóság feltételét. Globális paraméterrel

így az összetett függvény differenciálási szabálya szerint

Az csomópontnál balról a , jobbról a görbeszakasz deriváltjait kell képezni:

így a osztályú csatlakozás szükséges és elégséges feltétele, hogy

Megjegyezzük, hogy előfordulhat az, hogy a szplájn ugyan osztályú, de mégsem reguláris, mert valamelyik csomópontban a sebességvektor zéróvektor: ekkor a görbének ebben a csomópontban fordulópontja van.

Ekvidisztáns csomópontvektor pl. a . Ekkor

továbbá

Ekvidisztáns csomópontvektor esetén a osztályú differenciálhatóság feltétele is egyszerűsödik. Lokális paraméterekkel:

Az előzőekhez hasonlóan kaphatjuk meg a szplájn osztályú differenciálhatóságának feltételét. A már megkapott

(ld. (3.3)) feltétel mellett teljesülnie kell még a

feltételnek is. A magasabb rendű szpálnokra analóg módon folytathatjuk a töréspontokban kirótt feltétel megadását:

3.3. Példa. (töröttvonal) A legegyszerűbb (nem triviális) szplájn a töröttvonal, amely az interpolációs alapfeladatnak osztályú megoldása. Jelölje az -dimenziós kontrollpontokat és legyen ,

súlyfüggvénye

Eszerint () súlyfüggvénye

végül súlyfüggvénye

Megállapíthatjuk, hogy a súlyfüggvények nem negatívak és egységbontást alkotnak, tehát teljesül a konvex burokban maradás és az affin invariancia tulajdonsága. Mivel (), ezért ez egy interpolációs görbe. A szplájn görbeszakaszai a kontrollpontokban töréssel, azaz nem differenciálhatóan csatlakoznak: a szplájn osztályú. (A csatlakozási pontokon kívül természetesen a szplájn osztályú, azaz sima.) Ez a szplájn lokálisan változtatható, egy kontrollpont legfeljebb két görbeszakaszra van hatással, a többi görbeszakaszt a kiválasztott kontrollpont változtatása nem érinti.

 ÖSSZEFOGLALÓ 

-osztályú parametrizált szplájn: szakaszonként sima, az csomópontokban -szer differenciálható görbe.

a szplájn -szer differenciálható az töréspontban: ha

ahol

3.4. Lagrange-interpoláció

A Lagrange-interpolációs polinom olyan legfeljebb -ed fokú polinom, mely grafikonja áthalad az páronként különböző rendezett számpárokon.

3.8. Definíció. Az pontokhoz tartozó Lagrange-interpolációs polinom

A (3.5) képletben szereplő

polinomokat az alappontokhoz tartozó Lagrange-bázisfüggvényeknek nevezzük.

3.2. Algoritmus. A (3.5) polinom „atomi” eleme az tört. Ennek kiszámítását úgy végezzük el, hogy esetén értéke 1 legyen:

 Lagrange() 

A Lagrange-interpolációs polinom kiszámításánál az abszcissza értékek az vektorban, a hozzájuk tartozó megfelelő ordináta értékek az vektorban vannak. A polinomot -ben számítjuk ki.

 LAGRANGEINTERPOLATION 

A definícióból közvetlenül következik, hogy

továbbá ugyanazon alappontokhoz tartozó Lagrange bázisfüggvények egységbontást alkotnak:

Ugyanis az egységbontás tulajdonsága az alappontokban (3.7) miatt teljesül, azonban nem konstans legfeljebb -ed fokú polinom -szer ugyanazt az értéket nem veheti föl.

A (3.5) képlet még síkban sem alkalmas közvetlenül az interpolációs feladat megoldására, mert az eredmény minden esetben polinom grafikonját adja, azaz a megoldás a kontrollpontok sorrendjét nem veszi figyelembe (ld. 3.2. ábra).

3.2. ábra - A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe \mathbf{p}_{0} -tól indulna és \mathbf{p}_{4} -ben végződne, vö. 3.3. ábra.-tól indulna és A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe \mathbf{p}_{0} -tól indulna és \mathbf{p}_{4} -ben végződne, vö. 3.3. ábra.-ben végződne, vö. 3.3. ábra.

A Lagrange-interpolációs polinom a kontrollpontok sorrendjét nem veszi figyelembe. Ugyanezen kontrollpontokhoz tartozó interpolációs görbe \mathbf{p}_{0} -tól indulna és \mathbf{p}_{4} -ben végződne, vö. 3.3. ábra.


A módszer a Lagrange-interpolációs polinomok egységbontó tulajdonsága miatt alkalmas a (3.2) általános görbemodellezési elv alkalmazására, azaz görbék interpolációjára. Ehhez ki kell jelölnünk egy , paraméterrendszert. Az szeretnénk, ha az interpolációs görbe az pontban a kontrollpontot adná.

3.9. Definíció. A (, ) kontrollpontokhoz és paraméterrendszerhez tartozó Lagrange-interpolációs görbe alatt a

parametrizált görbét értjük. (A paramétertartomány a valós számok tetszőleges, a paraméterrendszert tartalmazó intervalluma lehet.) Az paraméterértékeket csomópontoknak is nevezzük.

(3.7) miatt , azaz az interpolációs feladat osztályú megoldását kapjuk.

Az interpolációs görbe függ a csomópontok választásától, amely önkényes. Lehetséges, hogy az paraméterértékek egyenlő távolságra vannak egymástól, azaz (ekvidisztáns paraméterezés). Az is kézenfekvő választás, hogy a paraméterértékek távolsága vegye figyelembe a kontrollpontok távolságát azaz legyen tetszőleges, továbbá

Az ilyen paraméterezést röviden arányos paraméterezésnek nevezzük. (Ld. 3.3. ábra!)

3.3. ábra - Lagrange-interpoláció ekvidisztáns paraméterrendszerrel (piros görbe) és arányos paraméterezéssel (kék görbe).

Lagrange-interpoláció ekvidisztáns paraméterrendszerrel (piros görbe) és arányos paraméterezéssel (kék görbe).


A Lagrange-interpolációs módszer előnye, hogy az interpolációs feladatra osztályú megoldást ad, hátránya, hogy a kontrollpontok számának növelésével a fokszám nő, ugyanakkor ekvidisztáns csomópont vektorra az interpolációs görbe hibája a fokszám növelésével egyre nagyobb lehet, mint azt a következő példa mutatja.

3.4. Példa. (Runge-jelenség, ld. 3.4. és 3.5. ábra!)

3.4. ábra - A Runge-függvény (kékkel) és interpolációja 15-öd fokú Lagrange-interpolációs polinommal, mely ekvidisztáns csomópontokhoz tartozik

A Runge-függvény (kékkel) és interpolációja 15-öd fokú Lagrange-interpolációs polinommal, mely ekvidisztáns csomópontokhoz tartozik

3.5. ábra - A Runge-függvény (kékkel) és interpolációja 15-öd fokú Lagrange-interpolációs polinommal, mely Csebisev-féle csomópontokhoz tartozik

A Runge-függvény (kékkel) és interpolációja 15-öd fokú Lagrange-interpolációs polinommal, mely Csebisev-féle csomópontokhoz tartozik


Legyen (), az úgynevezett Runge-függvény. Vegyünk fel ekvidisztáns csomópont vektort a intervallumban. Az interpolációs polinom hibája (különösen a , 1 közelében) a csomópontok számának növelésével egyre nagyobb: ekvidisztáns csomópontok általában alkalmatlanok magasabb fokszámú polinomiális interpolációra. Ha a Runge-függvény interpolációját az , csomópontokra (az ún. Csebisev-csomópontokra) végezzük el, akkor egészen más eredményt kapunk.

 ÖSSZEFOGLALÓ 

Lagrange-bázisfüggvények: adott az csomópont vektor .

Lagrange-interpolációs görbe: adott az csomópont vektor és az kontrollpontok.

3.5. Harmadfokú Hermite-görbék

3.10. Definíció. Parametrizált harmadfokú görbeíven, röviden harmadfokú görbén egy

parametrizált görbét értünk. a görbe algebrai együtthatói.

3.11. Tétel. A harmadfokú görbeívet egyértelműen meghatározzák a görbe geometriai együtthatói, azaz

Bizonyítás. . A geometriai együtthatók egyszerűen kifejezhetők az algebrai együtthatókkal:

Innen az algebrai együtthatókat kifejezve:

Tehát

3.12. Definíció.

az ún. harmadfokú Hermite-polinomok.

Azaz egy harmadfokú görbe a geometriai együtthatókkal az alábbiak szerint fejezhető ki:

3.6. ábra - Harmadfokú görbeív a geometriai együtthatókkal

Harmadfokú görbeív a geometriai együtthatókkal

3.7. ábra - A harmadfokú görbeív függése a végpontjaiban adott sebességvektorok irányától

A harmadfokú görbeív függése a végpontjaiban adott sebességvektorok irányától

3.8. ábra - A harmadfokú görbeív függése a végpontjaiban adott sebességvektorok nagyságától

A harmadfokú görbeív függése a végpontjaiban adott sebességvektorok nagyságától

3.5.1. Három pont interpolációja harmadfokú görbeívvel a síkban.

Keressünk olyan harmadfokú görbeívet, melynek adottak végpontjai, a végpontokban az érintő egyenesek, valamint a görbe egy belső pontja.

Jelölje a végpontokat és ; a belső pontot pedig . Az érintő egységvektorok legyenek és . A problémában három ismeretlen van: a , pályasebességek a kezdő- és végpontban, valamint a belső pont paramétere. Ezeket az ismeretleneket úgy keressük, hogy

teljesüljön. Fölhasználva, hogy , azt kapjuk, hogy

Tekintsük (3.9)-t, mint az , , ismeretlenekre fölírt lineáris egyenletrendszert, ahol az egyenleteket a koordináták adják. Síkban (3.9) lineáris egyenletrendszer csak két egyenletből áll. A paramétert tetszőlegesen megválaszthatjuk. Legyen pl. :

azaz

Ha a két érintő egységvektor lineárisan független, akkor az egyenletrendszer -ra és -re egyértelműen megoldható. A bal oldalt -lel jelölve, és a megoldásokat Cramer-szabály segítségével kifejezve:

3.9. ábra - Három pont interpolációja harmadfokú görbeívvel

Három pont interpolációja harmadfokú görbeívvel

3.5.2. Az interpolációs alapfeladat osztályú megoldása harmadfokú Hermite-ívekkel.

A kontrollpontok mellett adjuk meg tetszőlegesen a sebességvektorokat. A csomópont vektor legyen . A görbeszakasz legyen a geometriai együtthatókhoz tartozó harmadfokú Hermite-görbe, azaz

Mivel ezért a

szplájn az interpolációs alapfeladat osztályú megoldását adja.

A gyakorlatban előfordul, hogy csak a kontrollpontokat ismerjük, a sebességvektorokat nem. A sebességvektorokat ilyenkor valamilyen „recept” alapján adjuk meg. Például legyen

A „receptet” jól motiválja, ha a pillanatnyi sebesség fizikai fogalmára gondolunk: a , közötti ívet a mozgó pont (ekvidisztáns csomópontvektor mellett) 2 egység idő alatt teszi meg. Az elmozdulásvektor és a megtett idő hányadosa adja a pillanatnyi sebesség közelítését -ben. (3.10) nyilvánvalóan nem alkalmazható az és indexekre. -ra lehet például

ahol a kontrollpont tükörképe a és pontok összekötő egyenesére, míg

ahol a kontrollpont tükörképe a és összekötő egyenesére (ld. 3.10. ábra).

3.10. ábra - Görbeillesztés Hermite-eljárással: Görbeillesztés Hermite-eljárással: C^{1} -osztályú interpolációs görbe-osztályú interpolációs görbe

Görbeillesztés Hermite-eljárással: C^{1} -osztályú interpolációs görbe

3.5.3. Az interpolációs alapfeladat osztályú megoldása harmadfokú Hermite-ívekkel.

Ismét a csomópont vektorral dolgozunk. Ha a szplájn legalább osztályú, az azt jelenti, hogy:

A görbe sebességvektorát adjuk meg tetszőlegesen a rögzített kontrollpontokban a vektorokkal, azaz

és

A második deriváltakra vonatkozó (3.11) feltételt használva:

A deriváltakat kiszámítva, behelyettesítve a 0 és 1 értékeket, valamint rendezve:

Ez koordinátánként egyenlet koordinátáira, azaz a és vektorokat szabadon megválasztva koordinátánként egy típusú lineáris egyenletrendszert kapunk:

Az előbbi lineáris egyenletrendszer alapmátrixa:

Belátjuk, hogy , tehát és tetszőleges megválasztása esetén az egyenletrendszer a vektorokra egyértelműen megoldható, így a görbeillesztési feladatnak egyértelműen van megoldása. ( és megválasztására a osztályú megoldásnál elmondottakat lehet alkalmazni.)

Határozzuk meg a (3.12) mátrix determinánsát. (Belátva ezzel, hogy a determináns ténylegesen nem zéró.) A determinánst az utolsó sor szerint kifejtve:

Tekintsük a valós sorozatok vektorterét. Ebben a vektortérben kétdimenziós altér az

rekurziónak eleget tévő sorozatok tere, melyet jelöljön . Olyan számot keresünk, melyre

eleme -nek. A rekurziót leíró feltétel -ra a feltételt adja, ahonnan és . Tehát a

sorozatok bázisát adják. Határozzuk meg a sorozat koordinátáit a bázisra vonatkozóan:

ahonnan

Tehát

, mert az első tag egytől nagyobb, a második tag pedig egytől kisebb.

3.13. Megjegyzés. Zárt göbe esetén . Ha azt is előírjuk, hogy , továbbá a teljes görbe legalább osztályú legyen, akkor az előzőekhez hasonló módon:

koordinátánként egyenlettel és ismeretlennel. Az alapmátrix determinánsa nem zéró, azaz zárt görbe esetén a kontrollpontok a görbét egyértelműen meghatározzák a görbe legalább kétszeri folytonos differenciálhatóságát megkövetelve.

 ÖSSZEFOGLALÓ 

harmadfokú görbeív: az , , , algebrai együtthatókkal

a görbe geometriai együtthatói:

  • (kezdőpont),

  • (végpont),

  • (kezdősebesség),

  • (végsebesség).

harmadfokú Hermite-görbe: a görbe paraméteres előállítása a geometriai együtthatókkal:

ahol () a harmadfokú Hermite-polinomok.

az interpolációs feladat megoldása: a kontrollpontokban tetszőlegesen megadva a sebességvektorokat, két kontrollpont között harmadfokú Hermite-görbét alkalmazva, az interpolációs alapfeladat osztályú megoldását kapjuk.

3.6. Bézier-görbék

3.6.1. A Bernstein-polinomok.

Ebben a szakaszban egy egységbontást alkotó nemnegatív polinomrendszert adunk meg.

3.14. Definíció. Legyen nemnegatív egész, tetszőleges egész. A

polinomot Bernstein-polinomnak nevezzük, ahol

A definícióból közvetlenül leolvasható, hogy a Bernstein-polinomok nemnegatívak a intervallumon, pozitívak a intervallumon. Teljesül továbbá az alábbi szimmetria tulajdonság:

3.11. ábra - Ötödfokú Bernstein-polinomok grafikonja a Ötödfokú Bernstein-polinomok grafikonja a [0,1] intervallumon intervallumon

Ötödfokú Bernstein-polinomok grafikonja a [0,1] intervallumon

3.15. Tétel. A Bernstein-polinomok kielégítik az alábbi rekurziót:

továbbá

Bizonyítás. Az első és az utolsó formula nyilvánvaló. A második állítás bizonyításához felhasználjuk a binomiális együtthatókra fennálló rekurzív formulát:

Tehát

3.16. Tétel. A Bernstein-polinomok egységbontást alkotnak, azaz

Bizonyítás. Alkalmazzuk a binomiális tételt:

3.17. Tétel. A Bernstein-polinomok deriváltja:

Bizonyítás. A szorzatfüggvény deriválási szabálya szerint:

3.18. Következmény. esetén a polinomnak -nél lokális maximuma van.

3.12. ábra - A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: B_{n-1}^{n} , (n=1\ldots16 ) grafikonja, (A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: B_{n-1}^{n} , (n=1\ldots16 ) grafikonja) grafikonja

A Bernstein-polinomok „csúcsosodó” tulajdonsága a lokális maximum körül: B_{n-1}^{n} , (n=1\ldots16 ) grafikonja

A későbbiek során majd felhasználjuk az alábbi összefüggést.

3.19. Tétel. .

 ÖSSZEFOGLALÓ 

Bernstein polinomok: tulajdonságai

  • , ha ,

  • egységbontás: ,

  • , ; 0, 1-ben minden más polinom értéke 0,

  • deriváltja

3.6.2. Bézier-görbék.

A Bernstein-polinomokkal a „keverési elv” szerint (ld. 3.2. szakasz) lehet modellgörbét konstruálni.

3.20. Definíció. A kontrollpontokhoz tartozó Bézier-görbe alatt a

görbét értjük. A

töröttvonalat a görbe kontrollpoligonjának nevezzük, míg a görbe fokszáma.

3.13. ábra - Harmadfokú Bézier-görbe és a kontrollpoligonja

Harmadfokú Bézier-görbe és a kontrollpoligonja

3.21. Tétel. Minden Bézier-görbe rendelkezik az alábbi tulajdonságokkal:

(1) Affin invariancia: ha affin leképezés, akkor

(2) Konvex burokban maradás: minden paraméterértékre teljesül, hogy

(3) Végpont interpoláció: , .

(4) Szimmetria:

Az első és második tulajdonság minden nemnegatív, egységbontást alkotó súlyfüggvény rendszerre teljesül. A harmadik és negyedik tulajdonság pedig a Bernstein-polinomok definíciójából rögtön leolvasható.

3.5. Példa. . Belátjuk, hogy három nem kollineáris kontrollpont által meghatározott Bézier-görbe egy parabolaív. Vegyük tehát a másodfokú Bézier-görbét:

Helyezzünk el egy Descartes koordináta-rendszert a következőképpen: legyen , az tengely irányvektora pedig . koordinátái legyenek , . Ekkor, koordináta-függvényeit -val és -val jelölve:

Az első egyenletből , amit a második egyenletbe beírva:

ami egy parabola egyenlete.

3.6. Példa. A , , , kontrollpontokhoz tartozó harmadfokú Bézier-görbe geometriai együtthatói:

A harmadfokú Bézier-görbék és a korábbiakban tárgyalt szintén harmadfokú Hermite-görbék között nincs különbség, az előállításhoz használt polinombázis más.

 ÖSSZEFOGLALÓ 

Bézier-görbe:

3.6.3. Bézier-görbe deriváltja.

Határozzuk meg a

Bézier-görbe deriváltját (sebesség vektormezőjét)! Felhasználva a Bernstein-polinomok deriváltjára kapott (B3) összefüggést:

A zérus tagokat elhagyva:

Az első tagban az indexet transzformálva:

tehát

Bevezetve a jelölést:

A végeredményről leolvasható, hogy a derivált maga is Bézier-görbe:

3.22. Tétel. A kontrollpontokhoz tartozó Bézier-görbe deriváltja nem más, mint az kontrollpontokhoz tartozó Bézier-görbe.

Alkalmazzuk (3.14) összefüggést speciálisan a végpontokra! A Bernstein polinomokat a 0, 1 paramétereknél kiértékelve:

A fenti értékek a kezdőponttal és a végponttal együtt a görbe geometriai együtthatóit adják.

3.23. Következmény. A kontrollpontokhoz tartozó Bézier-görbe geometriai együtthatói , , , .

A Bézier-görbék magasabb rendű deriváltjait a 3.22. tétel alapján könnyű meghatározni, hiszen magát a tételt kell szukcesszíven alkalmazni.

A végpontokban:

illetve

Tovább folytatva kiszámíthatjuk a magasabb rendű deriváltakat.

3.24. Definíció. Legyenek adott kontrollpontok,

A (, ) vektorokat az adott kontrollpont sorozat -differenciáinak nevezzük.

3.25. Tétel. Bézier-görbe -edik deriváltja olyan Bézier-görbe, melynek kontrollpontjai az eredeti görbe kontrollpontjaival kifejezve:

Azaz:

 ÖSSZEFOGLALÓ 

Bézier-görbe deriváltja:

  • Bézier-görbe deriváltja Bézier-görbe,

  • ,

  • ,

  • ,

  • .

3.6.4. Pont a Bézier-görbén: a de Casteljau-algoritmus.

Ebben a szakaszban a Bézier-görbéknek egy geometriailag motivált, intuitív származtatását adjuk meg, amely Paul de Casteljau nevéhez fűződik (1959). A Bézier-görbék elméletét ezen geometriai származtatás alapján is le lehet írni. Az algoritmus nem más, mint egy rekurzió. Az első generációban a kontrollpontok vannak. Az új generációt a régiből úgy kapjuk, hogy a régi generáció pontjai által meghatározott töröttvonal szakaszait arányban felosztjuk, ld. 3.14. ábra. A de Casteljau-algoritmus alapján a Bézier-görbe pontjai kiszámíthatók anélkül, hogy a Bernstein-polinomokba behelyettesítenénk.

3.14. ábra - A de Casteljau algoritmus

A de Casteljau algoritmus

3.26. Tétel. Legyenek adva a kontrollpontok, az általuk meghatározott Bézier-görbe , rögzített paraméterérték. Legyen továbbá

és

Ekkor

speciálisan .

Bizonyítás. A (3.20) relációt szerinti teljes indukcióval látjuk be. -ra definíció szerint igaz. Tegyük fel, hogy az állítás a -edik generációs pontokra igaz. Belátjuk a -edik generációs pontokra. Alkalmazzuk a -edik generációs pontok definícióját, majd az indukciós feltevést:

a második szummációban indextranszformációval folytatva

különválasztva az első összeg első és a második összeg utolsó tagját

Mivel

hasonlóan

így az átalakítást tovább folytatva

a Bernstein-polinomok rekurzív tulajdonságát alkalmazva

A tételben szereplő pontokat a paraméterértékhez tartozó de Casteljau-pontoknak nevezzük.

3.7. Példa. Keressük meg a , , , kontrollpontokhoz tartozó Bézier-görbe paraméterértékhez tartozó pontját a de Casteljau-algoritmus alapján!

A megoldáshoz érdemes az alábbi egyszerű sémát használni. Az oszlopokban az algoritmus egymást követő lépéseiben szereplő de Casteljau-pontok találhatók. Az utolsó oszlop egyetlen eleme a keresett pont.

3.3. Algoritmus. A POINTONTHECURVE() algoritmus a de Casteljau-algoritmus alapján kiszámítja a görbepontot. A számítás során a régi generáció pontjait nem őrizzük meg (kivéve a nulladik generációt, vagyis a kontrollpontokat), hanem lecseréljük az új generációval.

 POINTONTHECURVE() 

3.4. Algoritmus. A számítás rekurzióval is programozható (ld. a DECASTELJAU() pszeudokódot). Ez a rekurzió egyszerű és elegáns, de a görbepont kiszámításához a DECASTELJAU függvény meghívásainak száma egy -ed fokú görbénél , azaz a kontrollpontok számának növekedésével exponenciálisan növekszik, tehát magasabb fokszámú görbék esetén nem célszerű alkalmazni. (A 3.7. példa megoldásában a szakasz osztást hatszor végeztük el, a rekurzióhoz viszont 15-ször kell elvégezni. Ennek oka, hogy ugyanazt a de Casteljau-pontot a rekurzív módszer esetén többször is ki kell számolni.)

 DECASTELJAU() 

Egy pont a Bézier-görbén a görbét két részgörbére osztja. A következő tételben belátjuk, hogy ezen görbék maguk is Bézier-görbék, ráadásul kontrollpontjaik a de Casteljau-algoritmussal könnyen származtathatók.

3.27. Tétel. (Bézier-görbe felosztása) Legyen a kontrollpontokhoz tartozó Bézier-görbe, rögzített. Legyen

Ekkor és szintén -edfokú Bézier-görbék, továbbá kontrollpontjai az eredeti görbe paraméterértékhez tartozó de Casteljau-pontjaival kifejezve:

míg kontrollpontjai:

Bizonyítás. A bizonyítást a görbére végezzük el. A (3.20) relációt használva:

A de Casteljau-algoritmus alapján számítógéppel nagyon hatékonyan lehet Bézier görbét rajzolni. értékre az algoritmus során csak 2-vel kell osztani, ami a kettes számrendszerben nagyon egyszerű. Kiszámítjuk és kirajzoljuk az -hez tartozó görbepontot. Nevezzük ezt a görbe felezőpontjának. Ez a pont a görbét az előző tétel szerint két Bézier-görbére osztja, amelyek kontrollpontjait ismerjük, az algoritmus végrehajtása során kiszámítottuk. Meghatározzuk és kirajzoljuk mindkét görbe felezőpontját és az eljárást tovább folytatjuk a keletkezett négy Bézier görbére, és így tovább, mindaddig, amíg az egymást követő pontok a praktikus igényeknek megfelelő közelségben lesznek és a poligonális approximáció elvégezhető. (Ld. 3.15. ábra.)

3.15. ábra - Harmadfokú Bézier-görbe rajzolása a de Casteljau-algoritmus alapján. A felező algoritmust ötször hajtottuk végre.

Harmadfokú Bézier-görbe rajzolása a de Casteljau-algoritmus alapján. A felező algoritmust ötször hajtottuk végre.

3.5. Algoritmus. A következő algoritmus egy rekurzív eljárás a Bézier-görbe rajzolására, amely a felezést használja. Az algoritmus adaptív mintavételezésen alapul, azaz ahol a Bézier-görbe nagyobb görbületű, ott több pontot rajzolunk meg. A lényeg, hogy ha a felezést „elég sokszor” elvégeztük, azaz a kontrollpoligon „elég egyenes”, akkor a Bézier-görbe helyett a kezdő- és végpontot összekötő szakaszt rajzoljuk meg.

Fontos kérdés, hogy milyen módon állapítjuk meg azt, hogy a kontrollpoligon „elég egyenes”. Egyszerű módszer, ha a kontrollpoligon hosszát összehasonlítjuk a kezdő és végpont távolságával. Ha a különbség egy hibahatár alatt marad, akkor a kontrollpoligonról kijelenthetjük, hogy „elég egyenes”, és a Bézier-görbét approximálhatjuk a kezdő- és végpontját összekötő szakasszal.

 BEZIER() 

3.16. ábra - Bézier-görbe rajzolása szelektív mintavételezéssel (Bézier-görbe rajzolása szelektív mintavételezéssel (n=9 ). Az ábrán a poligonális approximációhoz használt pontokat is berajzoltuk.). Az ábrán a poligonális approximációhoz használt pontokat is berajzoltuk.

Bézier-görbe rajzolása szelektív mintavételezéssel (n=9 ). Az ábrán a poligonális approximációhoz használt pontokat is berajzoltuk.

 ÖSSZEFOGLALÓ 

de Casteljau-algoritmus: Kontrollpontok:

az paraméterhez tartozó de Casteljau-pontok:

Ekkor .

3.6.5. Bézier-görbe fokszám emelése

Egy bonyolultabb szabad formájú görbe Bézier-típusú modellezéséhez két fő stratégia vezethet. Az egyik, hogy több kontrollpont veszünk föl, és ezáltal alakítjuk a görbét, a másik, hogy több, alacsony fokszámú görbét illesztünk egymáshoz megfelelő feltételekkel. (És persze ezeket lehet kombinálni.) A több kontrollpont fölvételének az ára a magasabb fokszám, egyik előnye viszont az egész görbe akárhányszori differenciálhatósága. (Ennek következménye a görbület folytonos változása.)

A magasabb fokszámot is megengedő modellezés egyik fontos technikája, hogy a valahogyan már kialakított -edfokú „félkész” görbét előállítjuk kontrollponttal is (azaz a fokszámot eggyel megnöveljük) és a több kontrollponttal a görbét finomabban alakítjuk tovább.

Legyen tehát a kontrollpontokhoz tartozó Bézier-görbe. Keressük a kontrollpontokat, hogy az ezekhez tartozó Bézier-görbe szintén . Nyilván és . Tehát

azaz

Szorozzuk meg a bal oldalt -val:

együtthatóját összehasonlítva mindkét oldalon:

A binomiális együtthatók definícióját beírva és a lehetséges egyszerűsítéseket elvégezve adódik a következő állítás.

3.28. Tétel. Legyen a kontrollpontokhoz tartozó Bézier-görbe, továbbá , és

Ekkor a kontrollpontokhoz tartozó Bézier-görbe szintén .

3.17. ábra - Bézier-görbe fokszám emelése: ugyanazon görbét előállítottuk harmad-, negyed-, ötöd- és hatodfokú Bézier-görbeként is

Bézier-görbe fokszám emelése: ugyanazon görbét előállítottuk harmad-, negyed-, ötöd- és hatodfokú Bézier-görbeként is

3.6.6. Kvadratikus, osztályú Bézier-szplájn.

A kontrollpontokhoz tartozó kvadratikus Bézier-görbe legyen , a kontrollpontokhoz tartozó kvadratikus Bézier-görbe pedig , a görbék lokális paramétere. A csatlakozási pont . A két görbe egyesítéséből adódó szplájnt jelölje , melynek csomópont vektora :

Emlékeztetünk arra (ld. (3.3)), hogy osztályban csatlakozik -höz, ha teljesül. A Bézier-görbe deriváltjára vonatkozó összefüggés szerint ennek szükséges és elégséges feltétele, hogy

teljesüljön. Átrendezve:

adódik. Geometriailag a kapott képletből a kontrollpontok kollinearitása is következik, mert a és kontrollpontok konvex lineáris kombinációja. Speciálisan ekvidisztáns csomópontok (azaz ) mellett

azaz a szakasz felezőpontja. A (3.22) feltételt átfogalmazhatjuk úgy, hogy a szakaszt arányban osztja:

Megfordítva, ha két csatlakozó kvadratikus Bézier-görbére kollineárisak, azaz , egyirányú vektorok, akkor a csomópont vektort meg lehet úgy határozni, hogy a szplájn osztályú legyen, ugyanis szabad választása mellett az

egyenletből egyértelműen meghatározható úgy, hogy (3.21) teljesüljön:

Gondolatmenetünket alkalmazhatjuk több csatlakozó kvadratikus Bézier-görbére: a osztályú kvadratikus Bézier-szplájn differenciálhatóan csatlakozó másodfokú Bézier-görbékből, azaz parametrizált parabolaívekből áll. Ennek megadásához először kijelöljük a kontrollpontokat, a csatlakozási pontok nélkül – az általuk meghatározott poligont nevezik a szplájn de Boor-poligonjának:

(a kalap a kontrollpont hiányára utal), és megadjuk a csomópontvektort:

A hiányzó kontrollpontokat (3.22) alapján kiszámítjuk:

A gyakorlati tervezésben a de Boor-poligon megadása általában könnyű (jellemző módon egérrel jelöljük ki a kontrollpontokat, majd vonszolással módosíthatjuk), de kevésbé intuitív a csomópont vektor meghatározása. Választhatunk ekvidisztáns csomópontokat, pl. (), de a gyakorlati tapasztalat az, hogy kedvező, ha a csomópont vektor valamilyen módon tükrözi a de Boor-poligon geometriáját. Ilyen pl. a Lagrange-interpolációnál már megismert arányos paraméterezés. Az egyszerűbb megadás végett jelöljük át a kontrollpontokat:

a csomópontokat pedig a következőképpen adjuk meg:

3.6. Algoritmus. A következő algoritmus a de Boor-poligont a teljes Bézier-poligonná konvertálja a csomópontok ismeretében.

 DEBOORTOBEZIER() 

Egy gyakorlati példát adunk, amikor jól alkalmazható a szabadformájú görbék modellezésben a osztályú kvadratikus Bézier-szplájn módszer. Legyenek adva interpoláló pontok a görbén: () és a görbe érintő egyenesei ezekben a pontokban. Az érintők metszéspontjainak meghatározásával megkapjuk a hiányzó kontrollpontokat, azaz a teljes Bézier-poligont. Ezek után a kvadratikus Bézier-görbék lokális paraméterrel rajzolhatók: így készült a 3.18. ábra. Ha a szplájn mentén egy megmunkáló eszközt vezérlünk vagy egy robotot mozgatunk, akkor szempont lehet a sebesség folytonos változása. Ehhez szükség van a szplájn osztályú globális paraméterezésére: (3.21) alapján a kollineáris kontrollpontok osztóviszonyából a csomópont vektor meghatározható. (A szplájnnak van olyan paraméterezése, amely osztályú görbét ad, de ha csak rajzolni akarjuk a szplájnt, akkor erre nem feltétlenül van szükség.)

A kvadratikus Bézier-szplájn tulajdonságai:

  • affin invariancia

  • konvex burokban maradás

  • végpont interpoláció

  • lokális változtathatóság.

A konvex burokban maradás szigorúbb formában is teljesül, mint a Bézier-görbéknél: a Bézier-szplájn a háromszöglemezek uniójában helyezkedik el.

Megemlítjük még a kvadratikus Bézier-szplájn még egy tulajdonságát: a kvadratikus Bézier-szplájn parabolaívekből áll, amelyek síkgörbék. Ugyanakkor a kontrollpoligon lehet térbeli is, így a kvadratikus Bézier-szplájn szakaszonként síkgörbékből álló osztályú térgörbe. Ez a tulajdonság rámutat a kvadratikus Bézier-szplájnok hátrányára: a simúlósík nem folytonosan változik, a csatlakozási pontoknál „ugrások” lehetnek a simulósík állásában.

3.18. ábra - Az ábrán látható kvadratikus Bézier-szplájn úgy készült, hogy felvettem a modellezendő szabadformájú görbén néhány kontrollpontot (telt piros) és ezekben (hozzávetőleges) érintőt húztam a görbéhez. Az érintők metszéspontjai adták a szplájn hiányzó kontrollpontjait.

Az ábrán látható kvadratikus Bézier-szplájn úgy készült, hogy felvettem a modellezendő szabadformájú görbén néhány kontrollpontot (telt piros) és ezekben (hozzávetőleges) érintőt húztam a görbéhez. Az érintők metszéspontjai adták a szplájn hiányzó kontrollpontjait.

 ÖSSZEFOGLALÓ 

kvadratikus, osztályú Bézier-szplájn: A kvadratikus, osztályú Bézier-szplájnt a

de Boor poligonnal és az csomópont vektorral adjuk meg. A hiányzó kontrollpontok a szakasz arányú felosztásával számíthatók:

3.6.7. Kubikus osztályú Bézier-szplájn.

A kontrollpontokhoz tartozó kubikus Bézier-görbe legyen , a kontrollpontokhoz tartozó kubikus Bézier-görbe pedig , a görbék lokális paramétere. A csatlakozási pont . A két görbe egyesítéséből adódó szplájnt jelölje , melynek csomópont vektora :

osztályban csatlakozik -hez, ha és teljesül (ld. (3.3) és (3.4)). Az első feltételt már vizsgáltuk, ez ekvivalens a

relációval, azaz

A második feltételre rátérve, alkalmazzuk a (3.17) és (3.18) összefüggéseket:

Ha a kontrollpontokhoz tartozó kvadratikus Bézier-görbe és a kontrollpontokhoz tartozó kvadratikus Bézier-görbe osztályú csatlakozását vizsgálnánk, akkor ugyanezeket a feltételeket kapnánk, így a két Bézier-görbe egyetlen Bézier-görbét ad (melyet a két eredeti Bézier-görbére oszt fel, ld. 3.27. Tétel), azaz létezik olyan pont, hogy

3.19. ábra - C^{2} osztályú kubikus Bézier-szplájnosztályú kubikus Bézier-szplájn

C^{2} osztályú kubikus Bézier-szplájn

A (3.26) és (3.28) képlet alapján a szplájn megadásában a kontrollpontokat kiváltja a segédpont és a csomópont vektor: (3.28) alapján kiszámítjuk -t és -et, majd (3.26) alapján -t. (Ld. 3.19. ábra!)

Most csatlakozzon több kubikus Bézier-görbe is osztályban:

A görbék egyben osztályban is csatlakoznak, ezért a csatlakozási pontnál ()

Továbbá létezik olyan segédpont (ld. (3.28)), hogy

Az első egyenletben az indexet transzformálva:

(3.31) (koordinátánként) egy inhomogén lineáris egyenletrendszer, amelyből és kifejezhető. Az eredmény:

A kontrollpontok és az

csomópont vektor tehát megadják a szplájnt. A (3.29) és a (3.32) egyenleteket még ki kell egészíteni (3.30) alapján (-et az első, és -t a második egyenletbe beírva)

A fentiekben megadott konstrukció az ún. Böhm-szerkesztés.

3.7. Algoritmus. A következő algoritmus a do Boor-poligont a teljes Bézier-poligonná konvertálja a csomópontok ismeretében, azaz elvégzi a Böhm-szerkesztést. A számolt kontrollpontok kiszámítási módja az algoritmusban nem szerepel, azokat az indexeknek megfelelően kell az előző képletekből alkalmazni.

 DEBOORTOBEZIER() 

A csomópontok megválasztása lehet ekvidisztáns: , de a gyakorlatban bevált az arányosan felvett csomópont vektor:

A kétféle csomópont vektor összehasonlításához ld. a 3.20. ábrát.

3.20. ábra - Kubikus, Kubikus, C^{2} osztályú Bézier-szplájn. Fekete vonal: a de Boor-poligon, piros vonal: a szplájn ekvidisztáns csomópontokkal, kék vonal: a szplájn arányosan felvett csomópontokkal. osztályú Bézier-szplájn. Fekete vonal: a de Boor-poligon, piros vonal: a szplájn ekvidisztáns csomópontokkal, kék vonal: a szplájn arányosan felvett csomópontokkal.

Kubikus, C^{2} osztályú Bézier-szplájn. Fekete vonal: a de Boor-poligon, piros vonal: a szplájn ekvidisztáns csomópontokkal, kék vonal: a szplájn arányosan felvett csomópontokkal.

Ekvidisztáns csomópontok esetén a Böhm-szerkesztés jelentősen egyszerűsödik, és csak felezőpont illetve harmadolópont számítására redukálódik. (ld. 3.21. ábra!)

3.21. ábra - A Böhm-szerkesztés ekvidisztáns csomópontokkal

A Böhm-szerkesztés ekvidisztáns csomópontokkal

 ÖSSZEFOGLALÓ 

Kubikus, osztályú Bézier-szplájn: Kubikus, osztályú Bézier-szplájnt a

de Boor-poligonnal és a csomópont vektorral adunk meg. A hiányzó kontrollpontokat az alábbi, ún. Böhm-szerkesztéssel kapjuk meg:

3.6.8. Racionális Bézier görbék

3.8. Példa. Határozzuk meg egy térbeli Bézier-görbe centrális vetületét! A vetítés centruma legyen a tengely pontja, a képsík az sík. Jelölje a görbe komponensfüggvényeit , azaz

a kontrollpont centrális vetületét jelölje , tehát

a görbe centrális vetülete pedig

A vetület komponensfüggvényeit tovább alakítva:

a nevezőben az egyes helyett -t írva

bevezetve az jelölést

Hasonlóan átalakítva -t,

így

(3.34) nem a kontrollpontokhoz tartozó Bézier-görbe, de a (3.2) általános görbemodellezési elvet kielégíti:

ahol a kontrollponthoz tartozó súlyfüggvény

és a súlyfüggvények egységbontást alkotnak:

A (3.34) görbetípust általánosan megfogalmazva egy új görbeosztályt kapunk.

3.29. Definíció. A , , súlyozott pontrendszerhez tartozó racionális Bézier-görbe alatt a

parametrizált görbét értjük.

Egy kontrollpont súlyának növelésével a görbe az adott kontrollponthoz „húz”, ld. 3.22. ábra!

3.22. ábra - Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1. súlyának változásával. (Kék: Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1., zöld: Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1., piros: Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1.. A többi kontrollpont súlya 1.

Az ábrán harmadfokú racionális Bézier-görbék láthatók. A görbe viselkedését figyelhetjük meg \mathbf{p}_{1} súlyának változásával. (Kék: r_{1}=0,2 , zöld: r_{1}=1 , piros: r_{1}=1,8 . A többi kontrollpont súlya 1.

A (3.35) kifejezésben súlya -ben

így a súlyok összege

A súlyfüggvények egységbontása miatt a (3.35) racionális Bézier-görbére teljesül az affin invariancia, ha az súlyok mindegyike nemnegatív, akkor a konvex burokban maradás tulajdonsága is, emellett ha az első és utolsó súly nem zéró, a végpont interpoláció is. Ha negatív súlyok is szerepelnek, akkor a konvex burokban maradás már nem feltétlenül teljesül (3.23. ábra).

3.23. ábra - Harmadfokú racionális Bézier-görbe negatív súllyal. Az ábrán harmadfokú racionális Bézier görbe látható, Harmadfokú racionális Bézier-görbe negatív súllyal. Az ábrán harmadfokú racionális Bézier görbe látható, r_{1}=-0,5 , megfigyelhetjük, hogy a konvex burokban maradás tulajdonsága nem teljesül., megfigyelhetjük, hogy a konvex burokban maradás tulajdonsága nem teljesül.

Harmadfokú racionális Bézier-görbe negatív súllyal. Az ábrán harmadfokú racionális Bézier görbe látható, r_{1}=-0,5 , megfigyelhetjük, hogy a konvex burokban maradás tulajdonsága nem teljesül.

3.30. Megjegyzés. (Racionális Bézier-görbe, mint Bézier-görbe a projektív térben) Legyenek a kontrollpontok, a súlyok. komponenseit jelölje , így

homogén koordinátáit adja. Írjuk föl a projektív tér kontrollpont rendszeréhez tartozó Bézier-görbét:

Áttérve Descartes-komponensekre:

azaz a kontrollpontokhoz és a súlypontokhoz tartozó racionális Bézier görbe.

Egy Bézier-görbe nem projektív invariáns: a (nem elfajuló) másodfokú Bézier görbeívek parabolaívek, de parabolaív projektív képe lehet más affin típusú másodrendű görbe is, pl. hiperbolaív vagy ellipszisív. Utóbbi görbeívek azonban bizonyosan nem Bézier-görbék. Most vizsgáljuk meg a racionális Bézier-görbék projektív képét!

3.31. Tétel. Egy racionális síkbeli Bézier-görbe projektív invariáns: a

súlyozott kontrollpont rendszerhez tartozó racionális Bézier-görbe projektív képe a súlyozott kontrollpont-rendszerhez tartozó racionális Bézier-görbe, ahol a projektív képe, továbbá , ahol a projektív transzformációt reprezentáló mátrix.

Bizonyítás. Dolgozzunk tehát síkban (), a 3.29. definíció jelölései mellett legyen , . Homogén koordinátákkal

A projektív transzformációt reprezentálja a mátrix. A görbe projektív képe (a továbbiakban minden összegzés -tól -ig fut):

Átalakításokkal:

Mivel a kontrollpont projektív képe

így

Hasonlóan,

azaz

3.9. Példa. (A kör, mint racionális Bézier görbe) Az egységkör szokásos

paraméterezése helyett egy másik paraméterezésre térünk át. Az új paraméter (). Egyszerű trigonometrikus átalakítással:

így

Mivel esetén , illetve ,

Így a nyílt negyedkörív paraméterezésére azt kaptuk, hogy

Legyen , , , , , . A súlyozott kontrollpont-rendszerhez tartozó racionális Bézier görbe pontosan ezt a paraméterezést adja:

 ÖSSZEFOGLALÓ 

racionális Bézier-görbe: A , , súlyozott pontrendszerhez tartozó racionális Bézier-görbe

  • Racionális Bézier-görbe centrális vetülete, projektív képe racionális Bézier-görbe.

  • Racionális Bézier-görbeként minden kúpszelet előállítható.

3.7. B-szplájn görbék

A (racionális) Bézier görbéknek számos előnye mellett megemlíthetünk néhány hátrányát:

  1. A Bernstein-polinomok a intervallumon nem zéró értéket vesznek föl, ezért az egyes kontrollpontok változtatása az egész görbét érinti.

  2. Új kontrollpont bevezetése fokszám növekedésével jár.

Ezzel szemben a B-szplájn görbék esetében a fokszám a kontrollpontok számától független, valamint a görbe az egyes kontrollpontokkal bizonyos értelemben „lokálisan” változtatható.

A B-szplájn görbe alapkoncepciója az eddigiekhez hasonló, a kontrollpontokat súlyfüggvényekkel, az ún. B-szplájn függvényekkel súlyozzuk.

3.7.1. A kvadratikus uniformális B-szplájn.

Legyenek adva a pontok. Határozzuk meg a

kontrollpontokhoz tartozó Bézier-görbét:

3.24. ábra - Kvadratikus B-szplájn görbeív

Kvadratikus B-szplájn görbeív

A kapott másodfokú görbeív ugyan nem megy át kontrollpontokon, de egy nagyon könnyen illeszthető görbetípust ad. Emellett teljesül a konvex burokban maradás tulajdonsága, ugyanis a

súlyfüggvények (az ún. kvadratikus uniformális B-szplájn függvények) nem negatívak és egységbontást alkotnak.

3.25. ábra - Kvadratikus uniformális B-szplájn függvények.

Kvadratikus uniformális B-szplájn függvények.

Az előbbi görbeív kifejezése mátrix alakban:

vagy a tényezőket rövidítve:

ahol

3.32. Definíció. A kontrollpontokhoz tartozó kvadratikus uniformális B-szplájn (röviden kvadratikus UBS):

ahol

illetve mátrix alakban:

3.26. ábra - Kvadratikus UBS.

Kvadratikus UBS.

3.27. ábra - A kontrollpontok súlyfüggvényei az előző ábrában. Piros: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} . súlyfüggvénye, zöld: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} ., kék: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} ., szilva: A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} ..

A kontrollpontok súlyfüggvényei az előző ábrában. Piros: \mathbf{p}_{0} súlyfüggvénye, zöld: \mathbf{p}_{1} , kék: \mathbf{p}_{2} , szilva: \mathbf{p_{3}} .

3.33. Tétel. (A definíció jelöléseivel.) A és görbeívek egymáshoz osztályban csatlakoznak.

Bizonyítás. Egyszerű behelyettesítéssel:

Az -edik B-szplájn görbeív deriváltja:

Tehát

A kvadratikus uniformális B-szplájnra teljesül a lokális változtathatóság tulajdonsága: minden kontrollpont legfeljebb három görbeív előállításában játszik szerepet, emellett minden görbeívet pontosan három kontrollpont befolyásol.

3.10. Példa. (zárt görbe) A görbetípussal nagyon könnyű osztályú zárt görbét előállítani: A kontrollpontok által meghatározott kvadratikus UBS zárt lesz, hiszen a görbe kezdő és végpontja egyaránt

A zárt görbe esetében minden kontrollpont pontosan három görbeív előállításában szerepel.

3.28. ábra - Zárt kvadratikus UBS

Zárt kvadratikus UBS

3.7.2. A kubikus uniformális B-szplájn.

A kubikus (uniformális) B-szplájn koncepciója éppen olyan egyszerű, mint a kvadratikus (uniformális) B-szplájné. Legyenek adva a kontrollpontok. A kontrollpontok lineáris kombinációival úgy állítjuk elő a kontrollpontokat, hogy az utóbbiakhoz tartozó kubikus Bézier-görbe „jól” csatlakozzon a kontrollpontokból analóg módon kapott kontrollpontokhoz tartozó kubikus Bézier-görbéhez. Ha

és

akkor a két Bézier-görbe osztályban csatlakozik. Ez könnyen ellenőrizhető a Bézier-görbe deriváltjára vonatkozó összefüggésből:

továbbá

A keresett súlyfüggvényeket tehát úgy kapjuk, ha felírjuk a kontrollpontokhoz tartozó Bézier-görbét, majd leolvassuk függvény-együtthatóit.

3.34. Definíció. A kontrollpontokhoz tartozó kubikus (uniformális) B-szplájn:

ahol

illetve mátrix alakban:

3.29. ábra - Kubikus (uniformális) B-szplájn függvények.

Kubikus (uniformális) B-szplájn függvények.

A kubikus (uniformális) B-szplájn görbeívek első és második deriváltjából könnyű megállapítani, hogy a és görbeívek osztályban csatlakoznak. A zárt görbe előállítása is analóg a kvadratikus esethez: az első három kontrollpontot a kontrollpontok sorozatában meg kell ismételni (a felsorolás végén).

3.30. ábra - Ugyanazon kontrollpoligonhoz tartozó kvadratikus (pirossal) és kubikus (kékkel) B-szplájn

Ugyanazon kontrollpoligonhoz tartozó kvadratikus (pirossal) és kubikus (kékkel) B-szplájn

3.7.3. A B-szplájn függvények.

A 3.3. példában a töröttvonalat, mint ekvidisztáns csomópontvektorhoz tartozó szplájnt értelmeztük. Térjünk vissza ehhez a nagyon egyszerű példához!

3.11. Példa. (töröttvonal – újraolvasva) Most adjunk meg általános csomópontvektort: . A töröttvonal paraméterezése így

ahol

(, azaz a két határponttól eltekintve) súlyfüggvénye

Bevezetve a csomópontvektortól függő

függvényeket, a súlyfüggvényt így is felírhatjuk:

a töröttvonal egyetlen szakaszát befolyásolja, súlyfüggvénye

hasonlóan -re, de az intervallumot jobbról is zárva:

A két határpontra is alkalmazhatjuk a (3.36) képletet, ha az első csomópontot és utolsó csomópontot megismételjük, és megállapodunk abban, hogy a nullával való osztás eredménye 0. Tehát az új csomópontvektor képzése

így az új csomópontvektorban az elemek indexe 0-tól -ig fut, azaz az elemeket az egyszerűség kedvéért szintén -val jelölve:

lesz az új csomópontvektor. (3.36) jobb oldalán az index 1-gyel nő és már a határpontokban is helyes súlyfüggvényt ad:

természetesen az függvényeket újra kiszámolva a megváltozott csomóponthoz.

Egy kicsit átírva a súlyfüggvény megadását, ha jelöli az elején és végén azonos kontrollpontok számát (azaz , ami éppen a görbe fokszáma ), akkor a súlyfüggvények

azaz a görbe .

Az előző példával motiválva vezetjük be a következő definíciót.

3.35. Definíció. Legyenek adva az , egész számok és az

csomópontvektor, ahol . Legyen továbbá -re

Ha , akkor az csomópontvektorhoz tartozó -edik, -ad rendű B-szplájn függvény

ahol ha a nevezőben 0 lép fel, akkor az osztás eredményét 0-nak értelmezzük.

Ha a csomópontok sorozatában egy csomópont egymás után -szer lép föl, akkor azt mondjuk, hogy a csomópont multiplicitása .

3.12. Példa. , , , azaz

Az feltétel csak -re teljesül, így az egyetlen nem zéró elsőrendű (nullad fokú) bázisfüggvény

A továbbiakban azokat a tagokat nem írjuk ki, ahol a (3.38) összeg mindkét tagjában 0-val való osztás van.

A megadott csomópontvektorhoz tartozó harmadrendű (másodfokú) bázisfüggvények a intervallumon megegyeznek a másodfokú Bernstein-polinomokkal.

A 3.313.32. ábrákon néhány további példát látunk. Az tengelyen a háromszögek a csomópontokat mutatják. A középső ábrán megfigyelhetjük, hogy egy csomópont multiplicitásának növelése a differenciálhatóság rendjét csökkenti. A legalsó esetben a bázisfüggvények az intervallumon kívül 0 értéket vesznek föl.

3.31. ábra - Példák kvadratikus B-szplájn függvényekre

Példák kvadratikus B-szplájn függvényekre

3.32. ábra - Példák kvadratikus B-szplájn függvényekre

Példák kvadratikus B-szplájn függvényekre

3.33. ábra - Példák kvadratikus B-szplájn függvényekre

Példák kvadratikus B-szplájn függvényekre

3.36. Tétel. Az B-szplájn bázisfüggvényekre teljesülnek a következő tulajdonságok:

  • nem negatívak: ,

  • az intervallumon egységbontást alkotnak: , ha

  • kompakt tartóval rendelkeznek:

  • differenciálhatóak: az függvény osztályú a csomópontokon kívül, egy -szeres multiplicitású csomópontban osztályú.

Lábjegyzet. Egy függvény tartója azon pontok halmazának lezártja, ahol a függvény értéke nem zérus, az függvény tartóját -el jelöljük.

Bizonyítás. Teljes indukcióval a bizonyítás egyszerű, de hosszadalmas, ezért mellőzzük.

3.8. Algoritmus. (A B-szplájn függvények kiszámítása) A B-szplájn függvények kiszámításakor abból az egyszerű észrevételből indulunk ki, hogy egy adott paraméterértéknél csak egyetlen elsőrendű bázisfüggvény nem zéró, ebből az összes olyan bázisfüggvény kiszámítható, amely tartójában az adott paraméterérték benne van. Így számítottuk ki a B-szplájn függvényeket a 3.12. példában:

Az oszlopok első és utolsó elemeinél (3.38) egyik tagja zéró (az első elem a DNY-i, az utolsó elem az ÉNY-i szomszédból számolható).

 BSPLINEATU 

A nemnegativitás és az egységbontás miatt a B-szplájn függvényekkel az affin invariancia és a konvex burokban maradás tulajdonságát teljesítő modellgörbét lehet képezni a keverési elvnek megfelelően.

3.37. Definíció. A kontrollpontokhoz és az csomópontvektorhoz tartozó -adrendű B-szplájn alatt a

parametrizált görbét értjük. A B-szplájn kontrollpontjait de Boor-pontoknak, a kontrollpoligont de Boor-poligonnak is nevezzük.

3.38. Definíció. Az csomópontvektor kötött, ha fennáll

A 3.34. ábrán a 3.313.33. ábrák B-szplájn függvényeihez tartozó B-szplájn görbék vannak ugyanazon kontrollpontok esetén. A piros görbe: 3.31. ábrán látható függvényrendszerhez, a zöld görbe 3.32. ábrához, míg a szaggatott kék görbe 3.33. ábrához tartozik.

3.34. ábra - B-szplájn görbék

B-szplájn görbék

 ÖSSZEFOGLALÓ 

B-szplájn függvények: Az csomópontvektorhoz tartozó B-szplájn függvények:

B-szplájn:

ahol a kontrollpontok sorozata.

3.7.4. Pont a B-szplájn görbén: a de Boor-algoritmus.

(csomópont beszúrása) Egy B-szplájn csomópontjaihoz adjunk hozzá egy új csomópontot úgy, hogy a görbe alakja ne változzon! Az új csomópont akár meglévő is lehet, ekkor a csomópont multiplicitását növeljük.

A csomópontok száma (a korábbi jelölésekkel) , így a csomópontok számának növelése maga után vonja vagy a kontrollpontok számának, vagy a fokszámnak a növelését. A fokszám növelése (rögzített kontrollpontok mellett) a görbe alakjának változását is magával vonja, így csak az új kontrollpontok meghatározásával kell foglalkozni.

Legyenek a görbe kontrollpontjai, a görbe csomópontvektora, . Keressük meg, hogy ez az intervallum mely bázisfüggvények tartójában van benne. Az egyetlen ilyen elsőrendű bázisfüggvény , a másodrendűek , a -adrendűek . Így a kontrollpontokat kell újraszámolni. (Mivel a görbe az intervallumon van értelmezve, így , az indexek „nem fogyhatnak el” idő előtt.)

Az új kontrollpontok meghatározását ahhoz teljesen hasonlóan kell végeznünk, mint ahogyan azt a Bézier-görbe fokszám emelésénél tettük (ld. 3.6.5). és változatlanul maradnak, új kontrollpontok: ahol

Speciálisan, ha , azaz egy meglévő csomópont multiplicitását növeljük, akkor . Ha multiplicitása eredetileg , akkor az utolsó új kontrollpont egyezik meg a régiekkel:

Most tekintsük azt az esetet, amikor egy csomópont multiplicitását egymást követő beszúrásokkal a fokszámig, azaz -ig növeltük. Az utolsó lépésben már csak egyetlen új kontrollpontot generáltunk, miközben a görbe alakja sosem változott. Ha azonban egy csomópont multiplicitása , akkor a görbe áthalad a kontrollponton, azaz az utolsónak generált kontrollpont a görbén van. Ez az eljárás alkalmas a B-szplájn görbe pontjainak generálására anélkül, hogy a B-szplájn bázisfüggvényeket külön meghatároznánk.

3.39. Tétel. Ha a csomópont beszúrás szukcesszív alkalmazásával egy csomópont fokszáma megegyezik a görbe fokszámával, akkor az utolsónak generált kontrollpont a görbén van.

3.9. Algoritmus. (B-szplájn görbe rajzolása) A 3.39. tétel alapján, a (3.39) egyenletet figyelembe véve a görbepontot az alábbi algoritmus alapján számíthatjuk ki.

 POINTONBSPLINE 

 ÖSSZEFOGLALÓ 

csomópont beszúrása: Ha

akkor

ahol

Ha beszúrásokkal egy csomópont multiplicitását -re növeljük, akkor az utolsónak generált a görbén van.

3.8. NURBS-görbék

A 3.30. megjegyzésben a racionális Bézier-görbéről egy lehetséges bevezetési módját vázoltuk. Hasonló módon térhetünk át B-szplájn görbéről racionális B-szplájn görbére, így eljutunk a görbemodellezés talán legnépszerűbb görbetípusához a NURBS görbékhez (az elnevezés az angolból származik: NonUniform Rational B-Spline). A továbbiakban egyszerűen racionális B-szplájn görbékről beszélünk.

Legyenek a kontrollpontok, a csomópontok, a súlyok. komponenseit jelölje , így

homogén koordinátáit adja. Írjuk föl a projektív tér kontrollpontjaihoz és az csomópontokhoz tartozó -adrendű B-szplájnt:

Áttérve derékszögű koordinátákra:

Természetesen hasonlóan dolgozhattunk volna síkban is.

3.40. Definíció. A kontrollpontokhoz, csomópontokhoz, súlyokhoz tartozó -adrendű racionális B-szplájn görbe alatt a ,

parametrizált görbét értjük.

A kontrollpont súlyfüggvénye (az ún. racionális B-szplájn bázisfüggvény)

így a görbét a keverési elvnek megfelelően felírva:

(3.41)-ből leolvasható, hogy a kontrollpont súlyának növelése vagy csökkentése értékét növeli vagy csökkenti minden (nem zéró) paraméterérték mellett: növelésével a görbe -hez „húz”, míg csökkentésével -től „tart”, ráadásul a változtatás lokálisan hat. Ld. a 3.35. ábra.

3.35. ábra - Racionális B-szplájn görbék: a Racionális B-szplájn görbék: a \mathbf{p}_{5} kontrollpont súlyának változtatásával alakítottuk a görbét. kontrollpont súlyának változtatásával alakítottuk a görbét.

Racionális B-szplájn görbék: a \mathbf{p}_{5} kontrollpont súlyának változtatásával alakítottuk a görbét.

A definíció és a B-szplájn bázisfüggvények megfelelő tulajdonságai alapján egyszerűen levezethetők az alábbiak.

3.41. Tétel. (a racionális B-szplájn függvények tulajdonságai) Nemnegatív súlyok esetén a racionális B-szplájn függvényekre teljesülnek az alábbi tulajdonságok.

nemnegativitás: -re

egységbontás: -re

lokális tartó:

differenciálhatóság: -szeres multiplicitású csomópontban -szer differenciálható, a csomópont multiplicitásának növelése a bázisfüggvény differenciálhatóságának rendjét csökkenti

specializáció: ha minden kontrollpont súlya azonos, akkor a racionális B-szplájn függvények megegyeznek a B-szplájn függvényekkel: .

3.42. Tétel. (a NURBS görbék tulajdonságai) Nemnegatív súlyok esetén a racionális B-szplájn görbékre teljesülnek az alábbiak:

végpont interpoláció: kötött csomópontvektorra végpont interpoláló, azaz ha

akkor ,

projektív invariáns: NURBS görbe projektív képe, centrális vetülete NURBS görbe

konvex burokban maradás: teljesül a konvex burokban maradás tulajdonsága

differenciálhatóság: -szeres multiplicitású csomópontban a görbe -szer differenciálható, a csomópontokon kívül

lokálisan változtatható: változtatása a görbét csak az intervallumon befolyásolhatja.

specializáció: azonos súlyok esetén a NURBS görbe megegyezik egy B-szplájn görbével, ha ráadásul és a csomópont vektor , akkor a görbe Bézier-görbe.

3.10. Algoritmus. (Racionális B-szplájn görbe rajzolása) A fejezet bevezetőjében vázolt származtatás szerint a racionális B-szplájn görbe nem más, mint egy B-szplájn a projektív síkon/térben, ezért a 3.9. algoritmust minimálisan megváltoztatva kapjuk a görbepont meghatározásának algoritmusát. (A pszeudokód síkgörbére vonatkozik, az utolsó sor változtatásával kapjuk a térgörbékre.)

 POINTONNURBS 

 ÖSSZEFOGLALÓ 

racionális B-szplájn görbe:

  • kontrollpontok: ,

  • csomópontok: , súlyok:

a racionális B-szplájn görbe: ,

4. fejezet - Felületek tervezése

4.1. A felület fogalma

A hétköznapi szóhasználatban nagyon sok geometriai objektumra mondjuk azt, hogy felület. Ebben a fejezetben a „felületek” lehetséges matematikai modelljeiről lesz szó.

Példaként tekintsük először a gömböt. Mint ponthalmaz, a gömb a tér egy rögzített pontjától adott távolságra elhelyezkedő pontok halmaza:

Ha , akkor az előbbi ponthalmazt úgy adhatjuk meg, mint az

függvény zérushelyeinek halmaza a térben.

4.1. ábra - Ismerős felület: gömb

Ismerős felület: gömb


Sok, geometriailag könnyen definiálható felület pontjai előállíthatók (4.1)-hez hasonlóan egy háromváltozós függvény zérushelyeinek halmazaként.

Egy egyenes körhengert geometriailag egy rögzített egyenestől rögzített távolságra elhelyezkedő pontok halmazaként definiálhatunk. Ha a tengely a tengely, akkor egy egyenes körhenger egyenlete

Tehát most .

4.2. ábra - Ismerős felület: henger

Ismerős felület: henger

A következő példánk az egyenes körkúp, amelyet geometriailag megkaphatunk úgy, hogy egy egyenest megforgatunk egy őt metsző egyenes körül. Legyen a forgástengely a tengely, a forgatott egyenes pedig az sík egyenese. Ekkor a kúp egyenlete

4.3. ábra - Ismerős felület: kúp

Ismerős felület: kúp


A (4.1)–(4.3) egyenletek alakúak, ahol differenciálható függvény. A kúpnak van egy speciális pontja, a csúcspont. Hogyan ismerhető föl a kúp csúcspontja az egyenletéből? A számítógépi grafikában fontos jelentősége van, hogy a felület pontjaiban (legalábbis „majdnem minden” pontjában) tudjuk képezni a felület normálisát, vagyis a felületre merőleges vektort. A felületi normálist a felület egy pontjában gradiense adja, azaz

Látható, hogy a csúcspont, (jelen esetben az origó) az

függvény kritikus pontja, azaz itt a gradiens zérus:

míg a többi felület egyetlen pontja sem kritikus pontja -nek.

4.1. Definíció. Legyen differenciálható függvény. Azt mondjuk, hogy az egyenlet egy reguláris implicit egyenlet, ha teljesül, hogy

Egy térbeli ponthalmazt reguláris implicit felületnek nevezünk, ha előállítható egy reguláris implicit egyenlet megoldáshalmazaként.

Ha az egyenletből valamelyik változó kifejezhető, pl. , akkor speciálisan EulerMonge felületről beszélünk. Az Euler–Monge felület lényegében kétváltozós függvény grafikonját jelenti. Ha , () kétváltozós differenciálható függvény, akkor a szóban forgó felület, vagyis grafikonja

A felület matematikai reprezentálásának harmadik módja részben analógiát mutat a parametrizált görbékhez. Parametrizált görbe alatt egyváltozós vektorértékű leképezést értettünk, amely az egy szabadsági fokú mozgásnak felel meg. Ha a mozgás két szabadsági fokú, akkor jutunk el a parametrizált felület fogalmához. A parametrizált felület tehát kétváltozós, vektorértékű leképezés. A felületi normális képzéséhez szükség van a leképezés parciális deriváltjai vektoriális szorzatára. A továbbiakban egy nem üres nyílt halmazt jelöl a síkon, de a számítógépi grafika szempontjából gyakran egy téglalap. (Azaz a határpontokat is hozzávesszük a halmazhoz.) Megállapodunk néhány jelölésben. Egy differenciálható leképezésnél a változókat általában -val és -vel, a komponensfüggvényeket , , -vel jelöljük, azaz

első és második változó szerinti parciális deriváltjait és jelöli, tehát

ahol . A felületi normálist egy pontban adja, így a reguláris parametrizált felület fogalmához fel kell tennünk, hogy ez a vektor nem nullvektor:

4.2. Definíció. Egy differenciálható leképezést reguláris parametrizált felületnek (röviden parametrizált felületnek) nevezünk, ha teljesül, hogy

Az Euler–Monge-felületre mint parametrizált felületre is gondolhatunk, ahol

Szükségünk lehet arra, hogy egy felületen görbét rajzoljunk. Parametrizált felület esetében ehhez először egy görbét adunk meg a paramétertartományban.

4.3. Definíció. Legyen parametrizált felület, reguláris parametrizált görbe. A parametrizált görbét felületi görbének nevezzük.

4.1. Példa. (a felület paramétervonalai) Legyen parametrizált felület, , konstansok. Legyen

így ; illetve

így az felület paramétervonalai. Határozzuk meg a paramétervonalak sebességvektorait:

A fenti relációk alapján az , () vektorokat paramétervonal érintőknek is szokás nevezni a pontban.

Parametrizált felületek ábrázolása.

A parametrizált felületek ábrázolása kézenfekvőnek tűnik kijelölt paramétervonalak ábrázolásával, mert így a problémát parametrizált görbék ábrázolására vezetjük vissza. Valóban, a számítógépi grafika történetében ez a módszer is megjelent, azonban számos problémát vet föl. A felület a paramétervonalak egy részét takarhatja. A takart görbeszakaszok megkeresése nem túl egyszerű. (Az érdeklődő olvasó keressen a takart vonal algoritmus, angolul hidden line algorithm kulcsszavakra.)

Itt egy másik ábrázolási elvet, a triangularizációs elvet ismertetünk. Ennek lényege, hogy a felületet háromszöglapok rendszerével modellezzük. Legyen a parametrizált felület . Az első esetben legyen a háromszögek által meghatározott poliédermodell konvex!

4.1. Algoritmus.

 TRIANGULARSURFACE() 

A pszeudokódban használt ProjectAndDraw parancs a vetítést és a színnel kitöltést is tartalmazza. A láthatóság eldöntésére konvex esetben már adtunk megoldást (1.2. példa).

Nem konvex esetben a láthatóság eldöntését ki kell hagyni, hiszen lehetséges az is, hogy egy háromszöglemez egy része takart, másik része látszik. Így ebben az esetben valamennyi háromszöglemezt lerajzoljuk, de a takarás kezelését a programba beépítjük. Erre hatékony raszteres algoritmusok vannak (pl. -tár algoritmus). Vektorgrafikus algoritmusok közül csak arra utalok, amellyel a jegyzet ábráit is készítettem, ez a festő algoritmus. Ennek lényege, hogy a háromszöglemezeket a nézőtől való nem csökkenő távolság szerint sorrendbe rendezzük és a rajzolás sorrendjénél ezt figyelembe vesszük: a távolabbi háromszöglemeztől haladunk a közelebbi felé, a háromszögeket pedig fedőszínekkel (esetleg csak részben fedő színekkel) töltjük ki. (A festő algoritmus nem mindig ad helyes megoldást, a háromszöglemez nem pontszerű volta miatt.)

4.2. Algoritmus.

 TRIANGULARSURFACE() 

 ÖSSZEFOGLALÓ 

implicit felület: differenciálható függvény és teljesül, hogy . az implicit felület, míg a felület normálvektora -ben.

Euler–Monge-felület: Az implicit felület speciális esete, ha valamelyik koordináta kifejezhető a másik kettőből, pl. .

parametrizált felület: Legyen , differenciálható és . és normálvektora -ban .

4.2. Példák felületekre

(másodrendű felületek) Az előző fejezetben szereplő felületek, vagyis a gömb, a kúp és a henger implicit egyenletei másodfokúak voltak. Általánosan másodrendű felületnek nevezzük az olyan felületet, amelynek implicit egyenlete

ahol konstansok, továbbá nem mindegyike zéró. Lineáris algebrai eszközökkel belátható, hogy egybevágósági transzformációval ezen felületek mindegyike átvihető az . táblázatban szereplő felületek valamelyikébe.

4.1. táblázat - A másodrendű felületek izometria osztályai

1.

valós ellipszoid

2.

képzetes ellipszoid

3.

egyköpenyû hiperboloid

4.

kétköpenyû hiperboloid

5.

valós másodrendû kúp

6.

képzetes másodrendû kúp

7.

elliptikus paraboloid

8.

hiperbolikus paraboloid

9.

valós elliptikus henger

10.

képzetes elliptikus henger

11.

hiperbolikus henger

12.

valós metszõ síkpár

13.

képzetes metszõ síkpár

14.

parabolikus henger

15.

valós párhuzamos síkpár

16.

képzetes párhuzamos síkpár

17.

egybeesõ síkpár


4.2. Példa. (forgásfelületek)

4.4. ábra - Parametrizált forgásfelület

Parametrizált forgásfelület


Legyen adva az síkban a

reguláris parametrizált görbe, melyet megforgatunk az tengely körül. Ha a forgatás szöge befutja a intervallumot, akkor egy forgásfelületet kapunk:

Koordinátákkal

azaz

Számítsuk ki a felületi normálist!

Innen adódik, azaz esetén a felület reguláris.

Parametrizált gömbfelülethez úgy juthatunk, hogy egy egy olyan félkört forgatnunk meg az tengely körül, melynek átmérője az tengelyen van, maga a félkör pedig az síkban. Az előző példát alkalmazva és , így

-re a regularitási feltétel nem teljesül: a teljes gömböt nem tudjuk úgy tekinteni, mint reguláris parametrizált felületet. A gömbnek ezt a paraméterezését hosszúsági kör-szélességi kör paraméterezésnek, röviden földrajzi paraméterezésnek nevezzük.

4.5. ábra - Tórusz

Tórusz


Másik fontos példa forgásfelületre a tórusz. Legyen most

azaz az középpontú, sugarú kört megforgatjuk az tengely körül (, ). A kapott felület paraméteres előállítása:

A feltételek miatt , így a regularitási feltétel minden pontban teljesül.

Megjegyezzük, hogy egyes másodrendű felületeket is megkaphatunk forgásfelületként.

4.3. Példa. (vonalfelületek) Legyen egy parametrizált térgörbe (a vezérgörbe), sehol sem zéró vektormező, azaz -re . A görbe minden paraméterértékű pontjában tekintünk egy irányvektorú egyenest. Ezek az egyenesek alkotják a által generált vonalfelületet. Paraméteres előállítása

A regularitási feltétel nem automatikusan teljesül.

Legyen például reguláris parametrizált görbe, rögzített nemzéró vektor, továbbá . A vezérgörbéjű alkotóirányú hengerfelület paraméteres előállítása:

, ezért egy reguláris parametrizált felületet kapunk.

4.6. ábra - Hengerfelület

Hengerfelület

4.7. ábra - Kúpfelület

Kúpfelület

4.4. Példa. (loft felület) A következő példákban egy egyszerű technikát alkalmazunk, a „sraffozást”. A „sraffozás” a és pontok összekötő egyenesének pontjait a () alakban adja meg. Ha , akkor a szakasz pontjait kapjuk.

Legyen reguláris parametrizált görbe, egy pont. A vezérgörbéjű csúcspontú kúpfelület paraméteres előállítása

azaz és között sraffozunk. (Nyilvánvalóan vonalfelületet kaptunk, melyre .)

4.8. ábra - Loft felület két ellipszis között

Loft felület két ellipszis között


Legyenek parametrizált görbék. Ha az azonos paraméterértékekhez tartozó pontok között sraffozunk, akkor az

felületet kapjuk, a két görbe által meghatározott loft felület (4.8. ábra).

Sraffozással könnyen konstruálhatunk négy pontot interpoláló felületet. Legyenek a pontok. Sraffozzunk a és szakaszok között:

A kapott felületnél (amely egyébként hiperbolikus paraboloid, azaz másodrendű felület) , , , teljesül. Ezt a felületet négy pontot interpoláló bilineáris felületnek is nevezzük.

4.5. Példa. (Coons-felület) Gyakran előforduló tervezési feladat, hogy a keresett felületnek a határgörbéi ismertek, azaz a határgörbéket interpoláló felület keresünk. Legyenek a szemközti határgörbék és , illetve és . Először sraffozással kössük össze -t és -t:

A kapott felület hibája -nál:

míg -nél:

Most a „hibagörbéket” sraffozzuk:

Ez a „hibafelület” -nál és -nél pontosan az felület hibáját adja, így az felület a kívánt tulajdonságokkal rendelkezik:

4.9. ábra - Coons-felület, melyet négy parabolaív határol

Coons-felület, melyet négy parabolaív határol


4.6. Példa. (Súrolófelület) A súrolófelületet úgy kapjuk, hogy egy görbe mentén (ezt nevezzük trajektóriának) eltolunk egy másik görbét (utóbbit nevezzük keresztmetszetgörbének). Legyen reguláris görbe, a trajektória, amely az egyszerűség kedvéért ívhossz paraméterezésű, azaz , továbbá

a keresztmetszetgörbe. A súrolófelület:

ahol

„mozgó” ortonormált bázis. Az , vektorok szokásos választása, és . (Ha ívhossz paraméterezésű, akkor , egyébként a merőlegesség nem teljesül.) Ha és (), akkor szokás tubusról beszélni.

4.10. ábra - Hengeres csavarvonalra húzott tubus

Hengeres csavarvonalra húzott tubus


4.3. Tenzorszorzat-felületek

A szabad formájú felületek tervezésében az egyik leggyakrabban használt felülettípus a tenzorszorzat-felület. Tekintsünk az kontrollpontokhoz és bázisfüggvényekhez tartozó

görbét, ahol a kontrollpontokat szintén egy paraméter függvényeként állítjuk elő a bázisfüggvényekkel:

4.4. Definíció. A ,

parametrizált felületet az bázisfüggvényekhez tartozó tenzorszorzat-felületnek nevezzük.

Az előzőekben már tárgyalt bilineáris felület egy tenzorszorzat-felület, mely négy kontrollponthoz és másodfokú bázisfüggvényekhez tartozik.

A különböző számítások könnyebb kivitelezése miatt célszerű a (4.7) előállítást mátrixalakban felírni:

parciális deriváltjai:

A tenzorszorzat-felület (4.7)-szerinti felírása megfelel a „keverési elvnek” (lásd. 3.2. fejezet), csak a kontrollpontoknak most kettős indexe van. Így a korábban megfogalmazott tulajdonságok is érvényben maradnak:

  • ha az függvények egységbontást alkotnak, azaz , akkor a felületre teljesül az affin invariancia elve,

  • ha ráadásul a bázisfüggvények nem negatívak, akkor teljesül a konvex burokban maradás tulajdonsága.

4.7. Példa. (bikubikus tenzorszorzat-felület) Általános alakja

ahol a felület algebrai együtthatói.

4.3.1. Bikubikus Hermite-felület.

Csakúgy, mint a görbetervezésnél, a bikubikus tenzorszorzat-felület algebrai együtthatói nem mindegyikének van közvetlen intuitív jelentése. A

mátrix elemeit a görbe geometriai együtthatóinak nevezzük. A második parciálisaktól eltekintve a mátrix elemeinek közvetlen intuitív jelentése van: a sarokpontok, illetve a sarokpontokba befutó peremgörbék érintővektorai. Az első két oszlop a illetve peremgörbe geometriai együtthatóit; az első két sor pedig a illetve peremgörbe geometriai együtthatóit adja meg.

A geometriai és algebrai együtthatók közötti kapcsolat megadásához a Hermite-görbéknél megismert módszert alkalmazva, hosszadalmas de elemi számítás után kapjuk a felület kifejezését a geometriai együtthatókból:

ahol , () a harmadfokú Hermite-polinomok.

A fentebb leírt felülettervezési módszer előnye a peremgörbék pontos kontrollja a geometriai együtthatókkal, hátránya a vegyes parciálisok (az ún. csavarvektorok) jelenléte. A legegyszerűbb esetben ezeket zérusvektornak választjuk, ekkor kapjuk az ún. Ferguson-felületet (4.11. ábra).

4.11. ábra -


A Ferguson-felület a sarokpontok közelében intuitíve „meglehetősen lapos”, a csavarvektorok nemzéró megadásával lehet a felületet módosítani (ld. 4.12. ábra).

4.12. ábra - A 4.11. ábra szerinti Ferguson-felület úgy módosítva, hogy A 4.11. ábra szerinti Ferguson-felület úgy módosítva, hogy \mathbf{p}_{uv}(0,1)\neq\mathbf{0}

A 4.11. ábra szerinti Ferguson-felület úgy módosítva, hogy \mathbf{p}_{uv}(0,1)\neq\mathbf{0}


Hengerfelületeket Ferguson-felületként is könnyű előállítani, ha a geometriai együtthatók mátrixát megfelelően választjuk. Legyen a vezérgörbe olyan Hermite-görbe, melynek geometriai együtthatói , alkotóiránya . A megfelelő hengerfelület geometriai együtthatói:

Általánosabban, két különböző Hermite-görbe közötti lineáris interpolációt kapunk, ha

és , (ld. 4.13. ábra).

4.13. ábra - Két Hermite-görbe közötti lineáris interpoláció

Két Hermite-görbe közötti lineáris interpoláció

4.3.2. Bézier-négyszögfelületek.

Egy Bézier-négyszögfelületet úgy kapunk, hogy a (4.7) egyenletbe bázisfüggvényekként a Bernstein-polinomokat írjuk be.

4.5. Definíció. Legyenek , (, ) adott kontrollpontok. A , ,

parametrizált felületet Bézier-négyszögfelületnek nevezzük. (4.14. ábra.)

4.14. ábra - Bikubikus Bézier-négyszögfelület a kontrollhálójával

Bikubikus Bézier-négyszögfelület a kontrollhálójával


A Bézier-négyszögfelületek affin invariánsak és teljesül a konvex burokban maradás tulajdonsága is. Az alábbi tulajdonság pedig közvetlenül a definícióból következik.

4.6. Tétel. tartalmazza a , , , kontrollpontokat, nevezetesen , , , . (Sarokpont interpoláció.)

A felület grafikai megjelenítése illetve a felületi pontok kiszámítása miatt fontos ismerni a paramétervonalakat.

4.7. Tétel. Egy Bézier-négyszögfelület paramétervonalai Bézier-görbék.

Bizonyítás. Tekintsük például a paramétervonalakat!

A paramétervonalak Bézier-görbék, de a paramétervonalak kontrollpontjai általában nem az eredeti kontrollpontok közül kerülnek ki; kivételt képeznek a peremvonalak, azaz az , , , paramétervonalak, mert ezek kontrollpontjai az eredeti kontrollpontok közül valók. Pl.

Ebből az is következik, hogy a sarokpontokban az érintősík a sarokpontokkal szomszédos kontrollpontokra illeszkedik, pl. az sarokpontban az érintősík a , és pontokon megy át.

A 4.7. tétel rámutat arra, hogy hogyan lehet egy felületi pontot kiszámítani a de Casteljau-algoritmus alapján a kontrollpontokból.

  1. meghatározzuk a paraméterértékhez tartozó pontokat (-hez a kontrollpontokat használva, összesen -szer alkalmazva a de Casteljau-algoritmust)

  2. az kontrollpontokból meghatározzuk a Bézier-görbe paraméterértékhez tartozó pontját (egy de Casteljau-algoritmus).

A POINTONSURFACE() algoritmus a de Casteljau algoritmus alapján kiszámítja a Bézier-négyszögfelület pontját.

 POINTONSURFACE() 

Összetettebb felületet a kontrollpontok számának növelésével alakíthatunk ki. Ennek célszerű módja nem a fokszám növelése, hanem több, alacsonyabb fokszámú (pl. bikubikus) felület egymáshoz illesztése. Csatlakoztassunk két bikubikus Bézier négyszögfelületet úgy, hogy egy-egy peremvonaluk egybeessen! Legyen a két felület

Ha teljesül, hogy , () akkor . (A két peremvonal paraméterértékenként ugyanaz.) A legegyszerűbb csatlakozási feltétel az, hogy a peremvonal mentén

teljesüljön. Mivel

most automatikusan teljesül, így (4.8) azt jelenti, hogy a közös peremvonal mentén a két felület normálisai, így az érintősíkjaik is ugyanazok. Részletesen kiírva (4.8)-t, azt kapjuk, hogy

A Bernstein-polinomok deriváltjára vonatkozó (B3) összefüggést alkalmazva és felhasználva, hogy a Bernstein-polinomok értéke 0-nál és 1-nél 0 vagy 1:

így

Felhasználva, hogy ,

tehát a jobb oldali és a bal oldali polinomok együtthatói rendre megegyeznek. Végeredményként azt kapjuk, hogy (4.8) teljesülésének feltétele

Geometriailag a fenti képlet azt jelenti, hogy a „csatlakozó” kontrollpont a és kontrollpontok által meghatározott szakasz felezőpontja. Az eredmény teljes analógiát mutat a (3.23) összefüggéssel. Az érintősík-folytonos csatlakozáshoz elegendő, ha a pont a , pontokat összekötő szakaszon van. Ennek a ténynek az elemzése analóg a görbeelméletnél alkalmazott módszerhez (3.6.6. szakasz).

4.3.3. B-szplájn felületek.

A B-szplájn görbék (ld. 3.7.3. szakasz) és B-szplájn felületek közötti kapcsolat analóg a Bézier-görbék és Bézier-négyszögfelületek közötti kapcsolathoz.

4.8. Definíció. Legyen adva

  1. kontrollpontok , (; ) rendszere

  2. a felület -irányú rendje, melyet jelöl

  3. a felület -irányú rendje, melyet jelöl

  4. csomópontok rendszere az paraméterértékre

  5. csomópontok rendszere a paraméterértékre.

A ,

parametrizált felületet B-szplájn felületnek nevezzük (4.15. ábra).

A kontrollpont súlyfüggvénye , azaz két egyváltozós B-szplájn függvény szorzata

4.15. ábra - B-szplájn felület: B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1), B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1)

B-szplájn felület: n=m=3 , K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,0,0.25,.5,.75,1,1)


A B-szplájn felület lehet egyik, vagy mindkét irányban kötött (a 4.15. ábrán a felület irányban kötött, irányban nem); egyik, vagy mindkét irányban zárt. A 4.16. ábrán ugyanazt a kontrollponthalmazt használtuk, mint a 4.15. ábrán, de a megfelelő kontrollpontokat ismételve irányban zárt felületet kaptunk.

4.16. ábra - Egyik irányban zárt B-szplájn felület: Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8) (az ismétlések miatt), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8), Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8)

Egyik irányban zárt B-szplájn felület: n=3 , m=5 (az ismétlések miatt), K=4 , L=3 , U=(0,0,0,0,1,1,1,1) , V=(0,1,2,3,4,5,6,7,8)

A B-szplájn felületek tulajdonságai a B-szplájn görbék és a tenzorszorzat-felületek tulajdonságai alapján könnyen megállapíthatók. A 4.17. ábra a lokális változtathatóságot szemlélteti.

4.17. ábra - Bikvadratikus B-szplájn felület; a síkból csak egyetlen kontrollpont lép ki, a „hegy” csak ennek a környékén emelkedik ki a síkból

Bikvadratikus B-szplájn felület; a síkból csak egyetlen kontrollpont lép ki, a „hegy” csak ennek a környékén emelkedik ki a síkból

 ÖSSZEFOGLALÓ 

tenzorszorzat-felület: A ,

parametrizált felületet az bázisfüggvényekhez tartozó tenzorszorzat-felületnek nevezzük. Speciálisan:

  • Bikubikus Hermite-felület

    ahol a geometriai együtthatók mátrixa;

  • Bézier-négyszögfelület

  • B-szplájn felület

Irodalomjegyzék

[1] M. K. Agoston. Computer Graphics and Geometric Modeling. Springer-Verlag London Limited. 2005. Implementation and Algorithms.

[2] Bácsó S., Hoffmann M.. Fejezetek a geometriából. EKF Líceum Kiadói. 2003.

[3] G. Farin. Curves and surfaces for computer-aided geometric design, Computer Science and Scientific Computing. Academic Press Inc., San Diego, CA. fourth edition. 1997.

[4] M. E. Mortenson. Geometric modeling. John Wiley & Sons Inc., New York. 1985.

[5] D. Rogers, J. A. Adams. Mathematical Elements for Computer Graphics. McGraw-Hill. second edition. 1990.

[6] D. Salomon. Transformations and Projections in Computer Graphics. Springer-Verlag. 2006.

[7] C. K. Shene. Introduction to Computing with Geometry Notes. http://www.cs.mtu.edu/~shene.

[8] Szabó J.. A számítógépi grafika elemei. Debreceni Egyetemi Kiadó. 2010.

[9] Kurusa Á., Szemők Á.. A számítógépes ábrázoló geometria alapjai. Polygon, Szeged. 1999.