Filters, Growth & Lindenmayer-Systems

Duane A. Bailey
© Bill Amend
Outline of this class (resources are below)
  1. Convolution: the controlled mixing of data to serve a purpose.
    1. An Excel example.
    2. Notions borrowed from analysis of frequency-based signals.
    3. Concept: JPEG encodes images using frequency-based encoding; it's a "lossy" encodoing.
    4. Filters: low-pass, high-pass, and band-filters.
    5. Bluring. Accentuating low-pass filter.
    6. Edge-detection. High-pass filter.
    7. Sharpening. Enhancing edges, attenuating low-frequency components of the image.
  2. GRAMMATICAL SYSTEMS: We recall phrase grammar systems.
    1. Traditional "phrase" grammars (Chomsky).
      1. Terminology: terminal and non-terminal symbols, start symbol, production, derivation, word, language, acceptance.
      2. Example: a simple English grammar
        1. Nonterminals: upper case letters
        2. Terminals: lower case words
        3. Start symbol: T.
        4. Grammar:
          1. T → S V O stop
          2. S → D N
          3. V → hugged | ate | chased | kissed | is
          4. O → D N
          5. O → D N C V O
          6. C → that | comma which | comma but | and
          7. D → a | the
          8. N → cat | dog | prince | frog | princess
        5. Some possible derivations:
          1. T ⇒ the dog chased the cat stop
          2. T ⇒ the cat hugged the dog stop
          3. T ⇒ the frog kissed the princess that is a cat stop
          4. T ⇒ a dog is a dog comma which is a prince that ate a cat stop
    2. Parallel string grammars are simply what happens when we rewrite everything in parallel. Recall our simple example when studying Turing machines:
      1. Nonterminals: upper case letters
      2. Start symbol: A
      3. Grammar:
        1. A → B
        2. B → BA
      4. First few words:
        Generation Word #A #B
        0 A 1 0
        1 B 0 1
        2 BA 1 1
        3 BAB 1 2
        4 BABBA 2 3
        5 BABBABAB 3 5
        6 BABBABABBABBA 5 8
        7 BABBABABBABBABABBABAB 8 13
        8 BABBABABBABBABABBABABBABBABABBABBA 13 21
      5. Note the patterns.
    3. Notion of a "turtle-based" drawing system. Logo? An experimental applet
      1. "F" means "go forward".
      2. "-" means "turn left" by a specified amount.
      3. "+" means "turn right" by a specified amount.
      4. "[" means "remember position and orientation".
      5. "]" means "restore position and orientation".
    4. Use L-system to generate turtle commands. Basis for simple, stylized plants.
    5. Some exercises to think about (some in lab):
      1. Draw an oriented line.
      2. Draw a triangle.
      3. Draw a square.
      4. Draw like Spirograph! How?
      5. Draw a simple snowflake.
      6. Can you draw a binary tree without intersecting branches?
      7. Draw a simple tree.
      8. Draw a more complex tree.
      9. Draw an aperiodic comb.
      10. Draw a fractal snowflake.
      11. What do we get with the following grammar:
        1. Start: FX
        2. All turns 90 degrees.
        3. X → X+YF+
        4. Y → -FX-Y
    6. Fractal dimension: log(self-similar pieces)/log(magnification).
    Resources needed for this class: For next lecture: These items require Acrobat Reader.