Plantilla 3D
Author: Rafael Losada Liste

Conchas: Nautilus

v10 = 0
p = 3.141592653589793
v20: 2.0 * p
Q4 = (-2.22, 8)
Q3 = (-4.22, 8)
p2 = Segment(Q3, Q4)
P3 = Point(p2)
q3: (x(P3) + 4.22) * 5.0
v1: v10 + q3 * (v20 - v10) / 10.0
p4 = Segment(P3, Q4)
P4 = Point(p4)
q4: (x(P4) + 4.22) * 5.0
v2: v10 + q4 * (v20 - v10) / 10.0
Q2 = (-5.22, 8)
Q1 = (-7.22, 8)
p1 = Segment(Q1, Q2)
P1 = Point(p1)
q1: (x(P1) + 7.22) * 5.0
p3 = Segment(P1, Q2)
P2 = Point(p3)
q2: (x(P2) + 7.22) * 5.0
nada = 0
max = 1 (slider from -1 to 1, step 0.01)
u20: max + nada
min = -20 (slider from -50 to -1, step 1)
u10: min + nada
u2: u10 + q2 * (u20 - u10) / 10.0
u1: u10 + q1 * (u20 - u10) / 10.0
f = 0.18 (slider from 0.05 to 2.5, step 0.01)
e = 0 (slider from 0 to 5, step 0.5)
d = 1 (slider from 0.75 to 3.5, step 0.05)
c = 1 (slider from 1 to 3, step 0.5)
b = 0.6 (slider from 0.25 to 2.75, step 0.05)
a = 1 (slider from 0.25 to 2.75, step 0.05)
r = 3.2999999999999994 (slider from 0 to 6, step 0.1)
C = (-6, 7)
zz1 = OrthogonalLine(C, yAxis)
zz0 = Circle(C, 0.62)
ZZ1 = Intersect(zz0, zz1, 1.0)
ZZ2 = Intersect(zz0, zz1, 2.0)
zElipse1 = Ellipse(ZZ1, ZZ2, 0.65)
ZZ5, ZZ6 = Intersect(zElipse1, zz1)
XY = Point(zElipse1)
β = Angle(ZZ6, C, XY)
zz2 = OrthogonalLine(C, xAxis)
ZZ3 = Intersect(zz0, zz2, 2.0)
ZZ4 = Intersect(zz0, zz2, 1.0)
zElipse2 = Ellipse(ZZ3, ZZ4, 0.65)
ZZ7, ZZ8 = Intersect(zElipse2, zz2)
Z = Point(zElipse2)
α = Angle(ZZ8, C, Z)
Q5 = (-1.22, 8)
Q6 = (-0.22, 8)
p5 = Segment(Q5, Q6)
P5 = Point(p5)
q5: x(P5) + 1.72
paso: 0.16 / q5
β_1 = -5.880000000000003 (slider from -20 to 1, step 0.01)
α_1 = 1.8849555921538759 rad (slider from 0 to 3.141592653589793, step 0.0017453292519943296)
zz4 = Segment(ZZ5, ZZ6)
zz3 = Segment(ZZ7, ZZ8)
zPunto1 = Intersect(zElipse2, zElipse1, 1.0)
zPunto2 = Intersect(zElipse2, zElipse1, 4.0)
zSeg2 = Segment(zPunto1, zPunto2)
curva2 = CurveCartesian(r * (exp(f * u) * (d + a * cos(α_1)) * cos(c * u) * sin(β) + exp(f * u) * (d + a * cos(α_1)) * sin(c * u) * cos(β)), r * (-1.0 * exp(f * u) * (d + a * cos(α_1)) * cos(c * u) * cos(β) * sin(α) + exp(f * u) * (d + a * cos(α_1)) * sin(c * u) * sin(β) * sin(α) + exp(f * u) * (-1.0 * 1.4 * e + b * sin(α_1)) * cos(α)), u, u1, u2)
A = (-4, 7)
a1 = CurveCartesian(r * (exp(f * β_1) * (d + a * cos(v)) * cos(c * β_1) * sin(β) + exp(f * β_1) * (d + a * cos(v)) * sin(c * β_1) * cos(β)), r * (-1.0 * exp(f * β_1) * (d + a * cos(v)) * cos(c * β_1) * cos(β) * sin(α) + exp(f * β_1) * (d + a * cos(v)) * sin(c * β_1) * sin(β) * sin(α) + exp(f * β_1) * (-1.0 * 1.4 * e + b * sin(v)) * cos(α)), v, v1, v2)
curva1 = CurveCartesian(r * (exp(f * max) * (d + a * cos(v)) * cos(c * max) * sin(β) + exp(f * max) * (d + a * cos(v)) * sin(c * max) * cos(β)), r * (-1.0 * exp(f * max) * (d + a * cos(v)) * cos(c * max) * cos(β) * sin(α) + exp(f * max) * (d + a * cos(v)) * sin(c * max) * sin(β) * sin(α) + exp(f * max) * (-1.0 * 1.4 * e + b * sin(v)) * cos(α)), v, v1, v2)
A1: curva1(α_1)
A2: curva1(α_1)
A3: curva1(α_1)
A4: curva1(α_1)
A5: curva1(α_1)
A6: curva1(α_1)
list2 = Sequence(CurveCartesian[r * (exp(f * u) * (d + a * cos(v)) * cos(c * u) * sin(β) + exp(f * u) * (d + a * cos(v)) * sin(c * u) * cos(β)), r * (-1.0 * exp(f * u) * (d + a * cos(v)) * cos(c * u) * cos(β) * sin(α) + exp(f * u) * (d + a * cos(v)) * sin(c * u) * sin(β) * sin(α) + exp(f * u) * (-1.0 * 1.4 * e + b * sin(v)) * cos(α)), v, v1, v2], u, u1, u2, paso)
list1 = Sequence(CurveCartesian[r * (exp(f * u) * (d + a * cos(v)) * cos(c * u) * sin(β) + exp(f * u) * (d + a * cos(v)) * sin(c * u) * cos(β)), r * (-1.0 * exp(f * u) * (d + a * cos(v)) * cos(c * u) * cos(β) * sin(α) + exp(f * u) * (d + a * cos(v)) * sin(c * u) * sin(β) * sin(α) + exp(f * u) * (-1.0 * 1.4 * e + b * sin(v)) * cos(α)), u, u1, u2], v, v1, v2, paso)