Package geo (Referenz)
Vektoren und Matrizen für ℝ2 und ℝ3
MuPAD wird um einige Funktionen bereichert. Es werden keine neuen Datentypen geschaffen; die Syntax wird behalten und um einige Plot-Optionen erweitert.
Als Bezeichner werden eingeführt:
für Punkte A, B, C, D, F, G, ... (Der Bezeichner E ist in MuPAD reserviert.)
für Vektoren a_, b_, c_, d_, e_, f_, p_, q_, ...
für Geraden g_, h_, i_, ...
für Ebenen E_, F_, G_, ...
für reelle Zahlen r, s, t, x, y, z (In der Parameterform und Normalenform steht x für eine Vektor.)
Funktion | Beispiel | |
---|---|---|
Punkt (1|2|3) Punkt (1|2) |
punkt(x,y,z) punkt(x,y) | P := punkt(1,2,3) P := punkt([1,2,3]) P := [1,2,3] P := punkt(1,2) |
Endpunkt des Ortsvektors v_ | punkt(v_) | punkt(vektor(1,2,3)) |
irgendein Punkt | punkt() | punkt(), punkt(2) |
irgendein Punkt auf der Gerade g_ | punkt(g_) | punkt(gerade(1+r,r,r)) |
irgendein Punkt auf der Ebene E_ | punkt(E_) | punkt(ebene(2-2*s,r+s,r+2*s)) |
Prüfen von P auf "Punkt"-Eigenschaft | istPunkt(P) | istPunkt(punkt(1,2,3)) |
Ortsvektor im ℝ3 Ortsvektor ℝ2 |
vektor(x,y,z) vektor(x,y) | v_ := vektor(1,2,3) v_ := matrix([1,2,3]) v_ := vektor(1,2) |
Ortsvektor des Punktes P | vektor(P) | vektor(punkt(1,2,3)) |
irgendein Vektor | vektor() | vektor() vektor(2) |
irgendein Richtungsvektor der Gerade g_ | vektor(g_) | vektor(gerade(1+r,r,r)) |
irgendein Richtungsvektor der Ebene E_ | vektor(E_) | vektor(ebene(2-2*s,r+s,r+2*s)) |
Prüfen von v_ auf "vektor"-Eigenschaft | istVektor(v_) | vektor(vektor(1,2,3)) |
Polygon, definiert durch Startpunkt bzw. Ortsvektor und weiteren Punkten oder Verbindungsvektoren | polygon(P,Q,R) polygon(a_,b_,c_) polygon(P,a_,B,c_) | p := polygon(punkt(1,2,3),punkt(1,2,5)) p := polygon(punkt(i,0,i^2/10) $i=0..5) P := [1,2,3] P := punkt(1,2) |
Gerade im ℝ3 Gerade ℝ2 in Vektorform |
gerade(x,y,z) gerade(x,y gerade(a_+r*u_) a_+r*u_ | g_ := gerade(1+r,r,r) gerade(vektor(1,0,0)+r*vektor(1,1,1)) vektor(1,0,0)+r*vektor(1,1,1) g_ := gerade(1+r,r) |
Gerade in Ortsvektor-Richtungsvektor-Form | gerade(a_u_) | gerade(vektor(1,0,0),vektor(1,1,1)) |
Gerade in Punkt-Richtungsform | gerade(A,u_) | gerade(punkt(1,0,0),vektor(1,1,1)) |
Gerade in Zwei-Punkte-Form | gerade(P,Q) | gerade(punkt(1,0,0),punkt(2,1,1)) |
irgendeine Gerade | gerade() | gerade() gerade(punkt(2),vektor(2)) |
irgendeine Gerade durch Punkt P | gerade(P) | gerade(punkt(1,2,3)) |
irgendeine Gerade in einer Ebene E_ | gerade(E_) | gerade(ebene(2-2*s,r+s,r+2*s)) |
irgendeine Gerade parallel zur Gerade h_ | gerade(punkt(),h_) | gerade(punkt(),vektor(gerade(1+r,0,1-r))) |
irgendeine Gerade parallel zur Ebene E_ | gerade(punkt(),E_) | gerade(punkt(),vektor(ebene(2-2*s,r+s,r+2*s))) |
Ortsvektor der Gerade g_ | ortsvektor(g_) | ortsvektor(gerade(1+r,r,r)) |
Richtungsvektor der Gerade g_ | richtungsvektor(g_) | richtungsvektor(gerade(1+r,r,r)) |
Achsenabschnitte der Gerade G (im R2) | abschnitt(g_) | abschnitt(gerade(1+r,r)) |
Spurpunkte der Gerade g (im R3) | spur(g_) | spur(gerade(1+r,r,r)) |
Prüfen von g_ auf "Gerade"-Eigenschaft | istGerade(g_) | istGerade(gerade(1+r,r,r)) |
Ebene in Vektorform |
ebene(x,y,z) ebene(a_+r*u_+s*v_) a_+r*u_+s*v_ |
E_ := ebene(2-2*s,r+s,r+2*s) ebene( vektor(2,0,0)+r*vektor(-2,1,2)+s*vektor(0,1,1) ) vektor(2,0,0)+r*vektor(-2,1,2)+s*vektor(0,1,1)) |
Ebene in Ortsvektor-Richtungsvektor-Form | ebene(a_,u_,v_) | ebene(vektor(2,0,0),vektor(-2,1,2),vektor(0,1,1)) |
Ebene in Punkt-Richtungsform | ebene(A,u_,v_) | ebene(punkt(2,0,0),vektor(-2,1,2),vektor(0,1,1)) |
Ebene in Drei-Punkte-Form | ebene(A,B,C) | ebene([2,0,0],[0,1,2],[2,2,2]) |
Ebene in Normalenform | ebene(n_,a_) | ebene(vektor(1,-2,2),vektor(2,2,2)) |
Ebene in Koordinatenform | ebene(Koordinatengleichung) | ebene(x-2*y+2*z=2) |
irgendeine Ebene | ebene() | ebene() |
irgendeine Ebene durch Punkt P | ebene(P) | ebene(punkt(1,2,3)) |
irgendeine Ebene durch Gerade g_ | ebene(g_) | ebene(gerade(1+r,r,r)) |
irgendeine Ebene parallel zur Gerade g_ | ebene( punkt(), vektor(), richtungsvektor(g_) ) | ebene( punkt(), vektor(), richtungsvektor(gerade(1+r,r,r)) ) |
irgendeine Ebene parallel zur Ebene F_ | ebene( normalenvektor(F_), punkt() ) ebene( punkt(), op(richtungsvektor(F_) ) | ebene( normalenvektor(ebene(1,r+s,s)), punkt() ) ebene( punkt(), op(richtungsvektor(ebene(1,r+s,s))) ) |
Umwandlung in Parameterform | PF(E_) | PF(ebene(2-2*s,r+s,r+2*s)) x = vektor(0, 0, 1) · r + vektor(1, 2, 0) · s + vektor(0, 0, 0) |
Umwandlung in Normalenform | NF(E_) |
NF(ebene(2-2*s,r+s,r+2*s)) skalarprodukt+ 2 = 0 |
Umwandlung in Koordinatenform | KF(E_) | KF(ebene(2-2*s,r+s,r+2*s)) 2·y − x − 2·s + 2 = 0 |
Umwandlung in Achsenabschnittsform | AF(E_) |
AF(ebene(2-2*s,r+s,r+2*s)) - y + z - 1 = 0 |
Ortsvektor der Ebene E_ | ortsvektor(E_) | ortsvektor(ebene(2-2*s,r+s,r+2*s)) |
Richtungsvektoren der Ebene E_ | richtungsvektor(E_) als Liste richtungsvektor(E_)[1] richtungsvektor(E_)[2] | richtungsvektor(ebene(2-2*s,r+s,r+2*s)) richtungsvektor(ebene(2-2*s,r+s,r+2*s))[1] richtungsvektor(ebene(2-2*s,r+s,r+2*s))[2] |
Normalenvektor der Ebene E_ | normalenvektor(E_) | normalenvektor(ebene(2-2*s,r+s,r+2*s)) |
Achsenabschnitte der Ebene E_ | abschnitt(E_) | abschnitt(ebene(2-2*s,r+s,r+2*s)) |
Spurgeraden der Ebene E_ | spur(E_) | spur(ebene(2-2*s,r+s,r+2*s)) |
Prüfen von E_ auf "Ebene"-Eigenschaft | istEbene(E_) | istEbene(E_) |
Skalarprodukt zweier Vektoren | skalarprodukt(a_,b_) a_ ** b_ | skalarprodukt(vektor(n1,n2,n3),vektor(4,0,-1)) vektor(n1,n2,n3) ** vektor(4,0,-1) |
Betrag eines Vektors | betrag(v_) | betrag(vektor(3,-1,2)) |
Winkelma? zwischen zwei Vektoren | winkelmass(a_,b_) | winkelmass(vektor(3,-1,2),vektor(4,0,-1)) |
In welchem Winkel schneiden sich die Geraden g_ und h_? | winkelmass( richtungsvektor(g_), richtungsvektor(h_) ) | |
In welchem Winkel schneiden sich die Geraden g_ und die Ebene E_? | 90-winkelmass( richtungsvektor(g_), Normalenvektor(E_) ) | |
In welchem Winkel schneiden sich die Ebenen E_ und F_? | winkelmass( normalenvektor(E_), normalenvektor(F_) ) | |
Abstand zwischen Punkten (Enden von Ortsvektoren), Geraden und/oder Ebenen | abstand(P,Q) abstand(p_,q_) abstand(P,g_) abstand(P,E_) abstand(g_,h_) abstand(g_,E_) abstand(E_,F_) | abstand(punkt(1,2,3),punkt(3,1,0)) abstand(vektor(1,2,3),vektor(3,1,0)) abstand(punkt(1,2,3),gerade(1+r,r,r)) abstand(punkt(1,2,3),ebene(2-2*s,r+s,r+2*s)) abstand( gerade(1+r,r,r), gerade(punkt(1,2,3), punkt(4,1,0) ) abstand( gerade(1+r,r,r), ebene(2-2*s,r+s,r+2*s) ) abstand( ebene(2-2*s,r+s,r+2*s), ebene([2,0,0],[0,1,2],[2,2,2]) ) |
Schnitt von Punkten (Enden von Ortsvektoren), Geraden und/oder Ebenen | schnitt(P,Q), P#Q schnitt(p_,q_), p_#_q schnitt(P,g_), P#g_ schnitt(P,E_), P#E_ schnitt(g_,h_), g_#E_ schnitt(g_,E_), g_#E_ schnitt(E_,F_), E_#F_ | schnitt(punkt(1,2,3),punkt(3,1,0)) schnitt(vektor(1,2,3),vektor(3,1,0)) schnitt(punkt(1,2,3),gerade(1+r,r,r)) schnitt(punkt(1,2,3),ebene(2-2*s,r+s,r+2*s)) schnitt( gerade(1+r,r,r), gerade(punkt(1,2,3),punkt(4,1,0)) ) schnitt( gerade(1+r,r,r), ebene(2-2*s,r+s,r+2*s) ) schnitt( ebene(2-2*s,r+s,r+2*s), ebene([2,0,0],[0,1,2],[2,2,2]) ) |
Sind die Vektoren a_ und b_ kollinear? Sind die Vektoren a_, b_ und c_komplanar? |
istVektor(a_#k*b_) istVektor(a_#r*b_+s*c_) | istVektor( schnitt(vektor(1,2,3), k*vektor(2,4,6)) ) istVektor( schnitt(vektor(1,2,3), r*vektor(2,3,4)+s*vektor(3,4,5)) ) |
Sind die Geraden g_ und h_ identisch? | istGerade(g_#h_) | istGerade(schnitt( gerade([4,1,2],[4,-1,0]),gerade(4,r,r+1) )) |
Sind die Geraden g_ und h_ parallel? | ||
Sind die Geraden g_ und h_ windschief? | ||
Ist die Gerade g_ parallel zur Ebene E_? | ||
Sind die Ebene E_ und F_ zueinander parallel? | ||
Zeichne Punkt, Ortsvektor, Verbindungspfeil, Gerade, Ebene, Winkel | zeichne(P,a_,ab_,g_,E_,alpha) | zeichne( punkt(3,2,1), vektor(3,2,1), pfeil([3,2,1],vektor(2,1,2)), gerade(vektor(0,0,0),vektor(2,1,2)), ebene(vektor(2,1,2),vektor(3,2,1)), winkel([3,2,1],vektor(1,0,0),vektor(0,0,1)) ); |
Zeichne Achsenabschnitte (für g_ im R2, für E_ im R3) | abschnitt(E_) abschnitt(E_)[3] abschnitt(g_) abschnitt(g_)[1] | abschnitt(ebene(vektor(2,1,2),vektor(3,2,1))) abschnitt(ebene(vektor(2,1,2),vektor(3,2,1)))[1] abschnitt(gerade(punkt(2,1),punkt(3,-1))) abschnitt(gerade(punkt(2,1),punkt(3,-1)))[1] |
Zeichne Spurpunkte bzw. Spurgeraden (für g_ bzw E_) | spur(E_) spur(E_)[1] spur(g_) spur(g_)[1] | spur(ebene(vektor(2,1,2),vektor(3,2,1))) spur(ebene(vektor(2,1,2),vektor(3,2,1)))[2] spur(gerade(vektor(2,1,2),vektor(3,2,1))) spur(gerade(vektor(2,1,2),vektor(3,2,1)))[2] |
Zeichne im Bereich | zeichne( v_, ViewingBox=[xmin..xmax, ymin..ymax, zmin..zmax] ) | zeichne(vektor(3,2,1),ViewingBox=[-4..4,-4..4,0..6]) |
Zeichne mit Farbe | zeichne(v_,Color=RGB::Red) | zeichne(vektor(2,1,2),Color=RGB::Red) zeichne(vektor(2,1,2,Color=RGB::Red)) |
Zeichne xyz-Koordinaten für Punkt, Vektor oder Verbindungspfeil | zeichne(v_,Delta=TRUE) zeichne(v_,Delta=Color,RGB::Red) | zeichne(vektor(2,1,2),Delta=TRUE) zeichne(vektor(2,1,2,Delta=TRUE)) zeichne(vektor(2,1,2),Delta=Color,RGB::Red) zeichne(vektor(2,1,2,Delta=Color,RGB::Red)) |
Zeichne auch Achsenabschnitte und Spurpunkte | zeichne(g_,Dots=FALSE) zeichne(g) Voreinstellung: Dots=RGB::Blue zeichne(E_,Dots=RGB::Green) zeichne(E_) Voreinstellung: Dots=FALSE | zeichne(gerade(4,r,r+1),Dots=FALSE) zeichne(gerade(4,r,r+1,Dots=FALSE)) zeichne(ebene(2-2*s,r+s,r+2*s),Dots=RGB::Green) zeichne(ebene(2-2*s,r+s,r+2*s,Dots=RGB::Green)) |
Zeichne auch Spurgeraden der Ebene | zeichne(E_,LineLolor=RGB::Red) zeichne(E_) Voreinstellung: LineColor=FALSE zeichne(E_,Lines=TRUE) zeichne(E_) Voreinstellung: Lines=FALSE | zeichne(ebene(2-2*s,r+s,r+2*s),LineLolor=RGB::Red) zeichne(ebene(2-2*s,r+s,r+2*s,LineLolor=RGB::Red)) zeichne(ebene(2-2*s,r+s,r+2*s),Lines=TRUE) zeichne(ebene(2-2*s,r+s,r+2*s,Lines=TRUE)) |
Zeichne Gitterraster der Ebene | zeichne(E_,Raster=TRUE) zeichne(E_) Voreinstellung: Raster=(Filled)?FALSE:TRUE | zeichne(ebene(2-2*s,r+s,r+2*s),Raster=TRUE) zeichne(ebene(2-2*s,r+s,r+2*s,Raster=TRUE)) |
Zeichne die gesamte Ebenenfläche (und nicht den Ausschnitt innerhalb eines Quadranten) | zeichne(E_,Surface=TRUE) | zeichne(ebene(2-2*s,r+s,r+2*s),Surface=TRUE) zeichne(ebene(2-2*s,r+s,r+2*s,Surface=TRUE)) |
Zeichne Szene bestehend aus mehreren Bildern
In zeichne können alle plot-Optionen weiterhin benutzt werden. |
zeichne(szene(...),...,szene(...)) | zeichne( szene( ebene(2-2*s,r+s,r+2*s,LineColor=RGB::Red), punkt(1,2,3,Delta=TRUE) ), szene( gerade(4,r,r+1,Dots=FALSE), ebene(2-2*s,r+s,r+2*s,LineColor=RGB::Red) ), GridVisible=TRUE ) |
Nach Download der Datei geo.zip (07.11.06) wird der entpackte Ordner geo in das Verzeichnis packages des Programmordners kopiert.
Mögliche Erweiterungen:
Objekte:
regelmäßiges Vieleck, Kreis
Quader, Schiefquader, allg.: Kasten
Pyramide, Schiefpyramide
Kugel
Zylinder, Schiefzylinder
Kegel, Schiefkegel
Abbildungen
Animation