Inhaltsverzeichnis

Geometrie - download der Seite
Aufgaben des Programms
Nutzungsbedingungen
Formatierung
ZEING3D
ZEINGPKT
ZEINGRIC
ZEINGGER
ZEINGEBE
ZVECPROD
ZOUTRAD
ZOUTDREI
DREIECK
GEOMETRI
Anmerkungen
Verwendung des Programms
Bestimmung des Abstandes einer Geraden zu einer Ebenen
Berechnungen am Dreieck
Bestimmung des Abstandes zweier Geraden
Verwendung von Variablen, Listen und Matrizen
Verwendung der Label

Geometrie --- Inhalt --- home

Download:

Aufgaben des Programms --- Inhalt --- home

Das Programm erfüllt folgende Aufgaben:

  1. Eingabe der notwendigen Koordinaten in einer möglichst komfortablen Weise
  2. Berechnung
    1. Abstand von
      • Punkt - Punkt
      • Punkt - Gerade
      • Punkt - Ebene
      • Gerade - Gerade
      • Gerade - Ebene
    2. Schnittwinkel von
      • Gerade - Ebene
      • Ebene - Ebene
      • Richtung – Richtung
    3. Vektorprodukt
    4. Berechnungen am Dreieck im Raum
      • Längen
      • Innenwinkel
      • Flächeninhalt
      • Schnittpunkt der Höhen und Umkreismittelpunkt mit Radius
      • Inkreismittelpunkt mit Radius (ungetestet)
      • und anderes
    5. Eingeben und Erstellen der Ebenengleichungen in
      • allgemeiner Form (Punkt-Richtung und Dreipunkt)
      • Normalenform (neu: April 2004)
      • Koordinatenform (neu: April 2004)
    6. Spiegelung
      • Punkt an Punkt
      • Punkt an Gerade
      • Punkt an Ebene
    7. Spurpunkten einer Geraden
  3. Ausgabe der Ergebnisse im Display und in Listenform
  4. Beachten aller Fälle

Nutzungsbedingungen --- Inhalt --- home

Das Programm kann von allen frei und kostenlos genutzt werden. Unter der Bedingung, dass der Vermerk zur Dokumentation im Internet weiter sichtbar ist, können Programmteile in eigenen Programmen verwendet werden. Das Programm wurde umfassend getestet, trotzdem können Fehler vorhanden sein, die zur Verbesserung des Programms bitte auch mit weiteren Anregungen an F. Müller weitergeleitet werden können. Für die Richtigkeit der Ergebnisse übernehme ich keine Gewähr.

Zur Vereinfachung und Verbesserung der Übersichtlichkeit wurden viele “PROZEDUREN” verwendet, trotzdem ist das HAUPTPROGRAMM noch relativ lang. Das Programm GEOMETRI ist nur bei Vorliegen aller im unten stehenden Text beschriebenen PROZEDUREN arbeitsfähig.

Die nachstehende Programmbeschreibung dient der Dokumentation und ist die Version 2.3 mit dem Stand vom 02.05.2004.

Formatierung --- Inhalt --- home

Die Programmnamen stehen FETT dem Programmtext(Tifont)vor.
Diese Seite können Sie nur richtig betrachten oder drucken, wenn dieser Font auf ihrem Computer installiert ist. Sollte das noch nicht der Fall sein, können sie den Font hier downloaden (74kb). Die Schriften sind dem Freeware-Programm „GraphLink“ für den TI-82
entnommen (siehe http://www.ti.com). Für den Ausdruck dieser Seite nutzen Sie das entsprechende pdf-Dokument. Sie müssen dafür den Font nicht installieren.

Anmerkungen sind in Times New Roman zumeist im Anschluss an den Programmtext zu finden. Doppelpunkte am Zeilenanfang werden nicht mitgeschrieben, Doppelpunkte am Zeilenende sollen darauf hinweisen, dass hier nur zur Gliederung ein Zeilenumbruch durchgeführt wurde.

Wer nicht am Programmquelltext interessiert ist (die meisten Schüler), sollte gleich zu den Anmerkungen springen.

ZEING3D --- Inhalt --- home

:Prompt X:Prompt Y:Prompt Z

Zur Eingabe der Koordinaten im Raum vorgesehen und in den Programmen ZEINGPKT und ZEINGRIC eingesetzt.

Das den Programmnamen vorstehende Z1 verschiebt die Eingabeprogramme an das Ende der Programmliste, denn es hat keinen Zweck diese Programme ohne das Hauptprogramm GEOMETRIE zu verwenden.

ZEINGPKT --- Inhalt --- home

:Disp "EINGABE PKT. R3":prgmZEING3D

Eingabe der Koordinaten eines Punktes

Wird in den meisten Programmen verwendet, insbesondere den Programmen die zur Eingabe von Geraden (ZEINGGER) und Ebenen (ZEINGEBE) dienen. Analog zu dem Programm ZEINGPKT wird mit ZEINGRIC ein Richtungsvektor eingegeben. Ein Nullvektor kann kein Richtungsvektor sein, sollte er trotzdem eingegeben werden, so wird die Abarbeitung des Programms gestoppt und auf dem Display die Meldung “KEINE RICHTUNG ANGEGEBEN -STOP” ausgegeben..

Übergabe der Größen durch die Variablen X, Y und Z; Auswertung im aufrufenden Programm.

ZEINGRIC --- Inhalt --- home

:Disp "EINGABE RICHTUNG"
:prgmZEING3D
:If X=0 and Y=0 and Z=0:Then:Disp "KEINE RICHTUNG","ANGEGEBEN STOP":Stop:End

ZEINGGER --- Inhalt --- home

:6üdim L†
:Menu("EINGABE GERADE","PKT.úRICHTUNG",A,"ZWEIPUNKT",B)

:Lbl A
:0üA

:Lbl D
:prgmZEINGPKT:XüL†(1):YüL†(2):ZüL†(3)
:If Aø1
:Then:prgmZEINGRIC
:Else:prgmZEINGPKT:End:XüL†(4):YüL†(5):ZüL†(6)
:Goto C

:Lbl B
:1üA:Goto D

:Lbl C
:If A
:Then:L†(4)-L†(1)üL†(4):L†(5)-L†(2)üL†(5):L†(6)-L†(3)üL†(6):End
:If L†(4)=0 and L†(5)=0 and L†(6)=0
:Then:Disp "KEINE RICHTUNG":Stop:End

Eingabe einer Gerade g: x = P + s r.

  1. in Punkt-Richtungs-Form
  2. in Zweipunktform

Die Koordinaten der Gerade werden zunächst in Liste 6 gespeichert. Dabei hat L6 genau 6 Elemente, wobei die ersten 3 Listenelemente die Koordinaten eines Punktes sind, durch den die Gerade verläuft und die folgenden 3 Elemente repräsentieren den Richtungsvektor. Dabei wird die Geradengleichung durch Punkt P und Richtung rgegeben. Es gilt: L6 (1) = Px; L6 (2) = Py; L6 (3) = Pz und L6 (3) = rx; L6 (5) = ry; L6 (6) = rz. Die Gerade wird also stets in der Form Punkt-Richtung abgespeichert, egal ob sie in der Punkt-Richtungs- oder Zweipunktform eingegeben wurde. Die Eingabe des Nullvektors anstelle des Richtungsvektors bewirkt den Abbruch des Programms.

ZEINGEBE --- Inhalt --- home

:9üdim L†
:Menu("EINGABE EBENE","PKT. + 2 RICHTUNG",A,"DREIPUNKT",B)

:Lbl A:0üA

:Lbl D
:prgmZEINGPKT:XüL†(1):YüL†(2):ZüL†(3)
:For(I,1,2)
:If A=1
:Then:prgmZEINGPKT
:Else:prgmZEINGRIC
:End
:XüL†(1+3*I):YüL†(2+3*I):ZüL†(3+3*I)
:End
:Goto C

:Lbl B
:1üA:Goto D

:Lbl C
:If A
:Then
:For(J,1,2)
:For(I,1,3):L†(J*3+I)-L†(I)üL†(J*3+I):End
:End
:End
:
:L†(4)L†(7)+L†(5)L†(8)+L†(6)L†(9)üA:(L†(4)ò+L†(5)ò+L†(6)ò)*(L†(7)ò+L†(8)ò+L†(9)ò)üB
:If abs (Aò-B)<5ûú7
:Then:Disp "DIE RICHTUNGSVEK","SIND PARALLEL","KEINE EBENE EIN-","GEGEBEN - STOP":Stop:End
:If (L†(4)=0 and L†(5)=0 and L†(6)=0) or (L†(7)=0 and L†(8)=0 and L†(9)=0)
:Then:Disp "FEHLER RICHT.-VE","IST NULLVEKTOR":Stop:End

Eingabe einer Ebene

  1. in Punkt-Richtungs-Form
  2. in Dreipunktform

Ebene wird an aufrufendes Programm durch L6 übergeben. Die Bedeutung der 9 Listenelenente ist ähnlich der Geraden wieder Punkt-Richtung-Richtung.

Es wird überprüft, ob die Richtungsvektoren parallel sind, oder einer der Richtungsvektoren der Nullvektor ist. Sollte dieser Fall eintreten wird die Abarbeitung gestoppt.

ZVECPROD --- Inhalt --- home

:If dim L†ø9
:Then:Disp "FEHLER","VEKTORPRODUKT","KANN NICHT BEREú","CHNET WERDEN L†":Stop
:Else:L†(5)L†(9)-L†(6)L†(8)üL†(1):L†(6)L†(7)-L†(4)L†(9)üL†(2):L†(4)L†(8)-L†(5)L†(7)üL†(3)
:End

Berechnung des Vektorproduktes

Zur Eingabe der beiden Richtungsvektoren durch das aufrufende Programm wird Liste 6 verwendet. Es wird vorausgesetzt, dass sie die Positionen 4 bis 9 belegen, wie es bei Ebenen vorliegen würde. Das Ergebnis wird auf die Positionen 1 - 3 gelegt. Damit ergibt sich durch Kürzen der Liste auf nur noch 3 Elemente der Kreuzvektor.

ZOUTRAD

:If W>Ä/22:Then:Ä-WüW:End:Disp "WINKEL IN RAD",W," IN GRAD", W/1ô,"GTR AUF RADIANT","UMGESTELLT"

Zur Ausgabe der Winkel. Es werden Winkel zwischen -90° und 90° ausgegeben. Unter Umständen muss der Benutzer selbst entscheiden, ob negative Winkel durch Weglassend des Vorzeichens als positive Winkel ausgegeben werden sollen.

ZOUTDREI

:If dim L<50:Then:Disp "ERST prgmDREIECK AUSFUEHREN":Else:
:Lbl Y
:ClrList L‚,Lƒ,L„,L…,L†:3üdim L‚:3üdim Lƒ:3üdim L„:3üdim L…:3üdim L†
:Menu("DREIECK","SEITENLAENGE",A,"WINKEL",B,"FLAECHE",C,"NORMALE",D,"UMKREIS",F,"WEITERE",W,"ENDE",Z)
:
:Lbl W
:Menu("WEITERE","INKREIS",G,"SCHWERPUNKT",H,"EBENENGLEICHUNG",E,"RICHTUNGSVEKTOREN",I,"ECKPUNKTE",J,"ENDE",Z)
:
:Lbl A
:For(I,1,3):L(I+18)üL…(I):L(I+21)üL†(I):End
:Disp "SEITENLAENGE L†",L†,"QUADRATE L…",L…
:Goto X
:
:Lbl B
:For(I,1,3):L(I+25)üL…(I):L(I+29)üL†(I):End
:Disp "W.IN GRAD L†",L†,"WINKEL L…",L…
:Goto X
:
:Lbl C
:Disp "FLAECHE",L(25)
:Goto X
:
:Lbl D
:For(I,1,3):L(I+15)üL†(I):End
:Disp "NORMALE L†",L†
:Goto X
:
:Lbl E
:Disp "EBENENGLEICHUNG"
:Goto X
:
:Lbl F
:For(I,1,3):L(I+37)üL†(I):End
:Disp "UMKREIS L†",L†,"RADIUS",L(42),"RADIUSQUADRAT",L(41)
:Goto X
:
:Lbl G
:For(I,1,3):L(I+45)üL†(I):End
:Disp "INKREIS L†",L†,"RADIUS",L(49)
:Goto X
:
:Lbl H
:For(I,1,3):L(I+42)üL†(I):End
:Disp "SCHWERPUNKT L†",L†
:Goto X
:
:Lbl I
:For(I,1,3):L(I+9)üL†(I):L(I+12)üL…(I):End
:Disp "R-VEKTOREN L†,L…,L†-L…",L†,L…,L†-L…
:Goto X
:
:Lbl J
:For(I,1,3):L(I)üL†(I):L(I+3)üL…(I):L(I+6)üL„(I):End
:Disp "ECKPUNKTE L†,L…,L„",L†,L…,L„
:Goto X
:
:Lbl K
:Goto X
:
:Lbl X
:Pause :Menu("ANDERE ANGABEN","JA",Y,"NEIN",Z):
:End
:Lbl Z
:ClrHome

Das Unterprogramm ZOutDrei liefert alle berechneten Daten des Dreiecks in übersichtlicher Form. Es kann diese Daten nur dann anzeigen, wenn vorher das Programm DREIECK, welches auch unabhängig vom Programm GEOMETRI gestartet und verwendet werden kann, Liste 1 mit Werten gefüllt hat. Das Programm GEOMETRI bindet die beiden Programme mit ein.

DREIECK

:ClrHome:ClrList L,L‚,Lƒ,L„,L…,L†
:50üdim L:9üdim L†
:{3,3}üdim [A]:{3,1}üdim [B]
:
:prgmZEINGPKT:XüL(1):YüL(2):ZüL(3):Xò+Yò+ZòüL(35)
:prgmZEINGPKT:XüL(4):YüL(5):ZüL(6):Xò+Yò+ZòüL(36)
:prgmZEINGPKT:XüL(7):YüL(8):ZüL(9):Xò+Yò+ZòüL(37)
:
:For(I,1,3)
:L(I+3)-L(I)üL(I+9):L(I+9)üL‚(I):L‚(I)üL†(I+3)
:L(I+6)-L(I)üL(I+12):L(I+12)üLƒ(I):Lƒ(I)üL†(I+6)
:End
:prgmZVECPROD:3üdim L†:L‚-LƒüL„
:For(I,1,3):L†(I)üL(I+15):End
:(sum (L‚ò))üL(19)
:(sum (Lƒò))üL(20)
:(sum (L„ò))üL(21)
:For(I,19,21):ðL(I)üL(I+3):End
:ð(sum (L†ò))/2üL(25)
:
:cosñ (sum (L‚Lƒ)/L(22)/L(23))üL(26)
:cosñ (sum (L‚L„)/L(22)/L(24))üL(27)
:cosñ (úsum (LƒL„)/L(23)/L(24))üL(28)
:For(I,26,28):L(I)/1ôüL(I+3):End
:9üdim L†:For(I,4,9):L(I)üL†(I):End:prgmZVECPROD:3üdim L†:For(I,1,3):L†(I)üL(I+31):End:LüL…:3üdim L…
:
:L(10)ü[A](1,1)
:L(11)ü[A](1,2)
:L(12)ü[A](1,3)
:L(13)ü[A](2,1)
:L(14)ü[A](2,2)
:L(15)ü[A](2,3)
:L(16)ü[A](3,1)
:L(17)ü[A](3,2)
:L(18)ü[A](3,3)
:
:.5(L(36)-L(35))ü[B](1,1)
:.5(L(37)-L(35))ü[B](2,1)
:sum (L…L†)ü[B](3,1)
:
:If abs (det [A])<5ûú6:Then:Disp "KEIN DREIECK"
:Else
:[A]ñ[B]ü[C]:[C](1,1)üL(38):[C](2,1)üL(39):[C](3,1)üL(40):For(I,1,3):L(I+37)üL‚(I):L(I)üLƒ(I):End:sum ((Lƒ-L‚)ò)üL(41):ðL(41)üL(42)
:For(I,1,3):L(I)üL‚(I):L(I+3)üLƒ(I):L(I+6)üL„(I):L(I+21)üL…(I):End:L‚+Lƒ+L„üL†:For(I,1,3):L†(I)/3üL(I+42):End:(L…(1)L‚+L…(2)Lƒ+L…(3)L„)/sum L…üL†:For(I,1,3):L†(I)üL(I+45):End:sum ((L†-L‚)ò)sin (L(26)/2)üL(49)
:prgmZOUTDREI
:End


Abbildung 1: zu Beispiel 2

Das Programm DREIECK ist ab Mai 2001 verfügbar. Vorgängerversionen von GEOMETRI enthalten noch einige Fehler und sollten nicht verwendet werden. Für Programmierer gebe ich im Folgenden eine Tabelle an, die die Bedeutung der Werte in Liste 1 verdeutlichen sollen. Damit kann das Programm getestet und eventuell vorhandene Fehler entfernt werden.

Beispiel 1: A(1 | 0 | 0), B(0 | 1 | 0) und C(-1 | 0 | 0)

Beispiel 2: A(2 | 1 | 0), B(10 | -1 | 0) und C(11 | 3 | 0)
Schriftliche Abiturprüfung 2001 – Grundkurs



Erläuterungen

Ansicht GTR

  • Starten des Programms
    (Abbildung 2)

  • Ausführen des Programmteils Dreieck (Abbildung 3)


Abbildung 2



Abbildung 3


  • Eingabe der Punkte A, B und C
    (Abbildung 4, 5)


Abbildung 4



Abbildung 5


  • Nach kurzer Berechnung aller relevanter Daten:

  • Auswahl der interessierenden Angaben

    • Beispiel: Seitenlänge
      In der Ausgabe wird angezeigt, in welcher Liste die Angaben gespeichert wurden. Zumeist sind das die Listen 6 und 5. In Liste 1 stehen, wie in Tabelle 1 beschrieben, alle Ergebnisse.
      Sollten die Listen im Display nicht ganz zu lesen sein, können die Listen im Stat – Edit – Menü konsultiert werden. Dazu weiter unten mehr.

    • Beispiel: Winkel


Abbildung 6


Abbildung 7



Abbildung 8


Abbildung 9


    • Beispiel: Umkreis
      Wie in und anderen zu sehen ist, wird immer auch das Quadrat der Längen angegeben. Damit können gegebenenfalls die exakteren Werte verwendet werden.
      Das Programm GEOMETRI.82G sollte so sicher sein, dass Fälle in denen keine Lösungen möglich sind, automatisch erkennt und anzeigt. In diesen Fällen sollte der Benutzer nochmals die eingegebenen Werte überprüfen bzw. über den Sinn der Berechnung nachdenken.


Abbildung 10


Abbildung 11



Abbildung 12


  • Übersicht über das vollständige Menü
    Anmerkungen:

    • Inkreis im Moment noch unfertig (liefert falsche Ergebnisse)

    • Ebenengeleichung noch unfertig (liefert keine Ergebnisse)


Abbildung 13



Abbildung 14


  • Das Beenden der Anzeige der Ergebnisse ist auf zweierlei Weisen möglich. Sie kehren in´s Display zurück.
    Danach können die gespeicherten Listen kontrolliert werden. Da sind die vollständigen Werte zu sehen.


Abbildung 15



Abbildung 16


  • Die folgenden Listen gehören zur Berechnung der Seitenlängen. Um die Listen zu sehen, wählen Sie + Edit. Wie auch in Abbildung 6 zu erkennen ist, enthält L6 die Seitenlängen und L5 deren Quadrate.


Abbildung 17



Abbildung 18


  • Sollte die Liste L1 nicht beschädigt sein, ist es möglich, die Anzeige der Ergebnisse fortzusetzen ohne die Eckpunkte nochmals einzugeben.
    Starten Sie dazu einfach das Programm prgmZOUTDREI.


Abbildung 19



Abbildung 20


Beispiel 3:


i

Bedeutung


L1(i) – Bsp. 1

L1(i) – Bsp. 2


1

Ortsvektor

x

1

2


2

P1

y

0

1


3


z

0

0


4

Ortsvektor

x

0

10


5

P2

y

1

-1


6


z

0

0


7

Ortsvektor

x

-1

11


8

P3

y

0

3


9


z

0

0


10

Richtungsvektor

x

-1

8


11

vec {P_1 P_2}

y

1

-2


12


z

0

0


13

Richtungsvektor

x

-2

9


14

vec {P_1 P_3}

y

0

2


15


z

0

0


16

Normale

x

0

0


17

vec {P_1 P_2} times vec {P_1 P_3}

y

0

0


18


z

2

34


19

left lline vec {P_1 P_2} right rline ^2


2

68


20

left lline vec {P_1 P_3} right rline ^2


4

85


21

left lline vec {P_2 P_3} right rline ^2


2

17


22

left lline vec {P_1 P_2} right rline


1,41

8,25


23

left lline vec {P_1 P_3} right rline


2

9,22


24

left lline vec {P_2 P_3} right rline


1,41

4,12


25

Flächeninhalt


1

17


26

ÐP1 in Radiant


0,78

0,46


27

ÐP2


1,57

1,57


28

ÐP3


0,78

1,11


29

ÐP1 in Grad


45

26,57


30

ÐP2


90

90


31

ÐP3


45

63,43


32

Normale

x

0

0


33

vec {O P_1} times vec {O P_2}

y

0

0


34


z

1

41


35

left lline vec {P_1 P_2} right rline ^2


1

5


36

left lline vec {P_1 P_3} right rline ^2


1

101


37

left lline vec {P_2 P_3} right rline ^2


1

130


38

Umkreis

x

0

6,5


39

MU

y

0

2


40


z

0

0


41

R2


1

21,25


42

R


1

4,61


43

Schwerpunkt

x

0

7,67


44

S

y

0,33

1


45


z

0

0


46

Inkreis

x

0

8,85


47

MI

y

0,41

0,91


48


z

0

0


49

R



1,57


50

ohne


0

0


Tabelle 1

GEOMETRI --- Inhalt --- home


Abbildung 22


Abbildung 21

:ClrHome:ClrList L,L‚,Lƒ,L„,L…,L†

:Disp "DOKUMENTATION", "WWW/SN.SCHULE.DE","/TILDE REIMEGYM","", "TILDE IST DAS ZEICHEN","SCHLANGENLINIE"
:
:Menu("ANALYT. GEOMETRIE","ABSTAENDE", A, "SCHNITTWINKEL",G,"VEKTORPRODUKT",K, "DREIECK",L,"EBENENGLEICHUNG",M, "SPIEGELUNG",N,"DURCHSTOSSPKT",O)

:Lbl A
:Menu("ABSTAENDE","PKT.úPKT",P,"PKT.úGERADE", B,"PKT.úEBENE ",C,"GERADEúGERADE",D, "GERADEúEBENE",E)

:Lbl G
:Menu("SCHNITTWINKEL","ZWEIER EBENEN",H,"GERADEúEBENE",I,"ZWEIER RICHTUNGE",J)

:Lbl N
:Menu("SPIEGELUNG","PKT.-PKT",Q,"PKT.-GERADE",R,"PKT.-EBENE",S)

:Lbl S:Goto F

:Lbl R:Goto F

:Lbl Q:Disp "SPIEGELUNG","PKT.-PKT.",,"ZENTRUM EINGEBEN"::Goto F

:Lbl O:Disp "DURCHSTOSSPKTE.", "GERADEúKOO.úEBEN": prgmZEINGGER:For(I,1,3): L†(I+3)üL…(I):End:3üdim L†:Disp "D XY":If L…(3)ø0:Then:Disp "D XY",L†-L†(3)/L…(3)*L…:Else:Disp "KEIN":End:Disp "D XZ":If L…(2)ø0:Then:Disp L†-L†(2)/L…(2)*L…:Else:Disp "KEIN":End:Disp "D YZ":If L…(1)ø0:Then:Disp L†-L†(1)/L…(1)*L…:Else:Disp "KEIN":End:Goto F

:Lbl P:ClrList L…,L†:Disp "ABSTAND PKTúPKT":prgmZEINGPKT:XüL…(1):YüL…(2):ZüL…(3):prgmZEINGPKT:XüL†(1):YüL†(2):ZüL†(3):L†-L…üL„:Disp "QUAD.",sum (L„ò),"ABSTAND",ðsum (L„ò):Goto F

:Lbl M
:Disp "BESTIMME ALLGEM.","UND PARAM.-FREIE","FORM AUS 3 PKT.","DER EBENE ENTER":Pause :prgmZEINGEBE:L†üL…:L†üLƒ:prgmZVECPROD:3üdim L…:3üdim L†:úsum (L…L†)üL†(4):Disp "L† ENTHEALT DIE","KOEFFIZIENTEN","AX+BY+CZ+D=0",L†:Goto F

:Lbl L

:prgmDREIECK
:Goto F

:Lbl K
:9üdim L†:Disp "VEKTORPRODUKT":prgmZEINGRIC:XüL†(4):YüL†(5):ZüL†(6):prgmZEINGRIC:XüL†(7):YüL†(8):ZüL†(9):prgmZVECPROD:3üdim L†:Disp L†:Goto F

:Lbl J

:prgmZEINGRIC:XüL(1):YüL(2):ZüL(3):prgmZEINGRIC:XüL‚(1):YüL‚(2):ZüL‚(3):Radian:cosñ (sum (LL‚)/ðsum (Lò)/ðsum (L‚ò))üW
:Disp "EINGESCHLOSSENER":prgmZOUTRAD:Goto F

:Lbl I3
:prgmZEINGGER:L†üL:For(I,1,3):L(I+3)üLƒ(I):End:prgmZEINGEBE:L†üL‚:prgmZVECPROD:L†üL„:3üdim L„:Radian:cosñ (sum (LƒL„)/ðsum (Lƒò)/ðsum (L„ò))üW:W-Ä/2üW
:prgmZOUTRAD:Goto F:

:Lbl H4
:prgmZEINGEBE:L†üL:prgmZEINGEBE:L†üL‚:prgmZVECPROD:L†üL„:3üdim L„:LüL†:prgmZVECPROD:L†üLƒ:3üdim Lƒ:Radian:cosñ (sum (LƒL„)/ðsum (Lƒò)/ðsum (L„ò))üW:Ä-WüW
:Disp "EINGESCHLOSSENER":prgmZOUTRAD5:Goto F

:Lbl E6
:Disp "ABSTAND GERADE-","EBENE":prgmZEINGGER:L†üL:prgmZEINGEBE:L†üL‚:{3,3}üdim [A]:{3,1}üdim [B]:For(I,1,3):L(I)-L‚(I)üLƒ(I):úL(I+3)ü[A](I,1):L‚(I+3)ü[A](I,2):L‚(I+6)ü[A](I,3):Lƒ(I)ü[B](I,1):End
:If det [A]=0:Then:prgmZVECPROD:L†üL„: 3üdim L„:L„/ðsum (L„ò)üL„:For(I,1,3): úL„(I)ü[A](I,1):End: [A]ñ[B]ü[C]:Disp "ABST.",abs ([C](1,1)):Else:[A]ñ[B]ü[C]: For(I,1,3): L(I)+[C](1,1)L(I+3)üL„(I): End:Disp "GEM. SCHNITTPKT.",L„:End:Goto F

:Lbl D7
:ClrHome:Disp "ABSTAND GERADE ú","GERADE"
:prgmZEINGGER:L†üL„: prgmZEINGGER:L†üL…:L„-L…üL:3üdim L:For(I,1,3): L„(I+3)üL‚(I):L…(I+3)üLƒ(I):End
:sum (L‚Lƒ)üX:Xò-sum (L‚ò)sum (Lƒò)üZ:Z=0üP
:If P:Then:(sum (LLƒ))ò-sum (Lò)sum (Lƒò)=0üG:If G:Then:Disp "IDENTISCHE GERADEN":Else:
:L…üL†:3üdim L†:sum (LLƒ)/sum (Lƒò)üS:L„üL:3üdim L:L†+SLƒüL†:sum ((L-L†)ò)üA:Disp "PARALLEL ABST.ò",A,"ABSTAND ",ðA:End:Else
:For(I,1,3):L„(I+3)üL†(I+6):End
:prgmZVECPROD:3üdim L†:L†/ðsum (L†ò)üL†
:{3,3}üdim >[A]:{3,1}üdim [B]
:For(I,1,3):L(I)ü[B](I,1): úL‚(I)ü[A](I,1):Lƒ(I)ü[A](I,2): úL†(I)ü[A](I,3):End
:If det [A]=0:Then:Disp "FEHLER - STOP":Stop:Else:[A]ñ[B]ü[B]:For(I,1,3):L„(I)+[B](1,1)L„(I+3)üL‚(I):L…(I)+[B](2,1)L…(I+3)üLƒ(I):End:If [B](3,1)=0:Then:Disp "GEM. SCHNITTPKT.",L‚:Else:Disp "FUSSPKTE. L‚, Lƒ",L‚,Lƒ,"ABST.",abs ([B](3,1)):End
:End:End:Goto F

:Lbl C8
:ClrHome:Disp "ABSTAND PUNKTú","EBENE"
:prgmZEINGPKT:XüL(1):YüL(2):ZüL(3)
:prgmZEINGEBE
:L†(4)üLƒ(1):L†(5)üLƒ(2):L†(6)üLƒ(3):L†(7)üL„(1):L†(8)üL„(2):L†(9)üL„(3):L†üL‚:3üdim L‚
:prgmZVECPROD:L†üL…:3üdim L…:L…/ðsum (L…ò)üL…:sum LL…-sum L‚L…üX:L-XL…üL‚:Disp "ABST PKTúEBENE",X,"LOTFUSSPKT L‚",L‚:Goto F

:Lbl B9
:ClrHome::Disp "ABSTAND PUNKTú","GERADE":prgmZEINGPKT:XüL(1):YüL(2):ZüL(3)::prgmZEINGGER:For(I,1,3):L†(I+3)üLƒ(I):End::L†üL‚:3üdim L‚
:sum (Lƒ*(L-L‚))/sum (Lƒ*Lƒ)üS:L‚+S*LƒüL„:sum ((L„-L)òüA:ClrHome:Disp "ABST.ò PúG",A,"ABST. PúG",ðA,"LOTFUSSPUNKT",L„
:Goto F

:Lbl F

Anmerkungen --- Inhalt --- home

Ich habe versucht, das Programm so übersichtlich wie möglich zu programmieren. Sollten Verbesserungen notwendig werden, schicken Sie mir bitte eine kurze Mail.

Weitere Beispiele sind auch in den jeweiligen Lösungen der Abituraufgaben zu finden (zum Beispiel in den Nachterminen LK 2000 und GK 2000).

Verwendung des Programms

Erläuterungen zum Programm

Display

1. Programmstart und Auswahl im Hauptmenü


Abbildung 3

2. Beispiel:

Bestimmung des Abstandes einer Geraden zu einer Ebenen --- Inhalt --- home
  1. Auswahl aus den Menüs (Abb. 3, 4, 5).

  2. Eingabe der Geraden in Punkt-Richtung-Form (Abb. 6, 7).

  3. Eingabe der Ebene in Punkt-Richtung-Form (Abb. 8, 9 und 10).
    Dabei ist auch die Eingabe von weiteren Rechnungen möglich.

  4. Ausgabe der Ergebnisse (Abb. 11).
    Es wurde ein gemeinsamer Schnittpunkt S ermittelt. Dessen Koordinaten werden in einer Liste angezeigt. Leider kann nur die x-Komponente betrachtet werden, deshalb:

  5. Kontrolle und weitere Anzeige der Ergebnisse mittels Listen im Menü Stat | Edit (Abb. 12, 13).
    Interpretation der Listen:
    L1: eingegebene Gerade
    L2: eingegebene Ebene
    L3: ??
    L4: Ergebnis – Schnittpunkt S(5.4, 4.4, 4.4)
    L6: enthält Normalenvektor L6(1)..L6(3) und Richtungsvektoren L6(4)..L6(9) der Ebene (siehe VEKTORPRODUKT)


Abbildung 4

Abbildung 5

Abbildung 6

Abbildung 7

Abbildung 8

Abbildung 9

Abbildung 10

Abbildung 11

Abbildung 12

Abbildung 13
  1. Allgemeine Anmerkung: --- Inhalt --- home

    1. In Listen werden Punkte, Richtungen, Geraden, Ebenen usw. erfasst. Zur Ergebniserfassung ist es immer möglich, sich diese anzeigen zu lassen. Außerdem können sie zur weiteren Rechnung verwendet werden. Ein Schwierigkeit besteht in der Interpretation der Listen. Natürlich kann anhand der Länge der Listen auf die Art des Inhaltes (Pkt. oder Richtung, Ebene usw.) geschlossen werden. Geraden und Ebenen werden immer in der Punkt-Richtung-Form abgelegt. Was aber konkret vorliegt ist in jedem Unterprogramm unterschiedlich. Hier kann nur unter Verwendung der eingegebenen Größen geschlossen werden. Einige Regeln habe ich trotzdem versucht einzuhalten: Ergebnisse befinden sich in Listen mit kleinen Nummern. In Liste 6 sind keine Ergebnisse abgespeichert. Liste 6 dient zur Speicherung von Zwischenergebnissen und wird zumeist (nach der Eingabe) vom Programm geändert.
    2. Die Berechnung des Durchstoßpunktes einer Geraden durch eine beliebige Ebene ist ein Sonderfall, des Abstandsproblems Gerade – Ebene. Durchstoßpunkte werden also dort mit ermittelt.
    3. Genau so verhält es sich mit der Bestimmung der Schnittpunkte zweier Geraden. Sie sind ein Spezialfall bei der Berechnung des Abstandes der Geraden und werden dort mit angegeben.

4. Beispiel:

Berechnungen am Dreieck --- Inhalt --- home
  1. Auswahl aus dem Hauptmenü (Abb. 3)
  2. Eingabe der Koordinaten der Eckpunkte. Werden die Punkte in der Reihenfolge A, B, C eingegeben, so können die Längen und Winkel auch in dieser Reihenfolge interpretiert werden.
  3. Ausgabe der Ergebnisse (Abb. 14)
  4. Interpretation der Listen (Abb. 15)
    L1: Längen der Seiten in der Reihenfolge a, b, c
    L2: Innenwinkel in der Reihenfolge alpha, beta, gamma
    L3: ??
    Anmerkung: Bei der Ausgabe der Ergebnisse ( 14) wird auf eine Ausnahme hingewiesen: in L1(4) wird zusätzlich der Flächeninhalt des Dreiecks abgespeichert.

Abbildung 14

Abbildung 15

5. Beispiel:

Bestimmung des Abstandes zweier Geraden --- Inhalt --- home
  1. Auswahl in den Menüs und Eingabe der Geraden
  2. Ausgabe des Ergebnisses (Abb. 16) – der Abstand beträgt: 8.08
  3. Interpretation der Listen (Abb. 17, 18)
    L1: ??
    L2: Fußpunkt der ersten Gerade
    L3: Fußpunkt der zweiten Gerade
    L4: erste Gerade
    L5: zweite Gerade
    L6: ??
  4. weitere Rechnung zum Beispiel:
    bei Eingabe von sum((L‚-Lƒ)ò ergibt sich das Abstandsquadrat 65.3 oder
    bei Eingabe von L‚-Lƒ ergibt sich der Vektor {-4.829, -4.829, -4.319} als Richtungsvektor von einem Lotfußpunkt zum anderen.

Abbildung 16

Abbildung 17

Abbildung 18

Verwendung von Variablen, Listen und Matrizen --- Inhalt --- home

Bei der Ausführung des Programms werden die Variablen X, Y, Z mit Sicherheit neue Werte erhalten, andere Variablen, wie z. B. W, können sich ändern. Listen werden fast alle überschrieben und bei der Berechnung von Abständen verwende ich die Matrizen A, B und C.

Verwendung der Label: --- Inhalt --- home

Label Menü Unter pro gramm Aufgabenbereich
A » Abstände
B » Abstand Punkt-Gerade
C » Abstand Punkt-Ebene
D » Abstand Gerade-Gerade
E » Abstand Gerade-Ebene
F Ende des Hauptprogramms
G » Schnittwinkel
H » Schnittwinkel Ebene-Ebene
I » Schnittwinkel Gerade-Ebene
J » Schnittwinkel Richtung-Richtung
K » Vektorprodukt
L » Dreieck
M » Ebenengleichungen
N » Spiegelung
O
P » Abstand Punkt-Punkt
Q » Punktspiegelung Punkt
R » Spiegelung Punkt an Gerade
S » Spiegelung Punkt an Ebene
T
U
V
W
X
Y
Z

1 Früher verwendete ich Theta, welches oftmals zu Problemen bei der Speicherung und Weitergabe der Programme führte.

2Dieser Fall kann bei Verwendung des „arccos“ entstehen.

2 Unterprogramm “Schnittwinkel Gerade-Ebene”
Lösungsweg: Berechnung der Normalen; der gesuchte Winkel ergibt sich als Ergänzung des berechneten Winkels zu p/2.

3 Unterprogramm “Schnittwinkel Ebene-Ebene”
Lösungsweg: Durch bestimmen der Normalen erhält man Sehnenvierecke, in denen eine Diagonale der Durchmesser des Kreises ist. Der gesuchte Winkel ist also die Ergänzung des Normalen schnittwinkel zu p.

4 Die Berechnung der Winkel erfolgt zumeist durch Anwenden des arccos und weiterer Addition oder Subtraktion von 180° oder p. Da nicht die Rechnung in Grad oder Radiant vorausgesetzt werden kann, stellt das Programm automatisch auf Radian um. Das ist unbedingt für die weitere Arbeit zu beachten.

5 Unterprogramm “Abstand Gerade-Ebene”
Eingabe der Gerade L1 und der Ebene L2 und Lösung des Gleichungssystems, vorheriges Überprüfen der Lösbarkeit des Gleichungssystems (ist das lineare GS nicht lösbar, so schnei det die Gerade die Ebene nicht und es wird nun der Abstand Punkt - Ebene bestimmt anderenfalls Ermittlung des gemeinsamen Schnittpunktes).

6 Unterprogramm “Abstand Gerade-Gerade”
Eingabe zweier Geraden g1 = L4 und g2 = L5 in der Form und ; Überprüfung der Lagebeziehung der beiden Geraden (Parallelität, gemeinsamer Schnittpunkt) und Ausgabe (Berechnung) des Abstandes;
Lösungsweg für windschiefe Geraden
Unterscheidung der Fälle:
Geraden sind identisch ({(vec x_r vec y_r)}^2`=`{vec x_r}^2`cdot`{vec y_r}^2 und {(vec x_r ` vec xy_0)}^2`=`{vec x_r}^2`cdot`{` vec {xy_0}}^2)
Geraden sind parallel ({(vec x_r vec y_r)}^2`=`{vec x_r}^2`cdot`{vec y_r}^2)
Vorgehen wie bei der Berechnung des Abstandes Punkt – Gerade
Geraden sind windschief
Bestimmung des zu den Richtungsvektoren der Geraden senkrechten Vektors durch Berechnung des Kreuzproduktes und nachfolgendes Lösen des entstehenden Gleichungssystems. Damit erfolgt die Angabe der Lotfußpunkte und des Abstandes.
Der explizite Lösungsweg scheint wenig praktikabel:
aus (I) vec xy ` %senkrecht ` vec x_r, (II) vec xy ` %senkrecht ` vec y_r und (III) vec xy ~=~vec x_0 `-` vec y_0 `+` S `cdot` vec x_r`-`T`cdot` vec y_r folgt
(I’) vec xy`cdot `vec x_r ~=~vec xy_0 vec x_r `+` S `cdot`{vec x _r}^2`-`T`cdot`vec x_r vec y_r~=~0 und (II’)vec xy`cdot `vec y_r ~=~vec xy_0 vec y_r `+` S `cdot`vec x _r vec y_r`-`T`cdot` {vec y_r}^2~=~0, durch Lösung des Gleichungssystems folgt
(IV) T~=~{vec xy_0 vec x_r vec x_r vec y_r`-`vec xy_0 vec y_r {vec x_r}^2} over {{(vec x_r vec y_r)}^2`-`{vec x_r}^2`cdot`{vec y_r}^2} und (V) S~=~{T`cdot` vec x_r `vec y_r`-` vec xy_0` vec x_r} over {vec x_r}^2.

7 Unterprogramm “Abstand Punkt-Ebene”
Eingabe Punkt L1 und Ebene L2. Gesucht Abstand und Lotfußpunkt; Lösungsweg: Berechnung des Vektorproduktes L5 der Ebene L6 = L2, Normierung des Vektors L5 und Aufsuchen des Lotfußpunktes L3 durch Lösung des Gleichungssystems.

8 Unterprogramm “Abstand Punkt-Gerade”
Eingabe Punkt L1 und Gerade (Punkt L2 und Richtung L3); Gesucht Lotfußpunkt L4 (siehe Abbildung 1); Lösungsweg: Gleichungssystem aus (I): vec {L_4 - L_1} cdot vec L_3 ~=~0 und (II): vec L_4 ~=~ vec L_2 `+`S`cdot`vec L_3 ergibt (III): vec L_2 - vec L_1 `cdot` vec L_3 `+`S`cdot` (vec L_3)^2~=~0 und (IV): S~=~{vec L_2 - vec L_1`cdot` vec L_3 } over L_3^2, es folgt L4 aus (II) und A = |L1L4|.

home --- 1. Version dieses Dokuments