Cone
Author: Daniel Mentrard

h

r

Separación

m = 36 (slider from 1 to 36, step 1)
h = 6 (slider from 1 to 10, step 1)
r = 3 (slider from 1 to 7, step 1)
O1 = (-2.068937270206975, -0.3150823744628396)
Zoom = 1 (slider from 0.1 to 5, step 0.1)
Voir = (5.344332505478739, 3.3785704931965106)
ya: y(Voir)
costheta: cos(ya)
sintheta: sin(ya)
xa: x(Voir)
cosphi: cos(xa)
xy: -(Zoom) * cosphi * sintheta
sinphi: sin(xa)
B_1 = (-5.185747866603397, -3.016529769525046)
Y: (x(B_1) + Zoom * cosphi, y(B_1) + Zoom * sinphi * sintheta)
v_1 = Vector(B_1, Y)
N = Translate(O1, v_1)
w = Vector(O1, N)
Z: (x(B_1) + 0.0, y(B_1) + Zoom * costheta)
w_1 = Vector(B_1, Z)
G = Translate(O1, w_1)
v = Vector(O1, G)
X: (x(B_1) + Zoom * sinphi, y(B_1) + xy)
u_1 = Vector(B_1, X)
K = Translate(O1, u_1)
u = Vector(O1, K)
list2 = Sequence((0.0, 0.0) - 0.5 * h * v + r * (cos(i * 5.0°) * u + sin(i * 5.0°) * w), i, 0.0, 72.0)
g = 1 (slider from -5 to 5, step 0.1)
k = 1 (slider from -5 to 5, step 0.1)
a = OrthogonalLine(Voir, yAxis)
b = OrthogonalLine(Voir, xAxis)
c: cos(ya)
e = Line(O1, G)
Z1 = Translate(N, u)
f = Conic(Element[list2, 1.0], Element[list2, 2.0], Element[list2, 4.0], Element[list2, 7.0], Element[list2, 11.0])
O = Midpoint(Element[list2, 1.0], Element[list2, m])
S: O + h * v
list1 = Sequence(Segment[S, Element[list2, i]], i, 1.0, 72.0)
poly1, d, i, n = Polygon(Element[list2, 1.0], Element[list2, m], S)
j = Segment(O, S)
list3 = Sequence(Segment[Element[list2, i], Element[list2, i + 6.0]], i, 1.0, 72.0)
l = Defined(f)
p = Conic(Element[list2, 1.0], Element[list2, 2.0], Element[list2, 4.0], Element[list2, 7.0], Element[list2, 11.0])
q = Segment(O, Element[list2, m / 2.0])
A_1 = Midpoint(q)
B = Midpoint(j)
r_O = 0.17 (slider from -5 to 5, step 0.01)
o = 0 (slider from 0 to 2, step 0.1)
A: O - o * v
LL1 = Sequence((x(A), y(A)) + r * (cos(0.0°) * cos(i * 30.0°) * u + sin(0.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, -5.0, 5.0, r_O)
LL2 = Sequence((x(A), y(A)) + r * (cos(30.0°) * cos(i * 30.0°) * u + sin(30.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, -5.0, 5.0, r_O)
LL3 = Sequence((x(A), y(A)) + r * (cos(60.0°) * cos(i * 30.0°) * u + sin(60.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, -5.0, 5.0, r_O)
LL4 = Sequence((x(A), y(A)) + r * (cos(120.0°) * cos(i * 30.0°) * u + sin(120.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, -5.0, 5.0, r_O)
LL5 = Sequence((x(A), y(A)) + r * (cos(240.0°) * cos(i * 30.0°) * u + sin(240.0°) * cos(i * 30.0°) * w + sin(i * 30.0°) * v), i, -5.0, 5.0, r_O)
liste1 = Sequence(Conic[Element[LL1, i], Element[LL2, i], Element[LL3, i], Element[LL4, i], Element[LL5, i]], i, 0.0, 30.0, r_O)