Differential Growth Design Pattern

  • Role: 3D Graphic Developer (Team of 1)
  • Duration: 1 semester/16 weeks
  • Tools: Kons-9, Lisp, GNU eMacs
  • Responsibilities: Researched differential growth pattern algorithms, created unique differential growth pattern algorithm with Lisp.

  • Overview

    This project explores procedural graphics by implementing a differential growth algorithm in Kons-9. The goal was to create an abstract graphic inspired by Jason Webb’s “Experiment 02 - A Simple Shape” from “Exploring 2D differential growth with JavaScript” within a 3D environment. Because Kons-9 uses Lisp and a different framework than JavaScript, understanding the algorithm’s core concepts was crucial in order to create the differential growth rather than using Webb’s coding as a baseline.

    Although the final implementation does not exactly match the original experiment, it sucessfully generates an array of abstract, symmetric forms.

    Project Goals

    Development Process

    The project involved researching the original JavaScript implementation, understanding the mathematical principles behind differential growth, and adapting those concepts to Kons-9.

    Since the two environments differ significantly, several aspects of the algorithm had to be redesigned rather than translated directly. Through experimentation with growth behavior, spacing, and geometric constraints, the implementation evolved into a procedural system capable of producing a range of abstract shapes.

    Challenges

    The biggest challenges was translating a complex algorithm from JavaScript into Lisp. The differences in language syntax, programming paradigms, and graphics libraries made it difficult to recreate the original implementation. Instead of abandoning the project, I iteratively refined the algorithm until it produced visually interesting procedural forms.

    View a video demo of the growth algorithm.