Darstellende Geometrie I MU...

10
Darstellende Geometrie I MU Leoben Sommersemester 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.

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