Harmonie und so weiter

Prof. Dr. Dörte Haftendorn, MuPAD 4,  https://mathe.web.leuphana.de   Juli 06

Quadriken und andere Rotationkörper

a:=4: b:=3:

große und kleine Halbachse

//delete a,b:

elli:=(x^2/a^2+y^2/b^2=1)

math

hyp:=x^2/a^2-y^2/b^2=1

math

asy1:=x/a+y/b=0; asy2:=x/a-y/b=0

math

math

Graphen dazu

ellig:=plot::Implicit2d(elli,x=-2*a..2*a, y=-2*b..2*b,

                        LineWidth=1,LineColor=[1,0,0]):

hypg:=plot::Implicit2d(hyp,x=-2*a..2*a, y=-2*b..2*b,

                        LineWidth=1,LineColor=[1,0,0.5]):

asy1g:=plot::Implicit2d(asy1,x=-2*a..2*a, y=-2*b..2*b,

                        LineWidth=1,LineColor=[1,0.5,0]):

asy2g:=plot::Implicit2d(asy2,x=-2*a..2*a, y=-2*b..2*b,

                        LineWidth=1,LineColor=[1,0.5,0]):

kasten:=plot::Polygon2d([[a,-b],[a,b],[-a,b],[-a,-b]],

               Closed=TRUE,LineWidth=1,LineColor=[0,1,0]):    

plot(ellig,hypg,asy1g,asy2g,kasten)

MuPAD graphics

Rotationskörper bei Rotation um die x-Achse

elli3d:=plot::XRotate(b*sqrt(1-x^2/a^2),x=-a..a,

        Color=[1,0,0,1]):

hyp3d:=plot::XRotate(b*sqrt(-1+x^2/a^2),x=-2*a..2*a,

        Color=[0,1,0,1]):

plot(elli3d,hyp3d)

MuPAD graphics

 

Velli:=PI*int(b^2*(1-x^2/a^2), x=-a..a)

math

Vhyp:=2*PI*int(b^2*(-1+x^2/a^2), x=a..2*a)

math

Fazit: Jede Hyperbelschale (bis 2a) ist so groß wie das Ellipsoid

elli3d::Color:=[1,0,0,1]:

elli3d::VLinesVisible:=FALSE:

zyl3d:=plot::XRotate(b,x=-a..a,

        Color=[0,1,0,0.2], Filled=FALSE, LineWidth=0.8):

asy3d:=plot::XRotate(b/a*x,x=-2*a..2*a,

        Color=[1,0.5,0,1]):

plot(elli3d,zyl3d)

MuPAD graphics

delete a,b:

Velli:=PI*int(b^2*(1-x^2/a^2), x=-a..a)

math

VZyl:=PI*b^2*2*a

math

Fazit: Das Ellipsoid nimmt in dem Zylinder 2/3 ein.

hyp3d::Color:=[1,0,1,1]:

hyp3d::ULinesVisible:=FALSE:

hyp3d::VLinesVisible:=FALSE:

asy3d::Filled:=FALSE:

plot(asy3d,hyp3d)

MuPAD graphics

Vhyp:=2*PI*int(b^2*(-1+x^2/a^2), x=a..2*a)

math

VKegdoppg:=2/3*PI*4*b^2*2*a

math

Fazit: Die Hyperboloidschalen (bis 2a) nehmen die Hälfte

des Doppelkegels ein.

a:=4:b:=3:

zyl3d:=plot::XRotate(b,x=-a..a,

        Color=[0,1,0,0.2], Filled=FALSE, LineWidth=0.8):

asy3dk:=plot::XRotate(b/a*x,x=-a..a,

        Color=[1,0.5,0,1],ULinesVisible=FALSE,

         VLinesVisible=FALSE):

plot(asy3dk,zyl3d)

MuPAD graphics

delete a,b:

VKegdoppk:=2/3*PI*b^2*a

math

VZyl:=PI*b^2*2*a

math

Fazit: Der Doppelkegel nimmt 1/3 des Zylinders ein.

In den Rest passt volumenmäßig genau das Ellipsoid.

 

Velli:=PI*int(b^2*(1-x^2/a^2), x)

math

Velli:=PI*int(b^2*(1-x^2/a^2), x=-a..a)

math

Vhyp:=2*PI*int(b^2*(-1+x^2/a^2), x=a..2*a)

math

VZyl:=PI*b^2*2*a

math

VKegdoppk:=2/3*PI*b^2*a

math

VKegdoppg:=2/3*PI*4*b^2*2*a

math

##################################################

Betrachtung einer Scheibe aus dem Körper zwischen dem Hyperboloid

und dem Asymptotenkegel.   (Rotation um die x-Achse)

m:=-100:d:=2:c:=5:

solve(b*sqrt(-1+x^2/a^2)=m*(x-c)+b/a*c,x):

gr:=float(op(%));

math

c:=c+d:solve(b*sqrt(-1+x^2/a^2)=m*(x-c)+b/a*c,x):

gr2:=float(op(%));c:=5:

math

ring:=plot::Surface([c,r*cos(t),r*sin(t)],t=0..2*PI,

             r=b*sqrt(-1+c^2/a^2)..b/a*c,Color=[0,0,1,1],

             ULinesVisible=FALSE, VLinesVisible=FALSE):

ring2:=plot::Surface([c+d,r*cos(t),r*sin(t)],t=0..2*PI,

             r=b*sqrt(-1+(c+d)^2/a^2)..b/a*(c+d),Color=[0,0,1,1],

             ULinesVisible=FALSE, VLinesVisible=FALSE):

asy3dScheibe:=plot::XRotate(b/a*x,x=c..c+d,

        Color=[1,0.5,0,1]):

hyp3dScheibe:=plot::XRotate(b*sqrt(-1+x^2/a^2),x=c..c+d,

        Color=[0,1,0,1]):

zyl3dScheibe:=plot::XRotate(b,x=0..d,

        Color=[1,0.5,0,1], LineWidth=0.8):

kreis1:=plot::Circle3d(b,[0,0,0],[1,0,0],Color=[1,0.5,0],

           FillColor=[1,0,0.5],Filled=TRUE):

kreis2:=plot::Circle3d(b,[2,0,0],[1,0,0],Color=[1,0.5,0],

           FillColor=[1,0,0.5], Filled=TRUE):

plot(kreis1, kreis2, zyl3dScheibe,

      asy3dScheibe,hyp3dScheibe,ring, ring2);

MuPAD graphics

plot(kreis1, kreis2, zyl3dScheibe,

      asy3dScheibe,hyp3dScheibe,ring, ring2,Axes=None);

MuPAD graphics

delete a,b,c,d:

a,b,c,d,x

math

VKegScheibe:=1/3*PI*(b/a*(c+d))^2*(c+d)-1/3*PI *(b/a*c)^2*c

math

simplify(%)

math

VhypScheibe:=PI*int(b^2*(-1+x^2/a^2), x=c..c+d)

math

VRing:=VKegScheibe-VhypScheibe

math

simplify(VRing)

math

Fazit: Ein Ring der Dicke d zwischen dem Hyperboloid

und dem Asymptoten-Kegel an beliebiger Stelle genommen

hat dasselbe Volumen wie eine Zylinderscheibe der Dicke d.

a:=4:b:=3:d:=2: delete c:

ringani:=plot::Surface([c,r*cos(t),r*sin(t)],t=0..2*PI,

             r=b*sqrt(-1+c^2/a^2)..b/a*c,c=4..8,Color=[0,0,1,1],

             ULinesVisible=FALSE, VLinesVisible=FALSE):

ring2ani:=plot::Surface([c+d,r*cos(t),r*sin(t)],t=0..2*PI,

             r=b*sqrt(-1+(c+d)^2/a^2)..b/a*(c+d),c=4..8,Color=[0,0,1,1],

             ULinesVisible=FALSE, VLinesVisible=FALSE):

asy3dScheibeani:=plot::XRotate(b/a*x,x=c..c+d,c=4..8,

        Color=[1,0.5,0,1]):

hyp3dScheibeani:=plot::XRotate(b*sqrt(-1+x^2/a^2),x=c..c+2,c=4..8,

        Color=[0,1,0,1]):

plot(kreis1,kreis2,zyl3dScheibe,hyp3dScheibeani,asy3dScheibeani,

       ringani, ring2ani,  AnimationStyle=BackAndForth)

MuPAD graphics

Zwischen Grün (Hyperboloid)und Braun (Kegel) konstant

genau wie gleich breite Zylinderscheibe

 

##########################################

Rotation um die z-Achse

Version 1

Zuerst muss berechnet werden, welchen Radius der Doppelkegel hat,

der von dem einschaligen Hyperboloid, das bis x=2a geht, umfasst wird.

solve(b/a*x=b*sqrt(-1+4),x)

math

a:=4:b:=3:w3:=sqrt(3):

asy1g1:=plot::Implicit2d(asy1,x=-w3*a..w3*a, y=-2*b..2*b,

                        LineWidth=1,LineColor=[1,0.5,0]):

asy2g1:=plot::Implicit2d(asy2,x=-w3*a..w3*a, y=-2*b..2*b,

                        LineWidth=1,LineColor=[1,0.5,0]):

kasten1:=plot::Polygon2d([[2*a,-w3*b],[2*a,w3*b],[-2*a,w3*b],

          [-2*a,-w3*b]],Closed=TRUE,LineWidth=1,LineColor=[0,1,0]):

plot(hypg,asy1g1,asy2g1,kasten1)

MuPAD graphics

Berechnung des einschaligen Hyperboloids, des stehenden

Zylinders außen und des aufrechten Doppelkegels innen.

delete a,b:

h:=sqrt(3)*b

math

Vhypein:=PI*int(a^2*(1+y^2/b^2), y=-h..h)

math

Vasyein:=2/3*PI*3*a^2*h

math

VZylein:=PI*a^2*2*h //Kegel bis zum Scheitel

math

VZyleinUm:=PI*4*a^2*2*h

math

a:=4:b:=3:w3:=sqrt(3):

hyp3dZo:=plot::ZRotate(b*sqrt(-1+x^2/a^2),x=-2*a..2*a,

        Color=[0,1,0,1], Mesh=[30,30]):hyp3dZo2:=hyp3dZo:

hyp3dZu:=plot::ZRotate(-b*sqrt(-1+x^2/a^2),x=-2*a..2*a,

        Color=[0,1,0,1],Mesh=[30,30]):hyp3dZu2:=hyp3dZu:

asy3dZ:=plot::ZRotate(b/a*x,x=-w3*a..w3*a,

        Color=[1,0.5,0,1]):

asy3dZ::ULinesVisible:=FALSE:

asy3dZ::VLinesVisible:=FALSE:

hyp3dZo:=plot::modify(hyp3dZo2,Filled=FALSE):

hyp3dZu:=plot::modify(hyp3dZu2,Filled=FALSE):

ZyleinUm:=plot::Surface([2*a*cos(t),2*a*sin(t),z],t=0..2*PI,

          z=-w3*b..w3*b, Color=[0,1,0,0.2]):

ZyleinUm::Filled:=FALSE:

ZyleinInn:=plot::Surface([a*cos(t),a*sin(t),z],t=0..2*PI,

          z=-w3*b..w3*b, Color=[1,1,0,1]):

plot(plot::Scene3d(asy3dZ,hyp3dZo,hyp3dZu),

     plot::Scene3d(ZyleinUm,hyp3dZo2,hyp3dZu2,ZyleinInn))

MuPAD graphics

Fazit: Das Hyperboloid nimmt die Hälfte des umfassenden Zylinders

ein. Es ist doppelt so groß wie der Asymptotenkegel.

Der Scheitelzylinder ist genauso groß wie der Asypmtotenkegel.

##########################################

Rotation um die z-Achse

Version 2

Zuerst muss berechnet werden, bis zu welchem x das einschalige Hyperboloid rericht,

wenn der Radius des Asymptoten-Doppelkegels a ist.

hyp

math

a:=4: b:=3:  w2:=sqrt(2):  br:=w2*a; float(w2)

math

math

 

ellig:=plot::Implicit2d(elli,x=-a..a, y=-b..b,

                        LineWidth=1,LineColor=[1,0,0]):

hypgb:=plot::Implicit2d(hyp,x=-1.414*a..1.414*a, y=-b..b,

                        LineWidth=1,LineColor=[1,0,0.5]):

asy1gb:=plot::Implicit2d(asy1,x=-a..a, y=-b..b,

                        LineWidth=1,LineColor=[1,0.5,0]):

asy2gb:=plot::Implicit2d(asy2,x=-a..a, y=-b..b,

                        LineWidth=1,LineColor=[1,0.5,0]):

ggb1:=plot::Implicit2d(y=b/(w2*a)*x,x=-w2*a..w2*a, y=-b..b,

                        LineWidth=1,LineColor=[0,0,0.5]):

ggb2:=plot::Implicit2d(y=-b/(w2*a)*x,x=-w2*a..w2*a, y=-b..b,

                        LineWidth=1,LineColor=[0,0,0.5]):

kastenb:=plot::Polygon2d([[br,-b],[br,b],[-br,b],[-br,-b]],

               Closed=TRUE,LineWidth=1,LineColor=[0,1,0]):    

plot(ellig,hypgb,asy1gb,asy2gb,ggb1,ggb2,kastenb,Scaling=Constrained):

MuPAD graphics

Rechnungen mit einer Höhe  2 H, es zeigt sich H=b ist ergiebig.

delete a,b:

VhypeinH:=PI*int(a^2*(1+y^2/b^2), y=-H..H)

math

VZylH:=PI*a^2*(1+H^2/b^2)*2*H

math

simplify(VZylH-VhypeinH)

math

Mit beliebigem H könnte man an eine Kugel denken.

Insgesamt aber nicht griffig.

H=b wie in obiger Zeichnung

H:=b:

Vhypein:=PI*int(a^2*(1+y^2/b^2), y=-H..H)

math

VZylH:=PI*a^2*(1+H^2/b^2)*2*H

math

simplify(VZylH-VhypeinH)

math

 

VelliZ:=PI*int(a^2*(1-y^2/b^2), y=-H..H)

math

VKegb:=2/3*PI*2*a^2*b

math

Vasyb:=2/3*PI*a^2*b

math

VZylbInn:=PI*a^2*b

math

VKasten:=(2*w2*a)^2*2*b

math

a:=4:b:=3:br:=sqrt(2)*a:

hyp3dZob:=plot::ZRotate(b*sqrt(-1+x^2/a^2),x=-br..br,

        Color=[0,1,0,1], Mesh=[30,30]):

hyp3dZub:=plot::ZRotate(-b*sqrt(-1+x^2/a^2),x=-br..br,

        Color=[0,1,0,1],Mesh=[30,30]):

asy3dZb:=plot::ZRotate(b/a*x,x=-a..a,

        Color=[1,0.5,0,1]):

asy3dZb::ULinesVisible:=FALSE:

asy3dZb::VLinesVisible:=FALSE:

kegb:=plot::ZRotate(b/br*x,x=-br..br,

        Color=[0.5,0,0.5,1]):

hyp3dZob::Filled:=TRUE:

hyp3dZub::Filled:=TRUE:

Zylb:=plot::Surface([br*cos(t),br*sin(t),z],t=0..2*PI,z=-b..b,

            Color=[0,1,0,0.2]):

Zylb::Filled:=FALSE:

ZylbInn:=plot::Surface([a*cos(t),a*sin(t),z],t=0..2*PI,

          z=-b..b, Color=[1,1,0,1]):

S1:=plot::Scene3d(asy3dZb,hyp3dZob,hyp3dZub,Zylb):

S2:=plot::Scene3d(kegb,hyp3dZob,hyp3dZub,Zylb):

S3:=plot::Scene3d(hyp3dZob,hyp3dZub,elli3d):

S4:=plot::Scene3d(hyp3dZob,hyp3dZub,elli3d,ZylbInn):

plot(S1,S2,S3,S4)

MuPAD graphics

Fazit: Der Asymptotenkegel ist der Grund-Baustein B.

Ellipsoid=2 B

Zwischen Hyperboloid und Um-Zylinder = 2 B

Eingepasster Doppelkegel = 2 B

Hyperboloid= 4 B

Um-Zylinder= 6 B

ScheitelZylinder = 3/2 B

 

plot(asy3dZb,hyp3dZob,hyp3dZub,Zylb,ZylbInn)

MuPAD graphics

 

##################################################

Betrachtung einer Scheibe aus dem Körper zwischen dem Hyperboloid

und dem Asymptotenkegel.   (Rotation um die y-Achse)

VKegeinScheibe:=1/3*PI*(a/b*(c+d))^2*(c+d)-1/3*PI*(a/b*c)^2*c

math

simplify(%)

math

VhypeinScheibe:=PI*int(a^2*(1+y^2/b^2), y=c..c+d)

math

VhypeinScheibe-VKegeinScheibe

math

simplify(%)

math

Auch beim einschaligen Hyperboloid sind Scheiben der Höhe d

volumengleich zu gleichhohen Scheiben aus dem aufrechten Zylinder:

 

a:=4: b:=3:c:=5: d:=2:

Berechnung der x-Grenzen für das Hyberboloid

k1:=a*sqrt(1+c^2/b^2):

k2:=a*sqrt(1+(c+d)^2/b^2):

ringz:=plot::Surface([r*cos(t),r*sin(t),c],t=0..2*PI,

                 r=a/b*c..k1,Color=[0,0,1,1],

             ULinesVisible=FALSE, VLinesVisible=FALSE):

ring2z:=plot::Surface([r*cos(t),r*sin(t),c+d],t=0..2*PI,

                 r=a/b*(c+d)..k2,Color=[0,0,1,1],

             ULinesVisible=FALSE, VLinesVisible=FALSE):

asy3dScheibez:=plot::ZRotate(b/a*x,x=a/b*c..a/b*(c+d),

        Color=[1,0.5,0,1]):

hyp3dScheibez:=plot::ZRotate(b*sqrt(-1+x^2/a^2),x=k1..k2,

        Color=[0,1,0,1]):

zyl3dScheibez:=plot::Surface([a*cos(t),a*sin(t),z],t=0..2*PI,

          z=0..d, Color=[1,0.5,0,1], LineWidth=0.8):

kreis1z:=plot::Circle3d(a,[0,0,0],[0,0,1],Color=[1,0.5,0],

           FillColor=[1,0,0.5],Filled=TRUE):

kreis2z:=plot::Circle3d(a,[0,0,d],[0,0,1],Color=[1,0.5,0],

           FillColor=[1,0,0.5], Filled=TRUE):

plot(kreis1z, kreis2z, zyl3dScheibez,

      asy3dScheibez,hyp3dScheibez,ringz, ring2z);

MuPAD graphics

plot(kreis1z, kreis2z, zyl3dScheibez,

      asy3dScheibez,hyp3dScheibez,ringz, ring2z, Axes=None);

MuPAD graphics