3D-Visualisierung Funktionen mit GeoGebra: Berechnung des Volumens eines Rotationskörper, Rotation um x-Achse
Author: Chijner Roman,Heidelberg
Date: 29.Dezember,2010

x_{min}

x_{max}

Eulersche Winkel:

R_{X}

R_{X}:

R_{Z}

1

Chijner Roman,Heidelberg,2010

O

Z

Y

Y

X

Y

Z

X

X

Z

Achsen

Gitternetz

Anfangspunkt

Berührungspunkt mit Bildschirm

X-Animation ein

Z-Animation ein

X

X

Querschnitt

x_{min}

x_{max}

x

sichtbar

Löschen

Aufbau

ein/aus

ein/aus

▶ Drehung (X-Achse)

▶ ''Entkleidung'' der Oberfläche

f(x) =:

N =:

▶ Eingabe:

▶ 3D-Kachelfläche

$\scalebox{1.4} \text{\copyright Roman Chijner, Heidelberg 2012}$   
$\scalebox{1.3} \text{     Gestaltungshilfe: Werner Knobloch}$

Volumen des Rotationskörpers der Funktion f(x) 
bei Rotation um die x-Achse 

^y

f(x)

x

N = 10

N = 30

▶ Skalierung

N = 10 (slider from 5 to 100, step 5)
E1 = Point(xAxis)
E2 = Point(xAxis)
q = Segment(E1, E2)
N_v: N
lä1: N * (N + 1)
c = 11.9 (slider from -15 to 15, step 0.1)
a = 0.33 (slider from 0 to 5, step 0.01)
b = 0.02 (slider from 0 to 0.2, step 0.01)
f0(x) = a * ℯ^(-b * x) * cos(x) * x + c
u_{0} = 5.2 (slider from 0 to 6.283185307179586, step 0.1)
u_{min} = 0 (slider from 0 to 5, step 0.1)
dx: (u_{0} - u_{min}) / N
s_{yz} = 1.8 (slider from 0 to 2, step 0.1)
x_{max}: x(E2)
x_{min}: x(E1)
dy: (x_{max} - x_{min}) / N_v
uv = Join(Sequence[Sequence[(u_{min} + i * dx, x_{min} + j * dy), i, 0, N], j, 0, N_v])
v: y(uv)
u: x(uv)
Panelbreite = 0.338 (slider from 0 to 1, step 0.002)
Eckpunkt4 = Corner(4)
Eckpunkt2 = Corner(2)
Eckpunkt1 = Corner(1)
Ed: Eckpunkt2 - Eckpunkt1
rz: s_{yz}
s_x = 1.3 (slider from 0 to 2, step 0.1)
B = (15.116998268228931, 0.20723231841819156)
γ = 0 rad (slider from 0 to 6.283185307179586, step 0.08726646259971647)
β = 5.323254218582705 rad (slider from 0 to 6.283185307179586, step 0.08726646259971647)
X1: s_{yz} * f0(v) * cos(u)
α = 0 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
Y1: s_x * v
Z1: rz * f0(v) * sin(u)
EckpunktR = 0.8 (slider from 0 to 1, step 0.1)
Eckpunkt3 = Corner(3)
x3mina = Min(Z1)
x3maxa = Max(Z1)
x2mina = Min(Y1)
x2maxa = Max(Y1)
x1maxa = Max(X1)
x1mina = Min(X1)
A1 = 1
Gx3 = Raumpunkt0(0, 0, 5, α, β, γ)
O = Intersect(yAxis, xAxis)
i = (0, 1)
Gx2 = Raumpunkt0(0, 5, 0, α, β, γ)
Gx1 = Raumpunkt0(5, 0, 0, α, β, γ)
A: (x(Eckpunkt1 + EckpunktR * (Eckpunkt2 - Eckpunkt1)), 0)
U1x1: 4 * Gx1 + A
U1x3: 3 * Gx3 + A
U1x2: 3 * Gx2 + A
vX = Vector(A, U1x1)
vY = Vector(A, U1x2)
vZ = Vector(A, U1x3)
Koordx1: A + (-1 * 5, -1 * 5)
Koordx3: A + (0, 7)
Koordx2: A + (7, 0)
Kstrecke1 = Vector(A, Koordx1)
Kstrecke2 = Vector(A, Koordx2)
Kstrecke3 = Vector(A, Koordx3)
v_β = 0.7 (slider from 0 to 5, step 0.1)
e = false
g = true
Text10: "z_{min}=" + x3mina + "
z_{max}=" + x3maxa
Text9: "y_{min}=" + x2mina + "
y_{max}=" + x2maxa
Text8: "x_{min}=" + x1mina + "
x_{max}=" + x1maxa
b_1 = false
c_1 = false
j = false
Eck, eckpunkt1, a_1, d, eckpunkt4 = Polygon(Eckpunkt1, Eckpunkt1 + Panelbreite * Ed, Eckpunkt4 + Panelbreite * Ed, Eckpunkt4)
h = false
v_{α} = 0.4 (slider from 0 to 5, step 0.1)
k = false
v_γ = 0.4 (slider from -5 to 5, step 0.1)
E = Point(q)
x_1: x(E)
Z = Function(f0(x_1) * rz * cos(x), 0, u_{0})
Y = Function(x_1 * s_x, x_{min}, x_{max})
X = Function(f0(x_1) * s_{yz} * sin(x), 0, u_{0})
a23: sin(α) * sin(β) * cos(γ) - cos(α) * sin(γ)
a31: -sin(β)
a11: cos(β)
a12 = 0
a13: sin(β)
a21 = 0
a22 = 1
a32 = 0
a33: cos(β)
l = false
m = Line(B, xAxis)
P_{min}: s_x * (x_{min}, 0) + B
P_{max}: s_x * (x_{max}, 0) + B
P_{mx}: s_x * (x_1, 0) + B
c_2 = 0
c_3 = 0
c_4 = 0
c_5 = 0
c_6 = 0
c_7 = 0
c_8 = 0
c_9 = 0
c_{10} = 0
c_{11} = 0
c_{12} = 0
c_{13} = 0
c_{14} = 0
c_{15} = 0
c_{16} = 0
c_{17} = 0
c_{18} = 0
c_{19} = 0
c_{20} = 0
c_{21} = 0
c_{22} = 0
X1': a11 * X1 + a12 * Y1 + a13 * Z1
Y1': a21 * X1 + a22 * Y1 + a23 * Z1
Z1': a31 * X1 + a32 * Y1 + a33 * Z1
lä: (N + 1) * (N_v + 1)
zup: y(Sort[Sequence[(Element[X1', i], i), i, 1, lä]])
X1's = Sequence(Element[X1', Element[zup, i]], i, 1, lä)
ylPunkten10: Zip[((-x') / 2.82843 + y', (-x') / 2.82843 + z'), x', X1', y', Y1', z', Z1'] + B
ll = Sequence(If[i ≟ ceil(i / (N + 1)) * (N + 1), 0, i], i, 1, lä1)
yylPolyy1 = Zip(Polygon[Element[ylPunkten10, i], Element[ylPunkten10, i + N + 1], Element[ylPunkten10, i + N + 2], Element[ylPunkten10, i + 1]], i, ll)
x1mins = Min(X1's)
x1maxs = Max(X1's)
Ro: (X1's - x1mins) / (x1maxs - x1mins)
zll = Sequence(Element[yylPolyy1, Element[zup, i]], i, 1, lä)
Deckkraft = 0.8 (slider from 0 to 1, step 0.1)
f_1 = true
P1_x(x) = (-(a11 * X(x) + a12 * Y(x) + a13 * Z(x))) / 2.82843 + a21 * X(x) + a22 * Y(x) + a23 * Z(x)
P1_y(x) = (-(a11 * X(x) + a12 * Y(x) + a13 * Z(x))) / 2.82843 + a31 * X(x) + a32 * Y(x) + a33 * Z(x)
a1 = CurveCartesian(P1_x(t) + x(B), P1_y(t) + y(B), t, x_{min}, x_{max})
dN = 50
cea: ceil(lä1 / dN)
n_a = 1 (slider from 1 to cea + 1, step 1)
n_e = 1 (slider from 1 to cea + 4, step 1)
nmina1: (n_a - 1) * dN + 1
n = false
ce: c * e
p = false
v_n = 0.25 (slider from 0 to 1, step 0.1)
nmina2: (n_e - 1) * dN + 1
C = (-17.214235878958835, -22.949250391116216)
q1 = Integral(f0, x_{min}, x_{max})
c_{23} = 0
q2 = Integral(-f0(x), x_{min}, x_{max})
c_{24} = 0
E1_1: (x_1, f0(x_1))
E2_1: (x_1, -f0(x_1))
f = Segment(E1_1, E2_1)
opacity = 0.5 (slider from 0 to 1, step 0.1)
inputBox1 = Textfield(f0)
inputBox2 = Textfield(N)
text3: "Animation; mit 
nmax=" + (cea + 1) + " Schritten➢  "
D = Point(yAxis)
text12: "x_{min}=" + x_{min} + "
x_{max}=" + x_{max} + ""
a1a = CurveCartesian(P1_x(t) + x(B), P1_y(t) + y(B), t, x_{min}, x_{max})
jh = false
c_{25} = 0
c_{26} = 0
c_{27} = 0
c_{28} = 0
c_{29} = 0
c_{30} = 0
c_{31} = 0
c_{32} = 0
c_{33} = 0
text2: "\text {Fläche aus (N)^2=" + (LaTeX[N^(2)]) + " Vierecken} "
Text4: "f(x) = " + f0 + ""
r = false
Text16: "" + Text4 + ""
o: Deckkraft
Entkleidung = false
c_{34} = 0
Text2: "$V= π\cdot*\int_{x_{min} }^{x_{max} } f(x)^2\;dx$
$=π* " + (LaTeX[Integral[f0(x)^(2), x_{min}, x_{max}]]) + " \;VE $"

Tool: Raumpunkt0
tx,ty,tz,α,β,γ
Input: tx, ty, tz, α, β, γ
Output: RPnew

α1 = If(IsInteger[α / ° / 90], α + 0.02°, α)
β1 = If(IsInteger[β / ° / 90], β + 0.02°, β)
γ1 = If(IsInteger[γ / ° / 90], γ + 0.01°, γ)
M1: {{cos(α1) * cos(β1), cos(α1) * sin(β1) * sin(γ1) - sin(α1) * cos(γ1), cos(α1) * sin(β1) * cos(γ1) + sin(α1) * sin(γ1)}, {sin(α1) * cos(β1), sin(α1) * sin(β1) * sin(γ1) + cos(α1) * cos(γ1), sin(α1) * sin(β1) * cos(γ1) - cos(α1) * sin(γ1)}, {-sin(β1), cos(β1) * sin(γ1), cos(β1) * cos(γ1)}}
M2: {{tx}, {ty}, {tz}}
M3: M1 * M2
rx = Element(Element[M3, 1], 1)
ry = Element(Element[M3, 2], 1)
rz = Element(Element[M3, 3], 1)
RPnew: (-1 * rx / sqrt(8) + ry, -1 * rx / sqrt(8) + rz)