GeoGebra 3D

GeoGebra 3D

Avtor: Mateja Makše

Nastanek

Povod za nastanek programa je potreba po 3-dimenzionalnem risanju geometrijskih objektov točk, premic, funkcij, teles, in tudi ploskev, krivulj … Vse to naj bi bilo lahko obvladati z računalniško miško. Najbolje pa je, da lahko vse, kar narišemo, vidimo iz različnih kotov.

Glavni razvijalec je Mathieu Blossier, profesor matematike na univerzi v Franciji.

Geogebra 3D je del programa GeoGebra 4.9.239.0-JOGL2 (//download.geogebra.org/installers/5.0/?C=M;O=D), ki je izšel leta 2007.

Program izpopolnjujejo že kar nekaj časa, na trgu je še vedno le beta verzija tega programa, zato tudi ni veliko dokumentacije o njem.


(http://www2.nauk.si/files/746/Picture1.png)

Izgled

Najprej, ko odpremo naš program, se odpre del programa namenjen za 2-dimenzionalno risanje. V zavihku Pogled pa odpremo še 3-dimenzionalno risanje, hkrati pa se nam odprejo še nova orodja namenjena temu risanju.

Kot v 'navadni' GeoGebri imamo tudi tu algebrsko okno (levo), kjer se nam izpisujejo enačbe naših objektov, konstante, ... Vse kar ukažemo, se nam tu izpiše v taki ali drugačni obliki. Nato sledi risalna površina (na sredini), ki predstavlja ravnino, ki jo določata koordinatni osi x in y. Na desni strani pa je pogled 3D, kjer se nam izrisujejo vsi objekti; tudi 2-dimenzionalni, za katere se doda tretja koordinata, ki je enaka 0, torej nam 2-dimenzionalne objekte nariše na osenčeno ravnino x, y. Spodaj pa je vnosna vrstica, kamor vnašamo ukaze.

Na sliki so označena okenca z orodji (v vsakem okencu je ena družina orodij), v nadaljevanju pa je napisano, katero družino orodij predstavlja posamezna ikona:

(http://www2.nauk.si/files/746/izgled.png)


Večina teh ukazov pa lahko narišemo tudi prek orodij, ki so označena na sliki:

  1. Izbira in premik objektov
  2. Risanje točk, presečišč, središč, ...
  3. Risanje premic, daljic, vektorjev, ...
  4. Risanje pravokotnic, vzporednic
  5. Prostoročno risanje mnogokotnikov
  6. Risanje krožnic s podanim polmerom, okoli osi, ...
  7. Presečišče ploskev
  8. Prostoročno risanje ravnin čez 3 točke
  9. Vzporedna in pravokotna ravnina
  10. Piramida, prizma, razširjanje likov v prizmo, piramido, stožec, valj
  11. Risanje sfer, stožcev, valjev
  12. Računanje kotov, razdalj, ploščin, volumnov
  13. Zrcaljenja, raztegi, premiki, rotacije
  14. Vnašanje teksta
  15. Zavrti 3D pogled, povečave, pomanjšave, ...
  16. Spremenjen pogled na nek objekt

    Ker pa je lažje delati z vnašanjem ukazov v vnosno vrstico (pa tudi orodja za vsak ukaz), sem se osredotočila predvsem na ukaze.

Izgled

Na filmčku je zelo lepo prikazano, kako lahko obračamo sliko/objekt in si tako lažje predstavljamo 3D objekt. Poglede lahko spreminjamo z orodji ali z račuanlniško miško in nekaj tipkami na tipkovnici (Ctrl).

Kaj vse program zna?

Narisati:

  • Točke
  • Vektorje
  • Premice
  • Stožnice
  • Ravnine
  • Krogle
  • Valje in stožce
  • Neskončne valje in stožce
  • Kvadre
  • Poliedri
  • Krivulje, ploskve

Izračunati:

  • Prostornino
  • Višino …

V nadaljevanju je predstavljenih nekaj teh ukazov.

Točke

Točke v prostoru lahko rišemo tako, da podamo 3 koordinate točke, prva je vedno x-koordinata, druga y-koordinata, tretja pa z-koordinata. Prvi ukaz je s Point3D+črka (Točka v 3D prostoru), drugi pa velika tiskana črka, obema ukazoma pripišemo 3 koordinate.

  • Point3DA = (a1, a2, a3)
  • A = (a1, a2, a3)

Narišemo in izračunamo pa lahko tudi aritmetično sredino med dvema točkama z ukazom:

  • Središče[ <točka>, <točka>]
(http://www2.nauk.si/files/746/Picture4.png)
Na sliki lepo vidimo, da drugo točko Point3DA nariše tudi na ravnino xy, saj je tretja koordinata enaka 0. Tretja koordinata točke B pa je različna od 0, zato na je narisana le na 3D pogledu.

Vektorji

Krajevni vektor do točke je vektor od koordinatnega izhodišča do te točke. Narišemo ga z ukazom eq+mala tiskana črka ali pa enostavno mala tiskana črka, obema pripišemo 3 koordinate točke do katere poteka vektor:

  • eqa = (a1, a2, a3)
  • a = (a1, a2, a3)

Ali pa enostavno z ukazom:

  • Vektor[ <točka> ]

Vektor od točke do točke narišemo:

  • Vektor[ <začetna točka>, <končna točka> ]

Vektorski produkt dveh vektorjev narišemo in izračunamo z naslednjim ukazom. Pomemben je vrstni red vektorjev (kateri je prvi in kateri drugi), glede na to se nastali vektor pomnoži z (-1). Znak za vektorski produkt najdemo na desni strani vnosne vrstice med simboli.

  • eqA ⊗ eqB

Izračunamo in narišemo pa lahko tudi vektorje ukrivljenosti krivulj in funkcij (to so vektorji iz dane točke do središča pritisnjene krožnice na krivuljo ali funkcijo; pritisnjena krožnica je izračunana v dani točki):

  • VektorUkrivljenosti[ <točka>, <funkcija> ]
  • VektorUkrivljenosti[ <točka>, <krivulja> ]
(http://www2.nauk.si/files/746/Picture5.png)
Narisani so trije vektorji na tri načine: prva dva sta krajevna vektorja (črn z ukazom a=(a1,a2,a3), vijoličen pa z eqA=(a1,a2,a3)), zadnji rumen pa je vektorski produkt prejšnjih dveh (eqA ⊗ a).

Premice

Premico lahko narišemo, če imamo podane dve točki; če imamo premico in točko skozi katero bo potekala vzporednica prvi premici; ali pa če imamo podano točko in vektor, ki nam določi smer premice:

  • Premica[ <točka>, <točka>]
  • Premica[ <točka>, <premica> ]
  • Premica[ <točka>, <smerni vektor> ]

Skriti del premice (pod xy ravnino) nariše program črtkano.

(http://www2.nauk.si/files/746/Picture6.png)
Najprej je bil narisan vijolični krajevni vektor do točke (2,3,4); nato pa z ukazom Premica((2,2,2),eqA) še roza premica s točko (2,2,2) in prejšnjim smernim vektorjem.

Krogle

Kroglo lahko narišemo, če imamo podano središče krogle (prvi argument naslednjih ukazov) in drugo točko, skozi katero poteka sfera; ali pa s središčem in polmerom sfere:

  • Sfera[ <točka>, <točka> ]
  • Sfera[ <točka>, <polmer> ]
(http://www2.nauk.si/files/746/Picture7.png)
Krogla s središčno točko v koordinatnem izhodišču in točko na krogli (2,2,2).

Ravnine

Ravnino lahko definiramo s premico in točko, ki ne leži na premici; ali s tremi nekolinearnimi točkami (ne ležijo na isti premici); ali z ravnino in točko, ki ne leži na tej ravnini - skozi točko narišemo vzporedno ravnino prvi ravnini.

  • Ravnina[ <točka>, <premica> ]
  • Ravnina[ <točka>, <točka>, <točka> ]
  • Ravnina[ <točka>, <ravnina> ]

Rišemo pa lahko tudi pravokotne ravnine: Podati moramo točko, ki bo na ravnini in pa premico, ki bo prebadala ravnino pod pravim kotom; ali pa točko na ravnini in vektorjem, ki predstavlja normalo na ravnino.

  • PravokotnaRavnina[ <točka>, <premica> ]
  • PravokotnaRavnina[ <točka>, <vektor> ]
(http://www2.nauk.si/files/746/Picture8.png)
Ravnina (svetlo modro), ki je določena z rdečo premico a (ta pa z vijoličnim vektorjem - prosojnica Premice) in koordinatnim izhodiščem.

Krivulje

Podan je ukaz za risanje parametrično podanih krivulj: imamo tri izraze za vsako koordinatno os posebej, ki pa so vse odvisne le od enega parametra, ki mi določimo začetno in končno vrednost (minimalno in maksimalno):

  • Krivulja[ <izraz za x>, <izraz za y>, <izraz za z>, <parameter>, <začetna vrednost>, <končna vrednost> ]
(http://www2.nauk.si/files/746/Picture9.png)
Izraz za x: cos(3t), izraz za y: sin(4t), izraz za z: sin(7t), s parametrom t.

Ploskve

Podobno kot pri krivuljah imamo tudi pri ploskvah izraze za vsako koordinatno os posebej, le da so vsi ti izrazi odvisni od dveh parametrov, ki jim na koncu določimo še minimalno in maksimalno vrednost:

  • Ploskev[ <izraz za x>, <izraz za y>, <izraz za z>, <parameter 1>, <začetna vrednost>, <končna vrednost>, <parameter 2>, <začetna vrednost>, <končna vrednost> ]
(http://www2.nauk.si/files/746/Picture10.png)
Naslednjo enačbo ploskve sem našla med brskanjem na spletu. Če naredimo prerez na katero od ravnin xy, xz ali yz dobimo sinusoido.

Poliedri

Vse poliedre (kocka, ikozaeder, tetraeder, dodekaeder, oktaeder, ...) narišemo na enak način:

  • Ime telesa[ <točka>, <točka>, <smer>]

Točki sta dve sosednji točki osnovne ploskve. Za smer podamo neko ravnino; če smeri ne podamo, se privzame za smer xy ravnina, tj. spodnja ploskev telesa bo ležala na tej ravnini. Paziti pa moramo, da ti dve točki ležita na ravnini, ki jo podamo za smer (četudi je to xy ravnina)!

(http://www2.nauk.si/files/746/Picture12.png)
Na sliki je kocka, ki ima smer xy ravnino. Narisala sem jo s točkama A in B - vidimo, da ležita na ravnini xy.


(http://www2.nauk.si/files/746/Picture11.png)
Ikozaeder. Vidimo tudi, da nam spodnjo osnovno ploskev (ki leži na xy ravnini) nariše na risalno površino. Izpiše pa nam tudi dolžine vseh robov in ploščine vseh stranskih ploskev (v algebrskem oknu).

Prizme

Prizmo lahko narišemo tako, da podamo mnogokotnik, ki predstavlja spodnjo osnovno ploskev; sedaj pa če za drugi argument podamo višino prizme nam izriše pokončno prizmo, če pa podamo točko, pa nam (po vsej verjetnosti - odvisno od koordinat točke) nariše poševno prizmo - točka je premaknjena prva točka mnogokotnika; na podoben način lahko prizmo narišemo z množico točk:

  • Prizma[ <mnogokotnik>, <točka> ]
  • Prizma[ <mnogokotnik>, <višina> ]
  • Prizma[ <točka>, <točka>, ... ]

    • prve n-točk predstavljajo spodnji del prizme (osnovna ploskev), zadnja točka pa premaknjena prva točka, po takem vzorcu se dodajo še ostale točke zgornje ploskve (kot premaknjene točke spodnje ploskve)
(http://www2.nauk.si/files/746/Picture13.png)
Na sliki je poševna prizma, ki ima za osnovno ploskev 6-kotnik. Narisala sem jo tako, da sem najprej narisala 6 poljubnih točk na xy ravnini, nato pa sem z ukazom večih točk te povezala in dodala še eno točko (preslikano prvo točko).

Valji

Če ukazu za valj podamo dve točki, nam ti dve točki privzame za središče kroga spodnje in zgornje osnovne ploskve, podati pa moramo še polmer valja; lahko pa podamo krog (spodnja ploskev valja) in višino valja:

  • Valj[ <Točka>, <Točka>, <Polmer> ]
  • Valj[ <Krog>, <Višina> ]
(http://www2.nauk.si/files/746/Picture17_0.png)
Na sliki je valj, ki ima središče spodnje osnovne ploskve v A(-2,-2,-2), zgornje pa v B=(10,10,10), z nekim polmerom. V algebrskem oknu c in d predstavljata spodnjo in zgornjo ploskev valja; a predstavlja valj oziroma numerično-volumen valja, b pa plašč oziroma površina plašča.

Stožci

Za risanje stožca lahko podamo podobno kot pri valju spodnjo ploskev krog in višino stožca:

  • Stožec[ <Krog>, <Višina> ]
(http://www2.nauk.si/files/746/Picture18.png)
Stožec z osnovno ploskvijo na xy ravnini (narisana tudi na risalno površino).

Piramide

Piramide se riše na podoben način kot prizme: Lahko podamo mnogokotnik, ki predstavlja spodnjo osnovno ploskev; če za drugi argument podamo višino piramide nam izriše pokončno piramido, če pa podamo točko - vrh piramide, pa nam (po vsej verjetnosti - odvisno od koordinat točke) nariše poševno piramido; na podoben način lahko piramido narišemo z množico točk:

  • Piramida[ <mnogokotnik>, <točka> ]
  • Piramida[ <mnogokotnik>, <višina> ]
  • Piramida[ <Točka>, <Točka>, <Točka>, <Točka>, ... ]

    • prvih n-točk predstavlja spodnji del piramide (osnovna ploskev), zadnja točka pa je vrh piramide
(http://www2.nauk.si/files/746/Picture14.png)
Piramida je bila narisana tako, da sem najprej narisala poljuben mnogokotnik na xy ravnino, nato pa sem tega povezala z še eno točko, ki predstavlja vrh. Nastala je piramida. Na levi se nam izračuna volumen piramide (g) ter označi vse robove in ploskve.

Neskončni stožci

Za risanje neskončnega stožca potrebujemo tisto točko, v kateri se stikata oba dela neskončnega stožca; središčni kot; in pa os neskončnega stožca, ki jo predstavimo s premico ali vektorjem (ali pa še eno točko: skozi to točko in točko, kjer se stikata oba dela neskončnega stožca poteka os).

  • NeskončniStožec[ <točka>, <vektor>, <kot> ]
  • NeskončniStožec[ <točka>, <točka>, <kot> ]
  • NeskončniStožec[ <točka>, <premica>, <kot> ]


V naslednjem filmčku si bomo pogledali en primer risanja v GeoGebri, konkretno risanje neskončnega stožca. Najprej si pripravimo točko in vektor, nato pa stožec tudi narišemo. Objekt si lahko tudi bolje pogledamo iz vseh kotov (tako bolje vidimo točko, kjer se stikata oba dela stožca).

Neskončni valji

Os neskončnega valja predstavimo s premico (dodamo še polmer valja in dobimo neskončni valj), ali s točko in vektorjem - dobimo zopet premico, ki predstavlja os valja, ali pa z dvema točkama skozi katere poteka premica os valja:

  • NeskončniValj[ <premica>, <polmer> ]
  • NeskončniValj[ <točka>, <vektor>, <polmer> ]
  • NeskončniValj[ <točka>, <točka>, <polmer> ]
(http://www2.nauk.si/files/746/Picture19_0.png)
Sicer na sliki izgleda neskončni valj kot končni valj, vendar temu ni tako, saj če pomanjšujemo sliko, se nam valj "razteguje" v neskončnost.

Še nekaj pogosto uporabljenih ukazov

Presečišče dveh objektov je lahko ali točka (dve premici) ali premica (dve ravnini) ali lik (dva telesa) ali ...

  • Presečišče[ <objekt>, <objekt> ]

Izračunamo pa lahko tudi višino, prostornino telesa ali pa definiramo spodnjo in zgornjo skrajno točko telesa:

  • Višina[ <telo> ]
  • Prostornina[ <objekt> ]
  • Spodaj[ <telo> ]
  • Zgoraj[ <telo> ]

Naloga

Nariši neskončni valj s polmerom 3 enote in osjo valja - premica, ki gre skozi točko (3,3,3) in je vzporedna koordinatni osi . Valj presekaj z neko ravnino. Ravnino premikaj in ugotovi, kaj predstavlja ta presek. Sproti računaj še ploščine presekov. Pod kakšnim pogojem dobimo za presek krožnico oziroma krog?

Napake

Ker program še ni izpopolnjen, se še vedno pojavi nekaj napak pri delovanju programa, med drugimi tudi naslednje:

  • Jezik v algebrskem oknu je pol angleški in pol slovenski, ker nekaterih ukazov še niso prevedli
  • Seznami ne delujejo pravilno
  • Teksta na 3D pogled ni mogoče nanašati
  • Nekatera telesa nariše narobe
  • Ukaz bi moral vrniti točko v prostoru, ukaz pa vektor v prostoru, vendar oba vrneta krajevni vektor do točke.
  • (na sliki spodaj)

    • ta ukaz bi moral vrniti telo v prostoru (sfero), vendar program prezre z-komponento in nariše krožnico na ravnino xy
(http://www2.nauk.si/files/746/Picture15.png)
x^2 + y^2+ z^2 + 4x - 2y - 8z = 4
0%
0%