Patrons de cônes
Author: Daniel Mentrard
Date: 8 juin 2008

h

h

r

r

V = π r² h

V =  \frac{ π r² h }{ 3} 

Llenar con la misma cantidad de agua

r = 7 (slider from 0.1 to 10, step 0.1)
M: (22 + r, 5.1)
N: (22 - r, 5.1)
T = Midpoint(M, N)
m = Segment(T, M)
a1 = OrthogonalLine(T, m)
c = Line(T, xAxis)
A = Point(c)
v = Vector(T, A)
f(x) = sqrt(r^(2) - (x - 22)^(2)) / 4 + 5
P = Point(f)
Q = Point(f)
i(x) = (-f(x)) + 10
L = Point(i)
R = Point(i)
O = Point(i)
c_1 = Conic(R, L, O, P, Q)
d = Translate(c_1, v)
L_1 = Point(d)
K_1 = Point(d)
J_1 = Point(d)
I_1 = Point(d)
H_1 = Point(d)
G_1 = Point(d)
F_1 = Point(d)
E_1 = Point(d)
D_1 = Point(d)
C_1 = Point(d)
B_1 = Point(d)
A_1 = Point(d)
C, D = Intersect(d, c)
R2 = Point(d)
S2 = Point(d)
U2 = Point(d)
V2 = Point(d)
W2 = Point(d)
Z2 = Point(d)
A3 = Point(d)
B3 = Point(d)
C3 = Point(d)
D3 = Point(d)
F3 = Point(d)
G3 = Point(d)
H3 = Point(d)
I3 = Point(d)
J3 = Point(d)
K3 = Point(d)
L3 = Point(d)
M3 = Point(d)
N3 = Point(d)
O3 = Point(d)
i1(x) = (-f(x)) + 10
h2 = Translate(i1, v)
T2 = Point(h2)
E3 = Point(h2)
h = 15 (slider from 1 to 15, step 0.1)
g1 = Circle(T, h)
K, S_2 = Intersect(g1, a1)
S = Translate(S_2, v)
l = Segment(S, C)
q = Segment(S, D)
t = 3.7 (slider from 0 to 14.9, step 0.1)
hom: 1 - t / 15
AA12 = Dilate(L_1, hom, S)
AA11 = Dilate(K_1, hom, S)
AA10 = Dilate(J_1, hom, S)
AA9 = Dilate(I_1, hom, S)
AA8 = Dilate(H_1, hom, S)
AA7 = Dilate(G_1, hom, S)
AA6 = Dilate(F_1, hom, S)
AA5 = Dilate(E_1, hom, S)
AA4 = Dilate(D_1, hom, S)
AA3 = Dilate(C_1, hom, S)
AA2 = Dilate(B_1, hom, S)
AA1 = Dilate(A_1, hom, S)
E: (x(A), y(T) + t)
a4 = Line(E, xAxis)
Z1 = Intersect(l, a4)
A2 = Intersect(q, a4)
z = Vector(A, E)
b4 = OrthogonalLine(E, a4)
t3 = Translate(d, z)
B2, C2 = Intersect(t3, b4)
F2: (x(B2), y(B2) - t / 10)
G2 = Mirror(F2, E)
g4 = Segment(F2, E)
c4 = Segment(E, Z1)
E2: (x(E) + (c4 * cos(60°)), y(E) + (g4 * sin(60°)))
e4 = Conic(Z1, E2, F2, A2, G2)
V3 = Point(e4)
U3 = Point(e4)
M2 = Point(e4)
N2 = Point(e4)
L2 = Point(e4)
K2 = Point(e4)
J2 = Point(e4)
I2 = Point(e4)
H2 = Point(e4)
f4(x) = ((-sqrt(r^(2) - (x - 22)^(2)))) / 4 + 5 + t / 3
I1 = Point(f4)
H1 = Point(f4)
F1 = Point(f4)
E1 = Point(f4)
D1 = Point(f4)
C1 = Point(f4)
B1 = Point(f4)
A1 = Point(f4)
Z = Point(f4)
W = Point(f4)
V = Point(f4)
U = Point(f4)
J = Point(f4)
G = Point(f4)
f5(x) = ((-sqrt(r^(2) - (x - 22)^(2)))) / 4 + 5
F: (x(T), y(T) + t / 3)
b1 = Line(F, v)
u = Vector(T, S_2)
H = Translate(N, u)
b = Segment(H, N)
W1 = Intersect(b1, b)
apo: (r^(2) + h^(2))^(0.5)
S_1: (x(T), y(T) + sqrt(apo^(2) - r^(2)))
n = Segment(S_1, T)
m1 = Line(W, n)
O1 = Intersect(f5, m1, (21.261513992901392, 3.2597658487771044))
a2 = Line(H1, m1)
P1 = Intersect(f5, a2, (22.508742374276114, 3.254627883576544))
n1 = Line(Z, m1)
Q1 = Intersect(f5, n1, (24.356488124460885, 3.352142229300515))
p1 = Line(A1, n1)
R1 = Intersect(f5, p1, (25.37274828706251, 3.466528265011935))
q1 = Line(B1, p1)
S1 = Intersect(f5, q1, (26.573783024682612, 3.675223866951354))
r1 = Line(C1, q1)
T1 = Intersect(f5, r1, (27.40526861226576, 3.888045885915965))
s1 = Line(D1, r1)
U1 = Intersect(f5, s1, (28.05197962483043, 4.12059883227856))
t1 = Line(E1, s1)
V1 = Intersect(f5, t1, (28.83727156865896, 4.624856902601833))
l1 = Line(V, n)
N1 = Intersect(f5, l1, (19.96809196777205, 3.3253479886001776))
k1 = Line(U, n)
M1 = Intersect(f5, k1, (18.58228265513347, 3.4727637676467977))
j1 = Line(J, n)
L1 = Intersect(f5, j1, (17.381247917513367, 3.685011188248038))
d1 = Line(G, n)
K1 = Intersect(f5, d1, (16.226406823647885, 4.010504489841531))
c1 = Line(F1, n)
J1 = Intersect(f5, c1, (15.302533948555498, 4.49108273697066))
α: (360 * r / apo)
e: apo + (2 * r)
g: apo + r
e1 = Conic(R, L, O, P, Q)
f1(x) = sqrt(r^(2) - (x - 22)^(2)) / 4 + 5
poly1, m_1, s_1, n_1 = Polygon(S_2, N, M)
h1 = Translate(i1, u)
p = Translate(e1, u)
f2 = Translate(f1, u)
g2 = Translate(f1, u)
I = Translate(M, u)
a = Segment(I, M)
k = Translate(e1, v)
j = Translate(n, v)
f3 = Translate(f1, v)
w = Vector(T, F)
s = Translate(c_1, w)
G1 = Intersect(f4, b1, (15.625889454837832, 9.384391176130467))
poly2, b2_1, c2, d2, e2, i2, j2, k2, l2, m2, n2, p2, q2, r2, s2, t2, a3, b3, c3, d3, e3, g3, h3, i3, j3, k3, l3, m3, n3, p3, q3, r3, s3 = Polygon(F1, G, J, U, V, W, H1, I1, Z, A1, B1, C1, D1, E1, M, V1, U1, T1, S1, R1, Q1, O, P1, O1, N1, R, M1, L1, K1, J1, N, W1)
b2 = Line(I1, n1)
d4 = Segment(B2, E)
D2 = Point(e4)
O2 = Point(e4)
P2 = Point(e4)
h4 = Segment(S, D)
i4 = Segment(S, C)
P3 = Midpoint(D, C)
j4 = Segment(S, P3)
Q3 = Midpoint(j4)
R3 = Midpoint(n)
k4 = Segment(P3, C)
S3 = Midpoint(k4)
W3 = Point(e4)
Z3 = Point(e4)
B = Point(e4)
Q2 = Point(e4)
A4 = Point(e4)
B4 = Point(e4)
C4 = Point(e4)
D4 = Point(e4)
E4 = Point(e4)
F4 = Point(e4)
poly3, f_1, g_1, h_1, i_1, j_1, k_1, l_1, p_1, q_1, r_1, t_1, a_1, b_1, d_1, e_1, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2, p_2, q_2, r_2, s_2, t_2, a_2, b_2, c_2, d_2, e_2, f_3, g_3, h_3, i_3 = Polygon(A2, AA1, AA2, AA3, AA4, AA5, AA6, AA7, AA8, AA9, AA10, AA11, AA12, Z1, C, O3, N3, M3, L3, K3, J3, I3, H3, G3, F3, E3, D3, C3, B3, A3, Z2, W2, V2, U2, T2, S2, R2, D)
G4 = Point(e4)
d' = Dilate(d, hom, S)