Carousel, explained · celworld

Carousel

.cel · 36 lines · 191 shapes · 8 joints · 7 spots · seed 1

Carousel is 25 shape lines that grow into 191 shapes, with 7 genes the seed draws, 2 motions on 2 joints and 7 spots where a scene can put people.

an original fairground carousel: a turning deck on a plinth, a striped centre drum, a ring of prancing horses on brass poles that rise and fall in turn, a scalloped striped canopy with a fringe of drops and bulbs, a spire and a pennant

seed

From the ground to each spot

Each part rides the one before it, so whoever sits at the end feels every motion at once.

Always on

L1

Carousel

asset
1asset carousel "Carousel" complexity=7

The asset line names the model carousel, titled Carousel. complexity=7 holds it to 200 shapes, 15,000 triangles and 5 draw calls; going past any of them is an error.

tier
c7
shapes cap
200
triangles cap
15,000
seed
1
L5

R

let
5let R = 2.1..2.5

A gene, R: a value drawn between 2.1 and 2.5 for every seed. This seed picked 2.325. Every line that reads R follows it.

this seed
2.325
draws
from the seed
L6

PH

let
6let PH = 2.1..2.4

A gene, PH: a value drawn between 2.1 and 2.4 for every seed. This seed picked 2.371. Every line that reads PH follows it.

this seed
2.371
draws
from the seed
L7

NH

let
7let NH = int(5..7.4)

A gene, NH: a whole number drawn from 5..7.4. This seed picked 7.

this seed
7
draws
from the seed
L8

stA

let
8let stA = cherry:3|cobalt|teal|grape|bottle

A gene, stA: a weighted pick from cherry (3 in 7), cobalt, teal, grape or bottle. This seed picked cherry.

this seed
cherry
draws
from the seed
L9

stB

let
9let stB = white:3|cream|sunflower

A gene, stB: a weighted pick from white (3 in 5), cream or sunflower. This seed picked cream.

this seed
cream
draws
from the seed
L10

deckC

let
10let deckC = cream:2|white|peach

A gene, deckC: a weighted pick from cream (2 in 4), white or peach. This seed picked cream.

this seed
cream
draws
from the seed
L11

metal

let
11let metal = brass:3|silver

A gene, metal: a weighted pick from brass (3 in 4) or silver. This seed picked silver.

this seed
silver
draws
from the seed
L14

plinth

cyl
14cyl plinth h=.16 r=R+.14 round=.04 color=warmstone segs=28 surface=stone

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It stands at the model's origin.

the plinth and the turning deck

h
0.16
r
2.465
round
0.04
color
warmstone
segs
28
surface
stone
L15

deck

cyl
15cyl deck on=plinth at=(0, .16, 0) h=.12 r=R round=.03 bands=[.55:deckC] color=stA segs=28 joint surface=planks

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides plinth, at (0, .16, 0) in its frame. It is a joint, and line 47 spins about Y: everything on it moves too.

h
0.12
r
2.325
round
0.03
bands
[.55:deckC]
color
cherry
segs
28
surface
planks
L16

drum

cyl
16cyl drum on=deck at=(0, .12, 0) h=PH r=.42 stripes=[stA stB] panels=8 color=stA segs=16

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides deck, at (0, .12, 0) in its frame.

h
2.371
r
0.42
stripes
cherry, cream
panels
8
color
cherry
segs
16
L17

drumcap

cyl
17cyl drumcap on=drum at=(0, PH*.82, 0) h=.08 r=.5 color=metal segs=16 surface=metal

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides drum, at (0, PH*.82, 0) in its frame.

h
0.08
r
0.5
color
silver
segs
16
surface
metal
L20

band

cyl
20cyl band on=drum at=(0, PH, 0) h=.34 r=R+.18 stripes=[stB stA] panels=2*NH*2 cap=stB color=stB segs=36

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides drum, at (0, PH, 0) in its frame.

the canopy: a striped band with drops and bulbs, a scalloped roof, a spire with a pennant

h
0.34
r
2.505
stripes
cream, cherry
panels
28
cap
cream
color
cream
segs
36
L21

drop

ball
21ball drop x=2*NH*2 on=band ring at=(R+.16, 0, 0) r=(.05, .13, R*.12) color=sel(i - 2*floor(i/2), stA, stB) segs=6 rings=4

A ball, an ellipsoid centred on the origin. It rides band, at (R+.16, 0, 0) in its frame. 28 copies spread evenly round band's Y axis.

copies
28
r
0.05, 0.13, 0.279
color
cherry
segs
6
rings
4
L22

bulb

ball
22ball bulb x=2*NH on=band ring ring0=180/(2*NH) at=(R+.19, .17, 0) r=.035 color=glow ink=glow segs=6 rings=4

A ball, an ellipsoid centred on the origin. It rides band, at (R+.19, .17, 0) in its frame. 14 copies spread evenly round band's Y axis. Its ink is glow: unlit, so it reads as a light.

copies
14
r
0.035, 0.035, 0.035
color
glow
ink
glow
segs
6
rings
4
L23

roof

cone
23cone roof on=band at=(0, .34, 0) h=1.1 r=R+.32 r2=.08 stripes=[stA stB] panels=2*NH*2 scallop=.07 color=stA segs=40 surface=fabric

A cone, a cone (or frustum with r2), base at the origin. It rides band, at (0, .34, 0) in its frame.

h
1.1
r
2.645
r2
0.08
stripes
cherry, cream
panels
28
scallop
0.07
color
cherry
segs
40
surface
fabric
L24

spire

cyl
24cyl spire on=roof at=(0, 1.05, 0) h=.32 r=.045 color=metal segs=8 surface=metal

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides roof, at (0, 1.05, 0) in its frame.

h
0.32
r
0.045
color
silver
segs
8
surface
metal
L25

knob

ball
25ball knob on=spire at=end r=.08 color=metal segs=10 rings=6 surface=metal

A ball, an ellipsoid centred on the origin. It sits at the end of spire.

r
0.08, 0.08, 0.08
color
silver
segs
10
rings
6
surface
metal
L26

pennant

slab
26slab pennant on=spire at=(.04, .14, 0) pts=[0,0 .5,.09 0,.18] t=.02 color=stB edge=stA surface=fabric

A slab, a flat outline (x,y points) with thickness in z and rounded rims: signs, sails, wings, fins, leaves. It rides spire, at (.04, .14, 0) in its frame.

pts
[0,0 .5,.09 0,.18]
t
0.02
color
cream
edge
cherry
surface
fabric
L29

pole

rod
29rod pole x=NH on=deck ring at=(R*.72, .12, 0) to=(0, PH, 0) r=.035 sides=8 color=metal surface=metal

A rod, a straight bar from the origin to to, flat ends: poles, legs, rails, spokes. It rides deck, at (R*.72, .12, 0) in its frame. 7 copies spread evenly round deck's Y axis.

the horses, one per pole

copies
7
to
0, 2.371, 0
r
0.035, 0.035
sides
8
color
silver
surface
metal
L30

horse

ball
30ball horse x=NH on=deck ring at=(R*.72, 1.05, 0) rot=(0, 180, 0) r=(.17, .2, .38) color=white:3|cream|sky|pink|lilac|mint|sunflower|walnut:.6 segs=14 rings=9 joint

A ball, an ellipsoid centred on the origin. It rides deck, at (R*.72, 1.05, 0) in its frame. 7 copies spread evenly round deck's Y axis. It is a joint, and line 48 bobs ±0.12 m: everything on it moves too.

copies
7
rot
(0, 180, 0)
r
0.17, 0.2, 0.38
color
lilac
segs
14
rings
9
L31

neck

limb
31limb neck on=horse at=(0, .48, .4) rot=(25, 0, 0) len=.38 r=(.075, .105) color=parent.color segs=8

A limb, a capsule hanging DOWN from the origin (a joint at the top): arms, legs, necks (rot to aim). It rides horse, at (0, .48, .4) in its frame. There is a set on each of the 7 horse copies, 7 in all.

copies
7
rot
(25, 0, 0)
len
0.38
r
0.075, 0.105
color
lilac
segs
8
L32

head

ball
32ball head on=horse at=(0, .52, .52) rot=(24, 0, 0) r=(.09, .1, .19) color=parent.color segs=12 rings=7

A ball, an ellipsoid centred on the origin. It rides horse, at (0, .52, .52) in its frame. There is a set on each of the 7 horse copies, 7 in all.

copies
7
rot
(24, 0, 0)
r
0.09, 0.1, 0.19
color
lilac
segs
12
rings
7
L33

look

face
33face look on=head eyes=dot mouth=none size=.24 spacing=62 eyeY=16 detail=.5

A face, a house face (unlit, never inked) on the parent surface: eyes, mouth, blush, brows. It rides head, at its origin. There is a set on each of the 7 head copies, 7 in all.

copies
7
eyes
dot
mouth
none
size
0.24
spacing
62
eyeY
16
detail
0.5
L34

ear

cone
34cone ear on=head at=(0, .08, -.08) mirror rot=(-12, 0, -14) h=.09 r=.035 color=parent.color segs=5

A cone, a cone (or frustum with r2), base at the origin. It rides head, at (0, .08, -.08) in its frame. 2 copies and a mirrored twin across the parent’s centre line. There is a set on each of the 7 head copies, 14 in all.

copies
14
rot
(-12, 0, -14)
h
0.09
r
0.035
color
lilac
segs
5
L35

mane

tube
35tube mane on=horse pts=[0,.62,.36 0,.48,.28 0,.33,.2 0,.2,.12] r=(.06, .045) smooth color=sel(parent.i, sunflower, cherry, cobalt, grape, lime, pink, teal, tangerine) sides=6 detail=.5

A tube, a round tube along points (in the part frame): handles, strings, tails, pipes. It rides horse, at its origin. There is a set on each of the 7 horse copies, 7 in all.

copies
7
pts
[0,.62,.36 0,.48,.28 0,.33,.2 0,.2,.12]
r
0.06, 0.045
smooth
yes
color
sunflower
sides
6
detail
0.5
L36

tail

tube
36tube tail on=horse at=(0, .08, -.36) pts=[0,0,0 0,-.02,-.14 0,-.2,-.24 0,-.34,-.22] r=(.06, .025) smooth color=sel(parent.i, sunflower, cherry, cobalt, grape, lime, pink, teal, tangerine) sides=6 detail=.5

A tube, a round tube along points (in the part frame): handles, strings, tails, pipes. It rides horse, at (0, .08, -.36) in its frame. There is a set on each of the 7 horse copies, 7 in all.

copies
7
pts
[0,0,0 0,-.02,-.14 0,-.2,-.24 0,-.34,-.22]
r
0.06, 0.025
smooth
yes
color
sunflower
sides
6
detail
0.5
L37

saddle

ball
37ball saddle on=horse at=(0, .12, -.03) r=(.2, .1, .17) half color=sel(parent.i, cobalt, teal, cherry, sunflower, grape, cherry, cobalt, teal) segs=12 rings=4

A ball, an ellipsoid centred on the origin. It rides horse, at (0, .12, -.03) in its frame. There is a set on each of the 7 horse copies, 7 in all.

copies
7
r
0.2, 0.1, 0.17
half
yes
color
cobalt
segs
12
rings
4
L38

fleg

rod
38rod fleg on=horse at=(.08, -.06, .24) mirror to=(0, -.18, .26) r=(.045, .035) sides=6 color=parent.color

A rod, a straight bar from the origin to to, flat ends: poles, legs, rails, spokes. It rides horse, at (.08, -.06, .24) in its frame. 2 copies and a mirrored twin across the parent’s centre line. There is a set on each of the 7 horse copies, 14 in all.

copies
14
to
0, −0.18, 0.26
r
0.045, 0.035
sides
6
color
lilac
L39

fshin

rod
39rod fshin on=fleg at=end to=(0, -.2, -.04) r=(.035, .03) sides=6 color=parent.color

A rod, a straight bar from the origin to to, flat ends: poles, legs, rails, spokes. It sits at the end of fleg. There is a set on each of the 14 fleg copies, 14 in all.

copies
14
to
0, −0.2, −0.04
r
0.035, 0.03
sides
6
color
lilac
L40

bleg

rod
40rod bleg on=horse at=(.08, -.1, -.24) mirror to=(0, -.38, -.16) r=(.05, .035) sides=6 color=parent.color

A rod, a straight bar from the origin to to, flat ends: poles, legs, rails, spokes. It rides horse, at (.08, -.1, -.24) in its frame. 2 copies and a mirrored twin across the parent’s centre line. There is a set on each of the 7 horse copies, 14 in all.

copies
14
to
0, −0.38, −0.16
r
0.05, 0.035
sides
6
color
lilac
L41

hoof

ball
41ball hoof on=fshin at=end r=.04 color=metal segs=5 rings=3 surface=metal

A ball, an ellipsoid centred on the origin. It sits at the end of fshin. There is a set on each of the 14 fshin copies, 14 in all.

copies
14
r
0.04, 0.04, 0.04
color
silver
segs
5
rings
3
surface
metal
L42

bhoof

ball
42ball bhoof on=bleg at=end r=.04 color=metal segs=5 rings=3 surface=metal

A ball, an ellipsoid centred on the origin. It sits at the end of bleg. There is a set on each of the 14 bleg copies, 14 in all.

copies
14
r
0.04, 0.04, 0.04
color
silver
segs
5
rings
3
surface
metal
L45

rider, saddle spot

spot
45spot rider on=horse at=(0, .2, -.04) use=saddle

No geometry: a saddle: a person sits astride, facing +Z, on horse, one per copy: 7 in all. A scene's ride <who> on <thing> or do <who> sit at <thing> line fills it. It moves with everything above it: deck (turns once every 20 s) and horse (bobs ±0.12 m once every 2.5 s). Each motion rides the one before, so a rider feels them all at once.

a rider astride every saddle, facing the head: they rise and fall with the horse

copies
7
use
saddle
L47

deck spins about Y

anim
47anim deck ry spin hz=.05

Spins deck round its Y axis once every 20 s (.05 Hz), forever. Everything on deck goes with it.

channel
ry
wave
spin
rate
.05 Hz
L48

horse bobs ±0.12 m

anim
48anim horse py sin amp=.12 hz=.4 stagger=.37

horse (all 7 copies) rises and falls by ±0.12 m, once every 2.5 s (.4 Hz). Each copy runs 0.37 of a cycle behind the one before, so they move in turn. Everything on horse goes with it.

channel
py
wave
sin
rate
.4 Hz
amount
±0.12 m
stagger
0.37