Alchemy Islands : Patterning Tutorial

There are three recommended ways to play with Patterning today:

The first is the easiest way to play with Patterning and to start making patterns. The second is useful if you want to publish a site containing those patterns. And the third is the most flexible but is most likely to be used by people who are already familiar with Clojure programming and projects.

Clojure programmers should note that the various functions in Patterning come from a number of namespaces. In both RoseEngine and Cardigan Bay you are, in fact, using the Small Clojure Interpreter and a subset of Patterning functions has already been made available within the namespace. You don't have to worry about where these functions come from.

If you are writing your own software you'll need to know where to find different functions.

For example ...



(:require [patterning.maths :as maths :refer [PI]]
          [patterning.sshapes
             :refer [->SShape to-triangles ]
             :as sshapes]
          [patterning.strings :as strings]
          [patterning.groups :as groups]
          [patterning.layouts
             :refer [framed clock-rotate stack grid-layout diamond-layout
                     four-mirror four-round nested-stack checked-layout
                     half-drop-grid-layout random-turn-groups h-mirror ring
                     sshape-as-layout]]
          [patterning.library.std
             :refer [poly star nangle spiral diamond
                     horizontal-line square drunk-line]]
          [patterning.library.turtle :refer [basic-turtle]]
          [patterning.library.l_systems :refer [l-system]]
          [patterning.library.complex_elements :refer [vase zig-zag]]
          [patterning.view :refer [make-txpt make-svg]]
          [patterning.color :refer [p-color remove-transparency] ]
          [patterning.examples.framedplant :as framedplant]
          [patterning.examples.design_language1 :as design-language]
          [patterning.library.symbols :as symbols]
          [patterning.library.complex_elements 
             :refer [petal-pair-group petal-group]]
          [patterning.api :refer :all]
          [clojure.spec.alpha :as s]
)