Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Volumen berechnen Ellipsenkörper zwischen zwei Zylindern


JoelH - Mo 30.01.17 16:42
Titel: Volumen berechnen Ellipsenkörper zwischen zwei Zylindern
Ich bin gerade an einem kleinen Programm bastelt und habe nun ein mathematisches Problem, welches ich irgendwie nicht selbst gelöst bekommen.

Als Beispiel habe ich eine kleine Grafik angehängt, denn 1 Bild sagt meist mehr als 1000 Worte. Die Grafik soll die 2D Abbildung eines Darts sein. Der Körper ist also in 3D Zylinderförmig. Und genau darum geht es.

Gegeben sind der grüne und der rote Zylinder mit einer identischen Höhe. In diesem Beispiel ist die Höhe 14mm. Der Durchmesser des grünen Zylinders ist 6.73mm, der des roten Zylinders ist 8.73mm

Das ergibt ein Volumen für den grünen Zylinder von 498mm³ und des roten von 838mm³. Soweit so schön, doch nun kommt der rosafarbene Körper mit ins Spiel. Er ist ein Kugelsegment mit einem Durchmesser das den grünen Zylinder an seinen Eckpunkten schneidet (Das habe ich hier gefunden: https://en.wikipedia.org/wiki/Circular_segment ) und die Höhe von (Durchmesser von rot - Durchmesser von grün / 2) hat (Um beim Beispiel zu bleiben im Bezug auf die Grafik in der Wiki c = 14 und h = 1). Dieses "zusätzliche" Volumen suche ich, da ich daraus das Gewicht des Körpers berechnen möchte. Diese rosa abgeschnittene Ellipse macht aus dem grünen Zylinder quasi eine Art Blumenvase um das mal verbal zu visualisieren.

Leider habe ich keine Ahnung wie ich zu diesem Volumen komme. Ich weiss es liegt irgendwo zwischen den Volumen von rot und grün, aber wie ich es genau bestimme weiss ich nicht.


Horst_H - Mo 30.01.17 18:52

Hallo,

EDIT, das Bild direkt eingefügt:
Volumen
man kann direkt rosa berechnen also Kreissegment [https://de.wikipedia.org/wiki/Kreissegment] mittels Guldinscher Regel den Schwerpunkt rotieren lassen siehe auch Rotationskörper [https://de.wikipedia.org/wiki/Rotationskörper] V= Querschnittsflächex 2xpi x Radius ( = Schwerpunkt )

Gruß Horst

Edit:
Berechnung des rosa Anteils
h = 1 mm (= (8,73-6,73) / 2 ), s= 14 mm
r = (4*h*h+s*s)/(8*h) = 25 mm
alpha aus sin(alpha/2) = s/2 / r = 7/25 = 0,28 => alpha = 2*0,283794109 = 0,567588218 ( alles Bogenmass )
A = r*r*(alpha-sin(alpha) /2 = 25*25 ( 0,567588218 -0,5376) / 2= 9,371318255 qmm

xs = s*s*s /(12 * A) = 14*14*14/(12* 9,371318255 ) = 24,40069374 mm
Die Unterkante ( s ) vom Kreissegment ist bei r-h = 25-1 = 24 mm xs liegt also bei xs = 0,40069374 mmm

der Rotationsradius r_s ist dann bei ( grüner Zylinder ) 6,73 / 2mm +xs = 6,73/2+0,40069374 = 3,765693738 mm

Guldinsche Regel V = A *2* pi* r_s = 9,371318255 *2 *pi*3,765693738 = 221.7305588 mm^3

rosa+grün = 221 + 498 = 719 mm^3


JoelH - Di 31.01.17 09:05

Viele Dank. Da wäre ich alleine nicht so schnell drauf gekommen.


JoelH - Di 31.01.17 10:03

user profile iconHorst_H hat folgendes geschrieben Zum zitierten Posting springen:

alpha aus sin(alpha/2) = s/2 / r = 7/25 = 0,28 => alpha = 2*0,283794109 = 0,567588218 ( alles Bogenmass )


Okay,

hier hänge ich, oder stehe auf dem Schlauch.

Wie kommst du auf die 0,283794109?
Da steig ich nicht durch. alpha ist wohl der Winkel im Zentrum, aber wie kommen die von den 0.28 auf die 0,283794109 ? Das raff ich gerade nicht. :? :?


Horst_H - Di 31.01.17 10:12

Hallo,

Die Skizzen und Bezeichnungen sind ja bei wikipedia Kreissegment
manche Dinge sind zu einfach, dass man nicht drauf kommt.
sin(x)= 0.28-> x => arcsin(0,28 ) = 0,28379...
Da alpha = 2*x wird alpha zu 0,567588....

Gruß Horst


JoelH - Di 31.01.17 10:16

argl, da war ich knapp dran, ich hab mit sin(0,28) rumprobiert. ArcSin kam mir zwar in den Sinn aber da hab ich die simple Einsetzung nicht in Betracht gezogen :roll:

Danke.