Plantilla 3D
Author: Rafael Losada Liste

Nivel

% Volumen

Solución

Ensayo

rm = 1
C2 = Point(Segment[(-5, -5), ((-rm), (-5))])
C3 = Point(Segment[(-5, -4), ((-rm), (-4))])
C4 = Point(Segment[(-5, -3), ((-rm), (-3))])
C5 = Point(Segment[(-5, -2), ((-rm), (-2))])
C6 = Point(Segment[(-5, -1), ((-rm), -1)])
C7 = Point(Segment[(-5, 0), ((-rm), 0)])
C8 = Point(Segment[(-5, 1), ((-rm), 1)])
C9 = Point(Segment[(-5, 2), ((-rm), 2)])
C10 = Point(Segment[(-5, 3), ((-rm), 3)])
C1 = Point(Segment[(-5, -6), ((-rm), (-6))])
inclinación = 0.05235987755982979 rad (slider from 0 to 0.3490658503988659, step 0.017453292519943295)
C1' = Mirror(C1, (0, -6))
radios = Sequence(abs(x(Object["C" + (t)])), t, 1, 11)
h = Sequence(y(Object["C" + (t)]), t, 1, 11)
p1e = Sequence(Sequence[P3D[inclinación, ((s * 180) * ° / 3.141592653589793), {Element[radios, t], 0, Element[h, t]}], s, 1, 5], t, 1, 11)
e = Conic(Element[Element[p1e, 1], 1], Element[Element[p1e, 1], 2], Element[Element[p1e, 1], 3], Element[Element[p1e, 1], 4], Element[Element[p1e, 1], 5])
extremos = Sequence(P3D[inclinación, 0°, {0, 0, Element[h, t]}], t, 1, 11, 10)
velocidad = 5 (slider from 1 to 20, step 0.5)
c = Conic(Element[Element[p1e, 11], 1], Element[Element[p1e, 11], 2], Element[Element[p1e, 11], 3], Element[Element[p1e, 11], 4], Element[Element[p1e, 11], 5])
A = (-6, 4)
B = (6, 4)
C = (-6, 7)
D = (6, 7)
E = Point(c)
F = Point(c)
G = Point(c)
H = Point(c)
I = Point(c)
J = Point(c)
K = Point(c)
L = Point(c)
M = Point(c)
N = Point(c)
O = Point(c)
C11 = Point(Segment[(-5, 4), ((-rm), 4)])
C11' = Mirror(C11, (0, 4))
P = (-6, -9)
Q = (6, -9)
R = (-6, -6)
S = (6, -6)
T = Point(e)
U = Point(e)
V = Point(e)
W = Point(e)
Z = Point(e)
J_1 = (-6, 3)
K_1 = (-6, 2)
L_1 = (-6, 1)
M_1 = (-6, 0)
N_1 = (-6, -1)
O_1 = (-6, -2)
P_1 = (-6, -3)
Q_1 = (-6, -4)
R_1 = (-6, -5)
S_1 = (6, 3)
T_1 = (6, 2)
U_1 = (6, 1)
V_1 = (6, 0)
W_1 = (6, -1)
Z_1 = (6, -2)
A_2 = (6, -3)
B_2 = (6, -4)
C_2 = (6, -5)
C2' = Mirror(C2, (0, -5))
C3' = Mirror(C3, (0, -4))
C4' = Mirror(C4, (0, -3))
C5' = Mirror(C5, (0, -2))
C6' = Mirror(C6, (0, -1))
C7' = Mirror(C7, (0, 0))
C8' = Mirror(C8, (0, 1))
C9' = Mirror(C9, (0, 2))
C10' = Mirror(C10, (0, 3))
bordeI = Sequence(Segment[Object["C" + (k)], Object["C" + (k + 1)]], k, 1, 10)
bordeD = Sequence(Segment[Object["C" + (k) + "'"], Object["C" + (k + 1) + "'"]], k, 1, 10)
D_2 = (5.3, 4)
E_2 = (5.3, -6)
a = Segment(D_2, E_2)
F_2 = (15.3, -6)
b = Segment(E_2, F_2)
G_2 = Point(e)
H_2 = Point(e)
I_2 = Point(e)
J_2 = Point(e)
K_2 = Point(e)
L_2 = Point(e)
M_2 = Point(e)
N_2 = Point(e)
O_2 = Point(e)
lista1: {Polygon[A, C11, E, F, G, H, I, J, K, L, M, N, O, C11', B, D, C], Polygon[C1', E_2, Q, P, R, C1, G_2, H_2, I_2, J_2, K_2, L_2, M_2, N_2, O_2], Polygon[C11, C10, J_1, A], Polygon[C10, C9, K_1, J_1], Polygon[C8, L_1, K_1, C9], Polygon[C7, M_1, L_1, C8], Polygon[C6, N_1, M_1, C7], Polygon[C5, O_1, N_1, C6], Polygon[C4, P_1, O_1, C5], Polygon[C3, Q_1, P_1, C4], Polygon[C2, R_1, Q_1, C3], Polygon[C1, R, R_1, C2], Polygon[C1', S, C_2, C2'], Polygon[C2', C_2, B_2, C3'], Polygon[C3', B_2, A_2, C4'], Polygon[C4', A_2, Z_1, C5'], Polygon[C5', Z_1, W_1, C6'], Polygon[C6', W_1, V_1, C7'], Polygon[C7', V_1, U_1, C8'], Polygon[C8', U_1, T_1, C9'], Polygon[C9', T_1, S_1, C10'], Polygon[C10', S_1, B, C11']}
f = CircumcircleArc(C1, K_2, C1')
g = CircumcircleArc(C11, I, C11')
cc = Conic(Element[Element[p1e, 10], 1], Element[Element[p1e, 10], 2], Element[Element[p1e, 10], 3], Element[Element[p1e, 10], 4], Element[Element[p1e, 10], 5])
A_1 = Point(cc)
B_1 = Point(cc)
C_1 = Point(cc)
D_1 = Point(cc)
E_1 = Point(cc)
F_1 = Point(cc)
G_1 = Point(cc)
H_1 = Point(cc)
I_1 = Point(cc)
P_2 = Point(cc)
Q_2 = Point(cc)
R_2 = Point(cc)
S_2 = Point(cc)
polígono1: {Polygon[C11, C10, A_1, B_1, C_1, D_1, E_1, F_1, G_1, H_1, I_1, P_2, Q_2, R_2, S_2, C10', C11']}
niveles = Sequence(Segment[Object["C" + (k) + "'"], (6, y(Object["C" + (k) + "'"]))], k, 1, 10)
volumenes = Sequence(Element[radios, k]^(2) + Element[radios, k + 1]^(2) + (Element[radios, k] * Element[radios, k + 1]), k, 1, 9)
caudal = 75
lista2 = Sequence(Segment[(k - 0.7, (-6)), (k - 0.7, 3)], k, 7, 15)
lista3 = Sequence(Segment[(5.3, k), (14.3, k)], k, -5, 3)
i = true
PP1 = Point(Element[lista3, 1])
PP2 = Point(Element[lista3, 2])
PP3 = Point(Element[lista3, 3])
PP4 = Point(Element[lista3, 4])
PP5 = Point(Element[lista3, 5])
PP6 = Point(Element[lista3, 6])
PP7 = Point(Element[lista3, 7])
PP8 = Point(Element[lista3, 8])
PP9 = Point(Element[lista3, 9])
PP0: E_2
lista5 = Sequence(Segment[Object["PP" + (k - 1)], Object["PP" + (k)]], k, 1, 9)
j = false
volumenT = Sum(volumenes)
volumenesP: volumenes / volumenT
volumenesA = Sequence(Sum[First[volumenesP, k]], k, 1, 9)
puntos = Sequence(((9 * Element[volumenesA, k]) + 5.3, k - 6), k, 1, 9)
lista4 = Sequence(Segment[Element[puntos, k], Element[puntos, k + 1]], k, 1, 8)
d = Segment(E_2, Element[puntos, 1])

Tool: P3D
Inclinación, Rotación, Lista de tres coordenadas
Input: α, β, puntoLista
Output: P3D

puntoLista: {0, 0, 4}
p_x = Element(puntoLista, 1)
p_y = Element(puntoLista, 2)
p_z = Element(puntoLista, 3)
P3D: ((p_x * sin(β)) + (p_y * cos(β)), (((-p_x) * cos(β)) * sin(α)) + ((p_y * sin(β)) * sin(α)) + (p_z * cos(α)))