Gömbháromszög felület
A feladat
Legyen adott egy tetszőleges gömbháromszög az A, B, C csúcsaival! Adjuk meg (rajzoljuk meg) a gömbháromszög felületet!
A gömbi geometriai szerkesztésekhez készített saját eszköztárnak az elkészítése közben a fenti feladat megoldása okozott némi fejtörést. Bár egy program felhasználóját nem kell, hogy érdekeljék a program készítésekor felmerülő problémák, ezúttal a tapasztalatok megosztása céljából érdemes kivételt tenni.
Általában egy felület megjelenítéséhez vagy a felület poliéderes - többnyire háromszöges - megközelítésével, vagy a felületet leíró kétváltozós függvény megadásával juthatunk el.
Itt is ezt a két utat alkalmaztuk.
Közelítés háromszögekkel:
Az A, B, C gömbi pont megadását követően az alábbi GeoGebra utasításokat alkalmaztuk:
- Megadtunk egy n számot, amely a közelítés finomságát szabályozza. Jelen esetben n=9, de ennek a megadását függővé tehetjük az ABCΔ legnagyobb oldalától, kerületétől, stb. Számolnunk kell azonban azzal, hogy n növelésével lelassul a program, különösen ,ha több G háromszöget kell "befestenünk."
- Felosztjuk az AB és AC gömbi szakaszt n egyenlő részre . (Ehhez használtuk a megfelelő saját eljárest: Pl. b_n=GSzakaszOSZT(A, C, n)
- Az így keletkező osztópontokat rendre tovább osztottuk minden sorban 1-el kevesebb részre, így előállítottunk egy háromszögrácsot: P=Sorozat(GSzakaszOSZT(Elem(c_n,i),Elem(b_n,i),i), i,1,n+1)
- Megrajzoltuk a szomszédos rácspontok háromszögeit: HR=Sorozat( Sorozat({ Sokszög(Elem(P, i, j), Elem(P, i+1, j), Elem(P, i+1, j+1)), Sokszög(Elem(P, i, j+1), Elem(P, i, j), Elem(P, i+1, j+1))}, j,1, i+1), i,1,n)
- Gondoskodnunk kell arról, hogy a kapott HR felületet alkotó háromszögek éleinek a vonalvastagsága és átlátszatlansága 0 legyen. Maga a felület átszínezhető, átlátszatlansága legyen maximális, azaz 1.
- Végül készítsük el a saját eljárást, amelynek kimenő adata HR, bemenő adatai az A,B,C pontok.
A háromszög felület megadása kétváltozós függvényként.
A háromszög felületet úgy kell megadnunk, hogy a határvonalai pontosan a háromszög élei legyenek. Az út lényegében az előzőhöz hasonló. a különbség abban van, hogy ezt kétváltozós függvényekkel kell megadni. az A, B, C gömbi pontokat megadva mindez négy függvénnyel megadható, sőt ezeket akár egyetlen paranccsal meg lehetne oldani.
- X(u,v) = v x(A) + (1-v) ((1-u) x(B) + u x(C))
- Y(u,v) = v y(A) + (1-v) ((1-u) y(B) + u y(C))
- Z(u,v) = v z(A) + (1-v) ((1-u) z(B) + u z(C))
- t(u,v) = 5 / sqrt((X(u,v))² + (Y(u,v))² + (Z(u,v))²)
- HF = Felület(X(u,v) t(u,v), Y(u,v) t(u,v), Z(u,v) t(u,v),u,0,1,v,0,1)
Csak, hogy ...
Csak, hogy - mint minden esetben - most is célszerű alapos tesztelésnek alávetni az így kapott saját eljárásokat. Az ABCΔ -et megnövelve még szembetűnőbb, a felületrajzoló eljárás előnye: az eljárás eredménye mindig egy szép sima felület, hátránya, hogy ha nagyobb felületet (pl. az egész gömböt ezzel az eljárással színezünk ki, akkor ezzel erősen megnövekszik az applet számolási igénye, így leassul a kezelhetősége.