Darstellende Geometrie I MU...
Transcript of Darstellende Geometrie I MU...
-
Darstellende Geometrie IMU LeobenSommersemester 2011
Lehrveranstaltungsbetreuer: Anton Gfrerrer, Sigrid Prabitz-Hallama, Josef Radlingmayer
Darstellung von Kurven und Flächen mit MAPLE
Rechnen mit Vektoren
Einige Plot-Befehle
Ein paar nützliche selbstgeschriebene Prozeduren
Werden gewisse Rechenschritte öfter benötigt, empfiehlt es sich diese zu einer "procedure" zusammenzufassen. Eine solche MAPLE-Prozedur hat die folgende Architektur:
procname := proc(par1, par2, ... ) description "Beschreibung der Prozedur"; local locvar1, locvar2, ... ; Body
return (MAPLE-expression);
end proc;
Die Prozedur besitzt den Namen procname, die Größen par1, par2, ... sind Übergabeparameter. Über den Befehl description (optional) kann eine kurze Beschreibung der Prozedur für den Anwender angegeben werden.
-
die Variablen locvar1, locvar2, ... sind lokal, also nur innerhalb der Prozedur bekannt. Der Hauptteil einer Prozedur ist der Body, der eine beliebige Folge von MAPLE-Anweisungen beinhalten kann. Die Anweisung return (MAPLE-expression) legt den Rückgabewert der Prozedur fest. Enthält eine Prozedur keinen Return-Anweisung, dann wird der zuletzt im Body der Prozedur berechnete Wert zurückgegeben.
Beispiel: Parameterdarstellung einer allgemeinen Zylinderfläche
Die Prozedur:Cylinder := proc(x, e, v)
description "Liefert die Parameterdarstellung einer
Zylinderflaeche, wobei die Leitkurve x = x(u), der
Richtungsvektor e der Erzeugenden und der zweite
Parameter v eingegeben werden.";
local y;
y := x + v*e:
return y;
end proc;
Wir testen die Prozedur "Cylinder":# Kreiszylinder
r := 5.0;
x := ;
e := ;
y := Cylinder(x, e, v);
plot3d(y, u=0..2*Pi,v=0..10, scaling=constrained);
-
# Drehzylinder
r := 5.0;
x := ;
e := ;
y := Cylinder(x, e, v);
plot3d(y, u=0..2*Pi,v=0..10, scaling=constrained);
-
Aufgabe 4Schreiben Sie eine Prozedur, die zur Erzeugung der Parameterdarstellung einer Kegelfläche verwendet werden kann.
-
INPUT: Der Scheitel S (Ortsvektor s), die Leitkurve x = x(u), der zweite Parameter v zur Festlegung der Position auf der Erzeugenden
OUTPUT: Der Punkt am Drehkegel Ortsvektor y(u,v)
Testen Sie Ihre Prozedur!
Die Prozedur:Cone := proc(x, s, v)
description "Liefert die Parameterdarstellung einer
Kegelflaeche, wobei die Leitkurve x(u), der Scheitel s
und der zweite Parameter v eingegeben werden.";
local y;
y := s + v*(x-s):
return y;
end proc;
Test der Prozedur:# Kreiskegel
r := 5.0;
x := ;
s := ;
y := Cone(x, s, v);
plot3d(y, u=0..2*Pi, v=0..10, scaling=constrained);
-
# Drehkegel
r := 5.0;
x := ;
s := ;
y := Cone(x, s, v);
plot3d(y, u=0..2*Pi, v=-5..10, scaling=constrained);
-
# Parabolischer Kegel
p:= 2;
x := ;
s := ;
y := Cone(x, s, v);
plot3d(y, u=-5..5, v=0..10, scaling=constrained);
-
Aufgabe 5
-
Schreiben Sie eine Prozedur, die den Fußpunkt F des Lotes aus einem Punkt P auf eine Geradeg des 3-Raumes berechnet.
INPUT: Der Punkt P (Ortsvektor p) und die Gerade g (Ortsvektor a eines ihrer Punkte, Richtungsvektor d).
OUTPUT: Der Punkt F (Ortsvektor f)
HINWEIS: Verwenden Sie für die Vektoralgebra Prozeduren des MAPLE-packages"LinearAlgebra" (siehe oben), ohne das package jedoch explizit zu laden.
Testen Sie Ihre Prozedur!
Die Prozedur:restart;
Fusspunkt := proc(p, a, d)
description "Berechnet den Fußpunkt f des Lotes aus dem
Punkt p auf die Gerade mit dem Aufpunkt a und dem
Richtungsvektor d.";
local d0, f;
d0 := LinearAlgebra[Normalize](d, Euclidean):
f := a + LinearAlgebra[DotProduct](p-a, d0, conjugate=
false)*d0:
return f;
end proc:
Test der Prozedur:a := ;
d := ;
p := ;
f := Fusspunkt(p, a, d);
-
Aufgabe 6
Drehflächen