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