Town fountain, explained · celworld

Town fountain

.cel · 18 lines · 12 shapes · seed 1

Town fountain is 9 shape lines that grow into 12 shapes, with 4 genes the seed draws.

a plaza fountain: a round basin with a fat rim, a column carrying an upper bowl, a brass nozzle shooting a jet that falls back into the bowl, four spouts arcing water into the basin; the burst state throws a tall jet for a festival or a coin toss

seed
L1

Town fountain

asset
1asset fountain "Town fountain" complexity=6

The asset line names the model fountain, titled Town fountain. complexity=6 holds it to 140 shapes, 10,000 triangles and 5 draw calls; going past any of them is an error.

tier
c6
shapes cap
140
triangles cap
10,000
seed
1
L5

R

let
5let R = 1.05..1.3

A gene, R: a value drawn between 1.05 and 1.3 for every seed. This seed picked 1.109. Every line that reads R follows it.

this seed
1.109
draws
from the seed
L6

stone

let
6let stone = sandstone:3|warmstone:2|greystone|terracotta:.5

A gene, stone: a weighted pick from sandstone (3 in 6.5), warmstone (2 in 6.5), greystone or terracotta (0.5 in 6.5). This seed picked sandstone.

this seed
sandstone
draws
from the seed
L7

metal

let
7let metal = brass:3|copper

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

this seed
copper
draws
from the seed
L8

H

let
8let H = .7..0.85

A gene, H: a value drawn between 0.7 and 0.85 for every seed. This seed picked 0.823. Every line that reads H follows it.

this seed
0.823
draws
from the seed
L11

plinth

cyl
11cyl plinth h=.3 r=R+.06 round=.06 color=stone segs=32

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

basin: a low floor, the water and the fat rim round it

h
0.3
r
1.169
round
0.06
color
sandstone
segs
32
L12

water

cyl
12cyl water on=plinth at=top h=.03 r=R-.04 color=water segs=32

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It sits at the top of plinth.

h
0.03
r
1.069
color
water
segs
32
L13

rim

torus
13torus rim on=plinth at=top+(0, .04, 0) R=R r=.14 color=stone*1.04 segs=40 sides=10

A torus, a ring lying flat (round Y), centred: rims, hoops, belts, lifebuoys (rot to stand it up). It sits at the top of plinth, nudged by an offset.

R
1.109
r
0.14
color
kerb
segs
40
sides
10
L16

column

lathe
16lathe column on=plinth at=top h=H r=.15 prof=[0:1.5 .12:1.1 .2:1 .8:.9 .9:1.2 1:1.3] color=stone segs=16

A lathe, a profile spun round Y: pots, bodies, columns, domes, bells (base at the origin). It sits at the top of plinth.

the column and the upper bowl

h
0.823
r
0.15
prof
[0:1.5 .12:1.1 .2:1 .8:.9 .9:1.2 1:1.3]
color
sandstone
segs
16
L17

bowl

lathe
17lathe bowl on=column at=end h=.2 r=.46 prof=[0:.3 .5:.85 1:1] color=stone segs=24

A lathe, a profile spun round Y: pots, bodies, columns, domes, bells (base at the origin). It sits at the end of column.

h
0.2
r
0.46
prof
[0:.3 .5:.85 1:1]
color
sandstone
segs
24
L18

pool

cyl
18cyl pool on=bowl at=top h=.025 r=.42 color=water segs=24

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It sits at the top of bowl.

h
0.025
r
0.42
color
water
segs
24
L19

lip

torus
19torus lip on=bowl at=top+(0, .02, 0) R=.44 r=.045 color=stone*1.04 segs=32 sides=8

A torus, a ring lying flat (round Y), centred: rims, hoops, belts, lifebuoys (rot to stand it up). It sits at the top of bowl, nudged by an offset.

R
0.44
r
0.045
color
kerb
segs
32
sides
8
L20

nozzle

lathe
20lathe nozzle on=bowl at=top h=.24 r=.05 prof=[0:1.8 .3:1 .8:.8 1:1.1] color=metal segs=10

A lathe, a profile spun round Y: pots, bodies, columns, domes, bells (base at the origin). It sits at the top of bowl.

h
0.24
r
0.05
prof
[0:1.8 .3:1 .8:.8 1:1.1]
color
copper
segs
10
L23

spout

cyl
23cyl spout x4 on=bowl ring ring0=45 at=(.4, .1, 0) rot=(0, 0, -70) h=.14 r=.035 r2=.028 color=metal segs=8

A cyl, a cylinder (or tapered drum) with rounded edges, base at the origin. It rides bowl, at (.4, .1, 0) in its frame. 4 copies spread evenly round bowl's Y axis.

four spouts on the bowl, pointing out and a little up

copies
4
rot
(0, 0, -70)
h
0.14
r
0.035
r2
0.028
color
copper
segs
8
L26

jet on nozzle

fx
26fx jet on=nozzle at=end speed=2.6 spread=7 hz=1.85 n=20 grow=.6

A jet emitter: a fountain jet: a steady arc of water blobs (aim dir, set speed for the height). It rides nozzle at its [object Object]. The particles are cel shapes, not sprites, moved by the seed and the clock.

water

alive at once
20
lifetime
0.5 s
speed
2.6 m/s
colour
waterLight
L27

splash on pool

fx
27fx splash on=pool at=top hz=1.6 speed=.9 spread=60 n=10

A splash emitter: droplets bursting up and out where water lands. It rides pool at its [object Object]. The particles are cel shapes, not sprites, moved by the seed and the clock.

alive at once
10
lifetime
0.6 s
speed
0.9 m/s
colour
foam
L28

jet on spout

fx
28fx jet on=spout at=end speed=1.25 spread=3 hz=2.1 n=15 size=.05

A jet emitter: a fountain jet: a steady arc of water blobs (aim dir, set speed for the height). It rides spout at its [object Object], one per copy (4). The particles are cel shapes, not sprites, moved by the seed and the clock.

emitters
4
alive at once
15
lifetime
0.5 s
speed
1.25 m/s
colour
waterLight
L29

jet on nozzle

fx
29fx burst: jet on=nozzle at=end speed=4.6 spread=5 hz=1.05 n=26 size=.07

A jet emitter: a fountain jet: a steady arc of water blobs (aim dir, set speed for the height). It rides nozzle at its [object Object], only while the model is in the burst state. The particles are cel shapes, not sprites, moved by the seed and the clock.

alive at once
26
lifetime
1 s
speed
4.6 m/s
colour
waterLight