Home / Coracle

Coracle

A portable generative/art/sketch playground written in Kotlin


Drawings

3D

Oldschool Pseudo-3D Floating Spheres
Random Lines
Random Points
Supershape Point Cloud
Triangles and Projection
Normals, Culling, Lighting
Sphere Mesh (Wireframe)
Bad Sphere Mesh
Triangle Strip Sphere

Vectors/Particles

Avoid Closest
Falling Rain
Gravity
Orllewin Home
Self Organising
Self Organising (Variation)
Tadpoles

Perlin Noise + Vectors/Particles

Basic Tails
Perlin Noise Flow Field
Perlin Flow Field + Avoid Neighbours
Perlin Flow Field + Avoid Neighbours + Spatial Hash
Boids and Orbs
Perlin Flow Line
Perlin Flow Circle
Tails and Orbs

Circle Packing

Standard Circle Packing
Orllewin Circle Packing
Spatial Hash
Spatial Hash Circles
Spatial Hash Circles Reversed

Images

Note. this needs some work to make loading synchronous.
Image Loading
Image Pixels
Floyd Steinberg Dither

Basic

Hello Coracle
Shapes and Colours
Line
Bezier
Circle
Point
Line
Parametric Circle
Lissajous
Circle Contains
Oscillator
Bezier
Colour Lerp

Miscellaneous

Attractor
Colonoscopy
Tunnel
Filaments
Tunnel
Snow (No random)
Snowflakes
Mandlebrot
Hexagrams
Growth
Game of Life
CatmulRom
Dionysian Sphere
Quadtree
Dot Matrix
RAD Image Creator
RAD Image Convertor

Interactive

Hello Interactive
Constrain
Move Object


Platforms

All development is done in Jetbrains IDEA, clone the Coracle repository and open the web or Android project.

Drawing Structure

Coracle uses the same basic sketch pattern as Processing, you initialise state in setup(), then mutate values and update the screen in draw()

class MyDrawing: Drawing() {
    
  override fun setup() {
    //Setup state
  }

  override fun draw() {
    //Draw in the main draw loop
  }
}
  

License

You probably don't want to use this, it was an itch I needed to scratch and there will be no support whatsoever.

I've not decided on a license yet, but if you think it was okay for the FSF to readmit Richard Stallman you can't use it.