Hinführung zum Volumen einer Pyramide mit quadratischer Grundfläche
Ein unbekanntes Volumen kann dadurch bestimmt werden, indem man den gegebenen Körper durch bekannte Teilvolumina annähert. Wir betrachten eine Pyramide mit quadratischer Grundfläche.
| > | restart:with(plots):with(plottools): |
Warning, the name changecoords has been redefined Warning, the name arrow has been redefinedAls erstes wird die Kantenlänge der Grundfläche vorgegeben.
| > | a:=2; |
Nun zur Höhe
| > | h:=2; |
Die Grundfläche soll in der x-y-Ebene liegen, der Ursprung ist der Schnittpunkt der Diagonalen.
| > | ecken_unten:=[[-a/2,-a/2,0],[a/2,-a/2,0],[a/2,a/2,0],[-a/2,a/2,0]]; |
| > | grundfl:=polygon(ecken_unten,color=blue): |
Damit wir auch in die Pyramide hineinschauen können, wollen wir drei der vier Seitenflächen umklappen. Die hintere Seite soll stehen bleiben.
| > | ecken_hinten:=[[-a/2,a/2,0],[a/2,a/2,0],[0,0,h]]; |
| > | hintenfl:=polygon(ecken_hinten,color=green): |
Klappt man die Seitenflächen der Pyramide auf, so bewegen sich die Spitzen der Dreiecke auf einem Kreis. Der Mittelpunkt des Kreises liegt über der Seitenmitte.
| > | sp:=x->sqrt(a^2/4+h^2-(x-a/2)^2);sp1:=x->sqrt(a^2/4+h^2-(x+a/2)^2); |
| > | rechts:=x->display(polygon([[a/2,-a/2,0],[a/2,a/2,0],[x,0,sp(x)]],color=green)): |
| > | vorne:=x->display(polygon([[a/2,-a/2,0],[-a/2,-a/2,0],[0,x,sp1(x)]],color=green)): |
| > | links:=x->display(polygon([[-a/2,a/2,0],[-a/2,-a/2,0],[x,0,sp1(x)]],color=green)): |
Unsere Pyramide ist fertig.
| > | display(grundfl,hintenfl,vorne(0),links(0),rechts(0),title=`der gegebene Körper`,orientation=[-120,60]); |
und wir können auch die Seiten aufklappen.
| > | aufklappen:=seq(display(grundfl,hintenfl,vorne((-a/2-sqrt(a^2/4+h^2))*i/20),links((-a/2-sqrt(a^2/4+h^2))*i/20),rechts((a/2+sqrt(a^2/4+h^2))*i/20)),i=0..20):letztes_bild:=aufklappen[nops([aufklappen])]: |
| > | display(aufklappen,insequence=true,orientation=[-62,56]); |
Das Volumeninnere soll mit n Quadern ausgeschöpft werden.
| > | n:=20; |
Die Eckpunkte der Teilquader kann an Hand einer Strahlensatzfigur bestimmt werden.
| > | quader_innen:=i->display(letztes_bild,cuboid([a/2*(1-i/n),a/2*(1-i/n),(i-1)*h/n],[-a/2*(1-i/n),-a/2*(1-i/n),i*h/n],color=yellow)): |
| > | aufbau:=aufklappen,seq(display(seq(quader_innen(i),i=1..k)),k=1..n): |
Wir betrachten unser Werk:
| > | display(aufbau,insequence=true,orientation=[-130,60]); |