Felületek 1 4. Felületek Legyen adott egy paramétersíkbeli T tartomány. A paramétersíkot az u és v koordinátatengelyekkel adjuk meg. Ekkor egy F felületet az (u, v) r(u, v), (u, v) T kétváltozós vektor-vektor függvénnyel írhatunk le (Gauss-féle megadás). Rögzített u 0, illetve v 0 paraméterek esetén a felületen az v r(u 0, v), illetve az u r(u, v 0 ) paramétervonal adódik (1. ábra). v T z F r ( u,v) v 0 u 0 u x O r ( u,v ) 0 0 y 1. ábra. Felület megadása 4.1. Forgásfelületek Egy g (nem feltétlenül síkbeli) görbe egy adott t tengely körüli megforgatásával forgásfelületet kapunk. A forgásfelület tengelyre mer leges metszetei körök, melyek síkjai párhuzamosak. Paralelkör öknek nevezzük ket. A legkisebb sugarút torokkör nek, a legnagyobb sugarút egyenlít i kör nek hívjuk. A forgásfelület tengelyt tartalmazó metszetei a meridián görbék. Ha a t forgástengely egybeesik a z koordinátatengellyel és a g síkgörbe az xz síkban van, melynek egyenlete g(u) = x(u)i + z(u)k, u I, akkor a forgásfelület egyenlete (2. ábra): r(u, v) = x(u) cos(v)i + x(u) sin(v)j + z(u)k, u I, v [0, 2π]. A paramétervonalak a paralelkörök és a meridiángörbék. A forgástengellyel párhuzamos egyenes megforgatásával forgáshenger t, forgástengelyt metsz egyenes megforgatásával forgáskúpot, míg a forgástengellyel kítér helyzet egyenes megforgatásával egyköpeny forgáshiperboloidot (3. ábra) kapunk. Kör megforgatásával gömb vagy körgy r -felület, másnéven tórusz adódik. Ellipszis, parabola és hiperbola tengelyei körüli megforgatásával forgásellipszoidokat (4. ábra), forgásparaboloidot (5. ábra) és egyköpeny -, illetve kétköpeny forgáshiperboloidot kapunk.
2 Számítógépi geometria t g 2. ábra. Forgásfelület 3. ábra. Egyköpeny forgáshiperboloid 4.2. Csavarfelületek 4. ábra. Forgásellipszoidok Egy t = z forgástengely r sugarú hengerre írt csavargörbe egyenlete c(v) = r cos(v)i + r sin(v)j + pvk, v IR, ahol p a csavargörbe paramétere és egy menet (v [0, 2π]) esetén a görbe emelkedése p. Egy g görbe minden pontja azonos paraméter csavarmozgást végez, akkor a görbe által meghatározott felületet csavarfelületnek nevezzük. Egy xz koordinátasíkbeli g görbe, azaz
Felületek 3 5. ábra. Forgásparaboloid g(u) = x(u)i + z(u)k, u I esetén a csavarfelület egyenlete r(u, v) = x(u) cos(v)i + x(u) sin(v)j + (z(u) + pv)k, u [a, b], v IR. A csavarfelület egy menetét v [0, 2π] adja. Ha a g görbe egyenes, akkor a kapott csavarfelületet egyenesvonalú csavarfelületnek nevezzük. A 6. ábrán egy nyílt élesmenet egyenesvonalú csavarfelület egy menetét láthatjuk. 6. ábra. Egyenesvonalú csavarfelület 4.3. Hengerfelületek Egy adott g (nem feltétlenül síkbeli) (g(u)) vezérgörbe minden pontján át egy adott a iránnyal párhuzamos egyeneseket veszünk fel, akkor hengerfelületet kapunk (7. ábra). Egyenlete h(u, v) = g(u) + va, u [a, b], v IR. 4.4. Kúpfelületek Egy adott g (nem feltétlenül síkbeli) (g(u)) vezérgörbe minden pontját egyeneseket kötjük össze egy adott C (c) görbére nem illeszked csúcsponttal. Ekkor kúpfelületet
4 Számítógépi geometria a g kapunk (8. ábra), melynek egyenlete 7. ábra. Hengerfelület k(u, v) = g(u) + v(c g(u)), u [a, b], v IR. C g 8. ábra. Kúpfelület 4.5. Eltolási felületek Legyen adott egy a alapgörbe és annak egy P pontjának mozgása során leírt p pályagörbe. Ha az a alapgörbét végigtoljuk a p pályagörbén úgy, hogy a P pont mindig illeszkedjen a p pályagörbére, akkor eltolási felületet kapunk (9. ábra). Legyen a : u a(u), u I és p : v p(v), v J, az általuk meghatározott eltolási felület egyenlete: r(u, v) = a(u) + p(v), u I, v J. Ha két mer leges síkú, ellentétes tengelyirányú parabolát tekintünk alapgörbéknek, akkor egy nyeregfelületet (hiperbolikus paraboloidot) kapunk (10. ábra).
Felületek 5 a p P 9. ábra. Eltolási felület 4.6. Vonalfelületek 10. ábra. Eltolási felületként el állított nyeregfelület Azokat a felületeket, melyeket egyenesek alkotnak (a felület bármely pontján át halad egy, a felülethez tartozó egyenes) vonalfelületeknek nevezzük. Az egyeneseket a felület alkotóinak hívjuk. Az eddig bemutatott felületek közül vonalfelület a henger- és kúpfelület, továbbá a forgáshenger, a forgáskúp, az egyköpeny forgáshiperboloid és az egyenesvonalú csavarfelület. Két görbe által meghatározott vonalfelület egyenletét a következ képpen adhatjuk meg. Adottak a g 1 (u) és g 2 (u), u I (1) térgörbék. Ekkor az azonos paraméter érték pontjaira egy-egy egyenes illesztésével a kapott vonalfelület egyenletét s(u, v) = (1 v)g 1 (u) + vg 2 (u), u I, v IR (2) alakban írjuk le. Az u = constans paramétervonalak az egyenesek. A 11. ábrán a vonalfelület két alapgörbéje közötti részét láthatjuk. További nevezetes vonalfelület egy másodrend görbe és egy egyenes által meghatározott konoid (az alkotók egy síkkal párhuzamosak) (12. ábra), két kitér egyenes által meghatározott nyeregfelület (13. ábra), amely megegyezik a 10. ábrán bemutatottal.
6 Számítógépi geometria g1 ( u) g2 ( u) 11. ábra. Vonalfelület 12. ábra. Körkonoid 4.7. Coonsfoltok 13. ábra. Nyeregfelület Ha a (2) egyenlettel megadott vonalfelület esetén az alapgörbék paramétertartománya véges, azaz I = [a, b] és csak a közöttük lev felületrészt tekintjük, azaz v [0, 1], akkor a vonalfelület darabot felületfoltnak nevezzük. A 11. ábrán bemutatott vonalfelület csak egy felületfolt. Négy, páronkén közös végponttal rendelkez görbére is illeszthetünk felületfoltot, ezt nevezzük Coonsfoltnak. Legyenek adottak a 14. ábra alapján az a 1 (u), a 2 (u) és b 1 (v), b 2 (v), u, v [0, 1] egymást páronként metsz görbepárok. A "szemben" lev görbékre illesszünk egy-egy vonalfelület-foltot (15. ábra). Ezek a a szembenfekv görbéket interpolálják, de a másik két határoló görbén nem haladnak át. l a (u, v) = (1 v)a 1 (u) + va 2 (u) l b (u, v) = (1 u)b 1 (v) + ub 2 (v)
Felületek 7 a2 ( u) b2 ( v) b1( v) a1( u) 14. ábra. A bilineárisan súlyozott Coons-felület alapgörbéi Majd írjunk fel egy felületfoltot a négy metszéspontra. Vegyük a metszéspontok bilineáris interpolációját, ekkor az l ab (u, v) = ( 1 u u ) ( ) ( ) a 1 (0) a 1 (1) 1 v a 2 (0) a 2 (1) v felületet kapjuk, amely a négy metszéspontra illeszked nyeregfelület (16. ábra). Ekkor a négy határoló görbére illeszked bilineárisan súlyozott Coons-foltot (17. ábra) a következ alakban kapjuk: c(u, v) = l a (u, v) + l b (u, v) l ab (u, v). A felületfoltok minden változata és általánosítása a fent említett alapötletre épül. Az összetett felületeket felületfoltokból rakhatjuk össze, ügyelve a "jó" csatlakozásokra. Ez általában csak a Coons-foltok általánosításaival (Hermite-féle bikubikus folt, Gordonfelületek,...) érhet k el. a2 ( u) b2 ( v) a1( u) b1( v) 15. ábra. l a (u, v) és l b (u, v) vonalfelületek
8 Számítógépi geometria a 2(1) a 2(0) a 1(1) a 1(0) 16. ábra. Az l ab (u, v) nyeregfelület 17. ábra. Bilineárisan súlyozott Coons-felület
Felületek 9 4.8. Bézierfelületek A Béziergörbe analógiájára a Bernsteinpolinomok segítségével felületet is tudunk deniálni. Legyenek adottak a P ij kontrollpontok a p ij helyvektorokkal (i = 0, 1,..., n, j = 0, 1,..., m). A szomszédos kontrollpontokat összeköt szakaszokat kontrollhálónak nevezzük. A kontrollpontokat approximáló b(u, v) Bézierfelületet, pedig a B l k Bernstein polinomok felhasználásával a következ alakban adhatjuk meg: b(u, v) = n m Bi n (u)bj m (v)p ij. (3) i=0 j=0 Ha egy Béziérgörbét úgy mozgatunk, hogy kontrollpontjai szintén Béziergörbéken mozognak, akkor a Bézierfelületet kapjuk, melyet (3) alakban írhatunk fel. A felület u = u 0 és v = v 0 paramétervonalai Bézier-görbék. A kontrollháló bármely kontrollpontjának változtatásával globálisan változik a felület. 18. ábra. Kontollháló és Bézier-felület 19. ábra. Bézier-felület
10 Számítógépi geometria 4.9. B-spline felületek A B-spline felületet a Bézierfelületek analógiájára a B-spline görbe alapfüggvényeib l a következ alakban adhatjuk meg. s(u, v) = i Ni k (u)nj(v)p l ij j A kontrollpontok változása csak lokálisan változtatja a felület alakját. 4.10. NURBS felületek Az Bézier és a B-spline felületetek származtatásával analóg módon, ha egy NURBS görbét mozgatunk, úgy hogy a kontrollpontjai is NURBS görbéken mozognak, akkor egy racionális, nem uniform B-spline felületet, egy NURBS felületet kapunk. A NURBS felületek is átörökli a NURBS görbék jellemz it, a w ij súlyok változtatásával viszonylag nagy rugalmassággal módosíthatjuk a felületek alakjait.