Quadriken  3d Hyperbolischer Zylinder

Prof. Dr. Dörte Haftendorn: Mathematik mit MuPAD 4, Juni 07    Update 30.06.07

Web:  https://mathe.web.leuphana.de             www.mathematik-verstehen.de ######################################################

Rückwärts aufgestellt, siehe Datei Konstruktion-rückwärts

p:=matrix([x,y,z]):pt:=linalg::transpose(p)

math

quadrik:=matrix([[8*z - 12*y - 12*x - 1/2*x^2 - 1/2*y^2 - x*y + 2*x*z + 2*y*z + 40]])

math

quadrikp:=plot::Implicit3d(quadrik[1],x=-20..20,y=-20..20, z=-20..20,FillColor=[0,1,0,0.2]

):

plot(quadrikp)

MuPAD graphics

A passend aufstellen

A:=matrix([[-1/2,-1/2,1],[-1/2,-1/2,1],[1,1,0]]);

a:=matrix([-12,-12,8]): at:=linalg::transpose(a);

d:=40;

math

math

math

expand(pt*A*p+at*p+d);  //Probe, ob man A,a und d richtig hat

%-quadrik

math

math

hier muss 0 herauskommen

Hauptachtsentransformation

E3:=matrix([[1,0,0],[0,1,0],[0,0,1]])

math

evli:=linalg::eigenvectors(A) //Probe, was MuPAD liefert

math

 

ew1 :=evli[1][1];  ew2 :=evli[2][1]; ew3 :=evli[3][1];

ev1:=evli[1][3][1];

ev2:=evli[2][3][1];

ev3:=evli[3][3][1];

math

math

math

math

math

math

ev1n:=linalg::normalize(ev1):

ev2n:=linalg::normalize(ev2):

ev3n:=linalg::normalize(ev3):

P:=ev1n.ev2n.ev3n: Pt:=linalg::transpose(P);

math

Vektorschreibweise für die Abbildung image  und die 

Quadrikgleichungen, die sich durch Einsetzen ergeben:

image

quastrich:=Simplify(pt*Pt*A*P*p+at*P*p+d)

math

quastrichp:=plot::Implicit3d(quastrich[1],x=-20..20,y=-20..20, z=-20..20,Filled=FALSE):

plot(quastrichp):

MuPAD graphics

quastrich

math

Die Arbeitsweise ist dieselbe wie bei der Herstellung der Scheitelform einer Parabel.

Hier durch Hinsehen:

//xterm:=hold(2*(x+7/2*sqrt(2))^2);expand(xterm);

yterm:=hold(-2*(y-8/3*sqrt(3))^2);expand(yterm);

zterm:=hold((z-2/3*sqrt(6))^2);expand(zterm);

math

math

math

math

Also

quastrichK:=yterm+zterm+80   // i.a. mit xterm

math

quastrich-expand(quastrichK)

math

hier muss 0 herauskommen

Letzter Teil der Hauptachsentransformation ist die Translation t

t:=matrix([s, -8/3*sqrt(3),-2/3*sqrt(6)]);

tt:=linalg::transpose(t):

math

image also image Das ergibt:

quaH:=Simplify(expand((pt-tt)*Pt*A*P*(p-t)+at*P*(p-t)))+40;

quadrikH:=ew1*x^2+ew2*y^2+ew3*z^2+80

math

math

Angabe der Gleichung in der üblichen Form:

hold(y^2/40-z^2/80=1)

math

quadrikHp:=plot::Implicit3d(quadrikH,x=-20..20,y=-20..20, z=-20..20

         ):

plot(%)

MuPAD graphics

Bestimmung des ursprünglichen Mittelpunktes:

image

ms:=Simplify(P*(-t))

math

Auf dieser Geraden liegt der alte Mittelpunkt.

m:=ms|s=0;

math

Den bei der Rückwärtsrechnung verwendeten Mittelpunkt erhält man für

solve({ms[1]=-1,ms[2]=-3,ms[3]=4},s)

math

Bestimmung des Urbildes des rechten Hauptscheitels:

image

(hier nicht werwendet, Mit ev1 rechts ist hier der normierte 1. Eigenvektor gemeint.

r:=sqrt(40): //große (rechte) Halbachse

rur:=r*ev2n+m;

math

mp:=plot::Point3d(m,PointSize=2, PointColor=[0,1,0]):

Op:=plot::Point3d([0,0,0], PointSize=2, PointColor=[1,0,0]):

 

rurp:=plot::Point3d(rur, PointSize=2, PointColor=[0,1,1]):

rp:=plot::Point3d([0,r,0],PointSize=2, PointColor=[0,0,1]):

ev1urp:=plot::Arrow3d(m,m+5*ev1):

ev2urp:=plot::Arrow3d(m,m+5*ev2):

ev3urp:=plot::Arrow3d(m,m+5*ev3):

tp:=plot::Arrow3d(-t|s=0,[0,0,0],LineColor=[1,0,0]):

plot(quadrikp,mp,Op,rurp,tp,

      ev1urp,ev2urp,ev3urp,PointSize=2,Scaling=Constrained);

MuPAD graphics

 

plot(quadrikp,quastrichp, quadrikHp,mp,Op,tp,rp,

      ev1urp,ev2urp,ev3urp,PointSize=2,Scaling=Constrained)

MuPAD graphics