Animation from 3D GGB app
Animation from 3d GGB App
GGB Forum: This question
GGB script
# Stuff for animation and controls
top = Slider(0, 10, 1, 1, 200, false, true, false, false)
SetValue(top, 4)
k = Slider(0, top, 0.01, 1, 200, false, true, false, false)
sl = Sequence(Max(0, Min(1, k - s)), s, 0, top-1)
sc = Sequence(0 < sl(s) < 1, s, 1, top)
sc' = Sequence(0 < sl(s) <= 1, s, 1, top)
map(v, x, y, z, w) = z + (v - x) * (w- z) / (y - x)
# Surfaces
R = 3
r = map(sl(1), 0, 1, 3, 1.8)
# Torus components
fx(u, v) = cos(u) * (r/ 2 * cos(v) + R)
fy(u, v) = sin(u) * (r/ 2 * cos(v) + R)
fz(u, v) = r/ 2 * sin(v)
loop1 = map(sl(3), 0, 1, 0, 2*pi)
loop2 = map(sl(4), 0, 1, 0, 2*pi)
# We just need to modify last component to get a spring
obj1 = Surface(fx(u, v), fy(u, v), fz(u,v), u, 0, 2pi, v, 0, 2pi)
obj2 = Surface(fx(u, v), fy(u, v), fz(u,v) + 2*sl(2) * u / pi, u, 0, 2pi, v, 0, 2pi)
obj3 = Surface(fx(u, v), fy(u, v), fz(u,v) + 2 * u / pi, u, 2*pi, 2pi + loop1, v, 0, 2pi)
obj4 = Surface(fx(u, v), fy(u, v), fz(u,v) + 2 * u / pi, u, 4*pi, 4pi + loop2, v, 0, 2pi)
SetConditionToShowObject(obj1, k<1)
SetConditionToShowObject(obj2, 1<=k<4)
If you like my work, you can support me in Patreon:
https://www.patreon.com/jcponce
Thanks!