Skip to content
No results
  • ABOUT JACOB
  • CODE
    • artieMAX
    • BEETLE BLOCKS
    • MAKECODE
      • ADAFRUIT
    • MICROBLOCKS
    • OPEN PROCESSING
    • P5
    • PROCESSING
    • SNAP
    • TRINKETS
    • TURTLESTICH
  • CREATIVE CODE by Jacob Tekiela
  • CREATIVE CODE by Jacob Tekiela
  • Culturally Situated Design Tools
  • FLORA PROJECT
    • GENERATION 1
      • 01 SIMPLE
      • THE FLORA V1 VIDEO
    • GENERATION 2
    • JAKE LANGELAND JULY 2026
  • GEN1 PDF
  • koptic ceremonial crosses
  • landing
  • LASSO SELECT
  • LOGO books
    • advanced logo
    • learning mathematics and logo
    • turtle geometry
    • visual modelling with logo
      • 01 – INTRODUCTION
  • LOGO online
  • no 4 – japanese bowl
  • no 5 – pillow
  • PATTERN
  • SNAP CHALLENGES
    • no 1 – 1977
    • no 2 – morrocan tile
    • no 3 – juniper illustration
  • SNAP INTRO
  • Tag Intersection
  • test
  • twitter
CREATIVE CODE! by tekiela
  • SNAP INTRO
  • LOGO books
  • SNAP CHALLENGES
  • TAG INTERSECTION
  • ABOUT JACOB
CREATIVE CODE! by tekiela

Visual Modeling with LOGO

A Structural Approach to Seeing

James Clayson

The MIT Press (June 20, 1988)

CHAPTER 1 – Introduction
CHAPTER 1 – Introduction
CHAPTER 2 – Visual Modeling
CHAPTER 3 – Visual Discovery
CHAPTER 4 – Circular Grids
CHAPTER 5 – Rectangular and Random Grids
CHAPTER 6 – Islamic Designs
CHAPTER 7 – Organic Designs
CHAPTER 8 – Space
CHAPTER 9 – Closure

  • 00START

    00
    START

    the START block saving time – every time

  • 05SPINGON recursive

    05
    SPINGON recursive

    wrapping a NGON in a recursive loopage

  • 11 BOX

    11
    BOX

    developing the box block

  • 11BOX random position

    11
    BOX random position

    moving BOX to 25 random positions

  • 12 wrappedbox

    12 wrappedbox

  • 122INGONS

    122
    INGONS

    polys incribed in other polys

  • 124SQUARE.GON

    124
    SQUARE.GON

    POLY version of the SQUARE

  • 124SQUARES

    124
    SQUARES

    recursive square grid

  • 125SQ.EXPLORE

    125
    SQ.EXPLORE

    “explore” with 4 levels of recursion

  • 126CROSS

    126
    CROSS

    subcontractor to squares.x

  • 127SQUARES.X

    127
    SQUARES.X

  • 127SQUARES.X

    127
    SQUARES.X

    4- and 12 gon

  • 127TIPGON

    127
    TIPGON

    offset and rotated POLYs

  • 128mason marks

    128
    mason marks

    9 beautiful mason marks

  • 128mason marks scalable

    128
    mason marks scalable

    adaptable size

  • 128triangle cross

    128
    triangle cross

  • 129TIPGON

    129
    TIPGON

    TIPGON offsets/totates the GON and returns – boomerang style

  • 13BOX input

    13
    BOX input

    giving BOX an input makes it much more flexible

  • 130BASE STAR

    130
    BASE STAR

    2 CNGON triangles form the base

  • 131 STRIPES

    131
    STRIPES

    subdividing a star with “STRIPES”

  • 131STRIPES

    131
    STRIPES

  • 131STRIPES 45″

    131
    STRIPES 45″

    rotating another 45 degress changes the look

  • 131STRIPES x 2

    131
    STRIPES x 2

    2 sets of stripes fills it up

  • 132MARK.13

    132
    MARK.13

  • 132MARK.16

    132
    MARK.16

  • 134explore

    134
    explore

  • 135SPIDERWEB

    135
    SPIDERWEB

  • 140 STAREDGE

    140 STAREDGE

    using double the angle create a kink unless tangle=0

  • 140STARGON

    140
    STARGON

    0.5 notch gives a star 0 generates no kink

  • 141 STARGON penta

    141 STARGON penta

    full kink using minus to plus values

  • 142STARGON starfish

    142
    STARGON starfish

    >1 notch inverts the kink 1 notch adds staight lines

  • 143 STARGON  3

    143 STARGON 3

    repetitions create surpricing shapes

  • 147FRACTALONS

    147
    FRACTALONS

    fractal using recursion

  • 151NEPHROID

    151
    NEPHROID

    127 TIPGON version

  • 152 STAR.NEPHROID

    152 STAR.NEPHROID

    2-poly (line) used for TIP.STARGON

  • 152 STAR.NEPHROID

    152 STAR.NEPHROID

    KINK 0.95 makes STARGON very pointy

  • 152 STAR.NEPHROID

    152 STAR.NEPHROID

    0.95 kink but even N makes it symmetrical

  • 152 STAR.NEPRHOID

    152 STAR.NEPRHOID

  • 152 TIP. STARGON

    152 TIP. STARGON

    in this case shown without the “rott” rotation

  • 161randomgrid

    161
    randomgrid

  • 162 ZIPM

    162 ZIPM

  • 166GIVE.PT

    166
    GIVE.PT

    putting user input into the POINT global

  • 168GO.PT

    168
    GO.PT

    Using the user-input to jump

  • 17NGON

    17
    NGON

    polygon generator via the NGON block

  • 174 FLAG c-shape

    174
    FLAG c-shape

    using a C-shape inpout to make things more clear

  • 174FLAG global

    174
    FLAG global

    creating a global grid

  • 174FLAG local

    174
    FLAG local

    using local x-y values to place grid

  • 174FLAG push&pop

    174
    FLAG push&pop

    FLAG using push pop

  • 177TEEPEE

    177
    TEEPEE

    test shape that is NOT state-transparent

  • 178 RECORD.POS aka PUSH&POP

    178 RECORD.POS aka PUSH&POP

    store and recall the position & direction

  • 180LAY SPIRAL

    180
    LAY SPIRAL

    repeating the quirky spiral 4 times

  • 181MAYAN GRID1

    181
    MAYAN GRID1

    simple complex recursive spirals

  • 186GO.RANDOM.SCREEN

    186
    GO.RANDOM.SCREEN

    do random jump all over the screen

  • 187RANDOM PLACER c-shape

    187
    RANDOM PLACER c-shape

    recursive random placer with C-shape block

  • 188RANDOM PLACER list

    188
    RANDOM PLACER list

    using lists as presets for the random placer

  • 190BOX from list

    190
    BOX from list

    visual representation of selected area

  • 191 RANDOM.PLACER.X

    191 RANDOM.PLACER.X

    placing elements within a restriction

  • 197 RANDOM.PLACER.X x2

    197 RANDOM.PLACER.X x2

    2 areas are good for generating focus and contrast

  • 201M:BOX

    201
    M:BOX

    Mondrian-inspired random boxes on the FLAG grid

  • 203P.GET

    203
    P.GET

    setting limits for probabilty outcomes

  • 210TRI MOTIFs

    210
    TRI MOTIFs

    3 randomized motifs on a FLAG grid with equal probability

  • 23 SQUIGGLE

    23 SQUIGGLE

  • 237 ROT list

    237 ROT list

    reporter-trick to rotate a list

  • 238 RIFLAG

    238 RIFLAG

    Recursive Indented FLAG – quite a puzzle

  • 238RIFLAG indented

    238
    RIFLAG indented

    RIFLAG with list to control indentation!!

  • 238ROWER

    238
    ROWER

    a little block to draw motifs in rows

  • 239CSTEP

    239
    CSTEP

    pen up! turn – step – turn back – pen down

  • 239IRSTEP

    239
    IRSTEP

    allowing Row Steppage with indentation

  • 243PIP build

    243
    PIP build

    bulding the PIP pattern: ARM BARS PIP

  • 243PIP dissect

    243
    PIP dissect

    Breaking the PIP into smaller units

  • 243PIP intro

    243
    PIP intro

    introducing the islamic pattern PIP

  • 244NEST

    244
    NEST

    Calculating the triangular grid

  • 251TP

    251
    TP

    building the TP shape

  • 253TPGON

    253
    TPGON

    state transparent TP spun 6 times: TPGON

  • 257TP RIFLAG

    257
    TP RIFLAG

    making the TPGON fit in the grid with some clever calculations

  • 259SAW

    259
    SAW

    the basic SAW-motif definition

  • 260SAWGON

    260
    SAWGON

    spinning and offsetting 6 SAWs to form a SAWGON

  • 261SAW RIFLAG

    261
    SAW RIFLAG

    putting SAW on the RIFLAG grid 12121

  • 269RING RIFLAG

    269
    RING RIFLAG

  • 269RINGS

    269
    RINGS

    4 WINGs become a RING

  • 269WING

    269
    WING

    prerequisite for the lattice grid

  • 287BRANCH

    287
    BRANCH

    the initial branching structure

  • 288S.TREE

    288
    S.TREE

    a Simple TREE – recursive style

  • 292M.TREE

    292
    M.TREE

    7 arguments: Multiply branch-count and vary the Branch Tilt!

  • 294FRUIT

    294
    FRUIT

    Multiply branched Fruiting TREE

  • 294MF.TREE

    294
    MF.TREE

    Multiply branched Fruiting TREE

  • 295FRUIT.LIST.TREE

    295
    FRUIT.LIST.TREE

    non-random elements create a more rigid look

  • 30 CNGON

    30 CNGON

    start with a radius – edgelength and angle is calculated version 1

  • 300SEED

    300
    SEED

    somewhat chaotic process generates pleasant surprices

  • 306RAND.TREE

    306
    RAND.TREE

    adding randomization to the TREE

  • 306RAND.TREE flower

    306
    RAND.TREE flower

    random flowers on a random tree

  • 31 malevich

    31 malevich

  • 32 3 x MULTIGON

    32 3 x MULTIGON

  • 33 CNGON nested

    33 CNGON nested

    polygons within polygons

  • 33 pre-recurse

    33 pre-recurse

  • 33 starlike

    33 starlike

    jammin with some arrows

  • 344E.BOX

    344
    E.BOX

    an assembled Escher Box: 3 x SHADE

  • 344SHADE

    344
    SHADE

    a third of the “cube” tilted 360/3 degrees

  • 345SHADED.DEMO

    345
    SHADED.DEMO

    E.BOX put on the RIFLAG grid 232

Topics

7 frieze groups 12-pointed star 17 wallpaper groups ADD.POINT african fractals arc ARC_R ARM ashanoha BAR base-shape BLACK.BOX BONUS BOX C-SHAPE challenge CHAMBER CIRCLE CNGON CON FACCIA CRECT CROSS CSDT CSTEP direction DOUBLEPOLY downloadable script DUOPOLY E.BOX embed explainer explore fibonacci fingers FLAG FLOWER FRUIT G.MARK gen1 GLIDE global GO.PT GO.RANDOM.SCREEN grid HALFTURN helper HOUSE INGON IRSTEP islamic jake jake-a-torial javascript jens mönig joachim wedekind LAY LAY.HEX.TILES LAY.TR.TILES LCM library list livecoding looping mason mark MF.TREE mirror modulo moiré MOTIF NGON NHEDRON non-recursive organic PENTASTAR PERPENDICULAR pillow PIP POLY POLYSTEP POLYSTOP push&pop python RAND.TREE random RANDOM.PLACER RANDOM.PLACER.X RECGON RECORD.POS RECTANGLE recursion REFLECT repeat repeat until reporter RESTORE.POS RIFLAG RING Ron Eglash ROT rotate list rotation ROTT ROWER rule substitution SAW SAWGON sc SCISSOR script variables SHADE SHADED.RIFLAG snap! snap! manual SPIN SPIN.CONGON SPINTIMES spiral SPIRAL.GROWTH spirolateral SQUARE SQUAREPIECE SQUARES SQUARES.X star STAR.NEPHROID STAREDGE STARGON START state-transparent STRIPES supersigns switch tesselation tg theory THING TIP.STARGON TIPGON TOTAL.TURNING TP TPGON transformation TREE TRIANGLE unoptimized VECTOR vee WING youtube ZIGZAG