rotation x
Author: Daniel Mentrard

Rotation autour de x

x

y

x

y

You can change the function here

f(x) =

z

see axes

A and B are movables

Profil

Face

A = (3, 3)
r: y(A)
l: 2 * x(A)
B = Point(xAxis)
c: x(B) - x(A)
b: sqrt(y(A)^(2) / (1 - x(A)^(2) / x(B)^(2)))
a: x(B)
f = If(l / 2 ≤ abs(x) ≤ l / 2 + c, sqrt(-x^(2) * (b / a)^(2) + b^(2)), If[abs(x) < l / 2, r])
B' = Mirror(B, yAxis)
Int3 = Integral(f, x(B'), x(B))
h = 2.1 (slider from 0 to 2 * r, step 0.01)
A'_1 = Mirror(A, yAxis)
A' = Mirror(A, xAxis)
A'' = Mirror(A', yAxis)
C: (0, -y(A) + h)
t = Line(C, xAxis)
gg(x) = -y(A) + h
q_1 = Conic(B, A, A'_1, B', A'')
C_1, E_1 = Intersect(q_1, t)
g(x) = -f(x)
k = 1 (slider from -5 to 5, step 0.1)
AZ: (x(A), 0)
i_2 = Line(AZ, A)
E = Intersect(f, t, (-4.882040632427655, 0.8299999999999654))
D = Intersect(g, gg, (-4.2815103192976345, -0.40000000153788445))
E' = Mirror(E, yAxis)
AB: (x(A), y(D))
D'_1 = Mirror(D, yAxis)
k_1 = Circle(A, B, A')
a_1 = If(k < π, Segment[C, D], Segment[C, E])
O = (13.724039606108166, 3.142288115308323)
Zoom = 1 (slider from 0.1 to 5, step 0.1)
View3D = (17.88860555810458, 0.4646542814952225)
ya: y(View3D)
sintheta: sin(ya)
costheta: cos(ya)
xa: x(View3D)
cosphi: cos(xa)
xy: -Zoom * cosphi * sintheta
sinphi: sin(xa)
B_1 = (9.050824377532052, -0.0757855748707224)
Y: (x(B_1) + Zoom * cosphi, y(B_1) + Zoom * sinphi * sintheta)
v = Vector(B_1, Y)
X: (x(B_1) + Zoom * sinphi, y(B_1) + xy)
u = Vector(B_1, X)
Z: (x(B_1), y(B_1) + Zoom * costheta)
w = Vector(B_1, Z)
BB: O - r * w
CC: BB + h * w
MM: CC + a_1 * u
P: CC - Distance[(0, 0), AZ] * u
u_2 = 4 (slider from 1 to 5, step 0.1)
m = 30 (slider from 1 to 30, step 1)
O'_1 = Translate(O, Vector[u_2 * u])
O'_2 = Translate(O, Vector[u_2 * v])
z = Vector(O, O'_2)
d = Vector(O, O'_1)
O'_3 = Translate(O, Vector[u_2 * w])
e = Vector(O, O'_3)
G = Mirror(O'_1, O)
O'_4 = Mirror(O, O'_2)
O'_5 = Translate(O, Vector[-u_2 * w])
O' = Translate(O, Vector[-u_2 * v])
i = Segment(O, O'_5)
j = Segment(O, O')
Rot = 25 (slider from 0 to 25, step 1)
H = Point(xAxis)
I = Point(xAxis)
liste5 = Sequence(O + i * v, i, -3, 3)
liste6 = Sequence(O + i * w, i, -3, 3)
liste7 = Sequence(O + i * u, i, -3, 3)
J = Intersect(xAxis, yAxis)
K = Point(yAxis)
L = Point(yAxis)
q = Vector(K, L)
M = Point(xAxis)
r_1 = Vector(I, M)
liste8 = Sequence((x(J) + i, y(J)), i, -3, 3)
liste9 = Sequence((x(J), y(J) + i), i, -3, 3)
Min = -5 (slider from -50 to 5, step 0.01)
Max = 5 (slider from -5 to 50, step 0.1)
p = Function(f, Min, Max)
dx = 6 (slider from 1 to 50, step 1)
liste10 = Sequence(CurveCartesian[x(O + t * u + f(t) * cos(s) * v - f(t) * sin(s) * w), y(O + t * u + f(t) * cos(s) * v - f(t) * sin(s) * w), t, Min, Max], s, 0, 2 * 3.141592653589793 * Rot / 24, 3.141592653589793 / dx)
ChampTexte1 = Textfield(f)
h_1 = false
Vmax: 2 * π * Int3
texte6: "Volume= " + Vmax + ""
n: -f(x) ≤ y ≤ f(x) ∧ (y ≤ h - r)
AA: (0, -y(A) + h)
D' = Mirror(D, yAxis)
b_1 = Segment(C, E)
c_1 = Segment(AZ, B)
texte8: "" + r + ""
Int1 = Integral(gg(x) - g(x), x(E_1), x(C_1))
Vh: 2 * π * Int1 / 2
gg_1 = Mirror(gg, yAxis)
ff(x) = h - π
Int2 = Integral(f(x) - gg(x), x(E_1), x(C_1))
Intf: Int3 - Int2
Wmax: Int3 * π
T_1: (x(A), y(D))
D_1 = (4.686116234234571, -6.97613074020347)
p_1 = Circle(D_1, r)
OO: O + Distance[(0, 0), AZ] * u
o = CurveCartesian(x(OO + r * cos(i) * v + r * sin(i) * w), y(OO + r * cos(i) * v + r * sin(i) * w), i, 0, 6.283185307179586)
View3D' = Mirror(View3D, OO)
OO' = Mirror(OO, O)
i_1 = CurveCartesian(x(OO' + r * cos(i) * v + r * sin(i) * w), y(OO' + r * cos(i) * v + r * sin(i) * w), i, 0, 6.28319)
d_1 = Line(D_1, i_2)
Q, R = Intersect(p_1, d_1)
S: D_1 + (0, -y(A) + h)
e_1 = OrthogonalLine(S, d_1)
T, U = Intersect(p_1, e_1)
f_1 = CircumcircleArc(U, Q, T)
texte9: "" + Vh + ""
Intsous = Integral(g, x(B'), x(B))
inttot: Intsous + Intf
texte10: "" + inttot + ""
Vsous: -2 * π * Intsous / 2
Vf: 2 * π * Intf / 2
Volf: Vsous + Vf
texte11: "" + Volf + ""
s = Circle(D_1, r)
cor: Distance[U, T] / 2
F: P - cor * v
N: P + cor * v
N' = Mirror(N, P)
P' = Mirror(P, CC)
N'_1 = Mirror(N, CC)
F' = Mirror(F, CC)
poly1, n'_1, f_2, n_1, f' = Polygon(N'_1, F, N, F')
W = (4.685818735203125, 1.4843296506105947)
AZ' = Mirror(AZ, yAxis)
g_1 = Arc(q_1, B, A)
A_1 = Intersect(gg, t, 1)
V = (6, -2)
F_1 = (-3.375983393320917, 3.122755949248277)
G_1: (x(A), y(C_1))
TT: (x(A), y(C_1))
rr = Segment(C_1, TT)
r1 = Segment(TT, A')
r2 = Segment(A, TT)
rh = If(h < r, r1, r2)
j_1 = CurveCartesian(x(P - r * cos(i) * u + r * sin(i) * v), y(P - r * cos(i) * u + r * sin(i) * v), i, 0, 6.28319)
H_1: P - rr * u
s_1 = Conic(H_1, F, N'_1, F', N)
t_1 = Arc(s_1, N, F)
c_2 = Arc(s_1, N'_1, F')
I_1: OO' - r * w
F'' = Mirror(F', I_1)
J_1 = Mirror(I_1, BB)
poly2, p', p_2, i_3, j_2 = Polygon(P', P, I_1, J_1)
liste11 = Sequence(CurveCartesian[x(O + t * u + f(t) * cos(s) * v - f(t) * sin(s) * w), y(O + t * u + f(t) * cos(s) * v - f(t) * sin(s) * w), s, 0, 2 * π * m / 24], t, Min, 2 * Max, (Max - Min) / dx)