Author: Nicolas ERDRICH

Angle

Base

Point du vue

Hauteur du plan de coupe

Hauteur du solide

  SECTION D'UN CYLINDRE     

Créé par Nicolas ERDRICH sur GeoGebra

Nombre de génératrices

Cône / Cylindre

GÉNÉRATION D'UN CÔNE 
            DE RÉVOLUTION

i = 245 (slider from 0 to 360, step 1)
b = 2.1 (slider from 1 to 5, step 0.1)
Zoom = 7.6 (slider from 2 to 10, step 0.1)
O = (41.7009588812883, 10.648743276794068)
c = Circle(O, Zoom)
P = (-11.118866114382989, 17.66941954967705)
y_P: y(P) * 2
sin_{theta}: sin(y_P)
cos_{theta}: cos(y_P)
Z: (x(O), y(O) + Zoom * cos_{theta})
w = Vector(O, Z)
x_P: x(P) * 2
cos_{phi}: -cos(x_P)
sin_{phi}: sin(x_P)
Y: (x(O) + Zoom * cos_{phi}, y(O) + Zoom * sin_{phi} * sin_{theta})
v = Vector(O, Y)
O' = (5.5909673672114435, -0.4222156581974766)
hauteur2 = 0 (slider from 0 to 1, step 0.01)
hauteur3: 1 - hauteur2
hauteur = 3.06 (slider from 0 to 6.5, step 0.01)
xy_P: -Zoom * cos_{phi} * sin_{theta}
X: (x(O) + Zoom * sin_{phi}, y(O) + xy_P)
u = Vector(O, X)
D: O' + 2 * b * w * cos(i°) - 2 * b * v * sin(i°)
D'_3 = Dilate(D, 0.6, O')
C: O' - 2 * b * v * cos(i°) - 2 * b * w * sin(i°)
C'_3 = Dilate(C, 0.6, O')
B: O' + 2 * b * v * sin(i°) - 2 * b * w * cos(i°)
B'_3 = Dilate(B, 0.6, O')
A: O' + 2 * b * v * cos(i°) + 2 * b * w * sin(i°)
A'_3 = Dilate(A, 0.6, O')
proj: -Zoom * cos_{phi} * sin_{theta}
M_1: O + u * cos(45°) + v * cos(45°)
M_u: -u + O
M_v: O - v
d = Conic(Y, M_1, X, M_v, M_u)
M_w: O - w
M_2: O + u * cos(45°) + w * cos(45°)
M_3: O + v * cos(45°) + w * cos(45°)
e = Conic(Z, X, M_w, M_2, M_u)
f = Conic(Z, M_3, Y, M_w, M_v)
A' = Translate(A, Vector[hauteur * u])
B' = Translate(B, Vector[hauteur * u])
C' = Translate(C, Vector[hauteur * u])
D' = Translate(D, Vector[hauteur * u])
poly1', a', b', c', d' = Polygon(A', B', C', D')
B'_2 = Translate(B, Vector[(1 - hauteur3) * hauteur * u])
C'_2 = Translate(C, Vector[(1 - hauteur3) * hauteur * u])
D'_2 = Translate(D, Vector[(1 - hauteur3) * hauteur * u])
A'_2 = Translate(A, Vector[(1 - hauteur3) * hauteur * u])
poly1'', a'_2, b'_2, c'_2, d'_2 = Polygon(A'_2, B'_2, C'_2, D'_2)
Nombre = 150 (slider from 5 to 150, step 1)
liste1 = Sequence(O' + b * v * cos((360 / Nombre * k)° + i°) + w * b * sin((360 / Nombre * k)° + i°), k, 0, Nombre)
liste2 = Translate(liste1, Vector[hauteur * u])
S = PointIn(poly1')
liste3 = Sequence(Segment[S, Element[liste1, k]], k, 0, Nombre)
liste4 = Sequence(Segment[Element[liste2, k], Element[liste1, k]], k, 0, Nombre)
g = true
P_1 = Element(liste1, 1)
P_2 = Element(liste1, 2)
P_3 = Element(liste1, 3)
P_4 = Element(liste1, 4)
P_5 = Element(liste1, 5)
h = Conic(P_1, P_2, P_3, P_4, P_5)
h'_1 = Dilate(h, hauteur3, S)
S' = Translate(S, Vector[-hauteur * u])
j = Segment(S', S)
A'_1 = Translate(A, Vector[(1 - hauteur3) * u])
B'_1 = Translate(B, Vector[(1 - hauteur3) * u])
C'_1 = Translate(C, Vector[(1 - hauteur3) * u])
D'_1 = Translate(D, Vector[(1 - hauteur3) * u])
S'' = Translate(S, Vector[-hauteur * hauteur3 * u])
h' = Translate(h, Vector[hauteur * u])
i_1 = Translate(h, Vector[(1 - hauteur3) * hauteur * u])
n = 9 (slider from 1 to 200, step 1)
cercles = Sequence(Dilate[h, l / n, S], l, 0, n)
poly1, b_1, c_1, d_1, a = Polygon(B, C, D, A)
cercle2 = Sequence(Translate[h, Vector[l * hauteur / n * u]], l, 0, n)
E = Point(h)
k = Segment(S', E)
l = Segment(E, S)
F = Point(k)
H = Point(k)
o = 2 (slider from 0 to 40, step 1)
poly2, e_1, s, o' = Polygon(S, O', E)
G = Point(e_1)
I = Intersect(k, s)
J = Point(k)
m = Line(G, k)
p = Line(J, j)
K = Intersect(m, p)
L = Point(k)
poly3, o'_1, j_1, k_1, g_1 = Polygon(O', J, K, G)