CS1335 Java and Processing
  • CS 1335 Computer Science 1
  • Getting Started
    • Processing IDE
    • Java vs Javascript
    • Review: Processing, Functions
    • HSB Color Mode
      • HSB Color Wheel
        • Example Code
      • HSB Color Palette Tool
    • Recursion
      • Recursion Call-Stack
      • Example Code
        • Example Code Feb 5 S20
        • Feb 12 Code
  • Project 1
    • Subjective Modeling of Emotions
    • Emotions represented using color, form, space
      • Kandinsky Color - Emotion
      • Emotional Intelligence
    • Project 1: PShapes
      • Example Code
      • Inspiration
    • PShape with Cutout - Inner Contour
    • VertexShape - Recursion
    • Project 1: Recursive Drawing
    • Project 1: Programmatic Variations in Color
      • Recursion with rotate, scale
      • Plan Region Size, Color
    • Map Function
    • Transforms for Mirroring
    • Project1-Steps
  • Grid Based Designs
    • Computational Design
      • Generative Design
    • Artist: Victor Vasarely
    • Grid Pattern Design
    • 1D - Array of PShapes for Grid Layout
      • Truchet Tiling
      • Example Code
    • PShapes in Grid Regions
    • Grid Region Logic
    • Pattern Preview - Transforms: Translate & Scale
  • Project 2
    • Project 2 - 2D Arrays for Gradient Logic
      • 2D Array Grid with Labels
    • Grid Patterns using 2D Array Indexes: i, j
      • Example Class Code
    • lerpColor( ) and map( ) Functions
    • Demo Lerp Colors
    • 2D Arrays with lerpColor
    • Create PShape 2D Array
    • Function: Populate2DArray( )
    • Function: DisplayShapeMatrix()
    • Transforms for Position, Rotation, Scale of ShapeMatrix Elements
    • Project 2 - Steps
    • Animation for ShapeMatrix
      • Animation w/Noise
  • Object Oriented Programming
    • Introduction to Objects
    • OOP vs Data-Flow
    • Button States
    • Buttons as Objects
      • Button Class
    • Create Object Instances
    • Button Types
    • Modeling Buttons: States and Events
    • OOP - Inheritance
    • OOP - Polymorphism
    • Child-Class: PImageButton
    • PShape - SVG Objects
    • Menu of Buttons
    • ButtonGroup - Final Version
    • Slider Controller
    • UML Class Diagram
  • Project 3
    • Project 3 - Logic, Steps
    • Example Code S20
      • Code Wed Apr 1
      • Code Wed Apr 8 v1
      • Code Wed Apr 8 v2
      • Code Mon Apr 13
      • Code Wed Apr 15
      • Code Mon Apr 20
      • Code Wed Apr 22
      • Code Mon Apr 27
      • Code Wed Apr 29
    • Project 3 - Class Definitions
      • Button
      • PImageButton
      • ButtonGroup
      • Pattern
        • PShapes - SVG, Vertex Shapes
        • Setting Colors For Patterns
        • Pattern - With Child-PShapes
      • Slider
      • Particles
  • Java Syntax
    • Java Syntax
      • Typed-Variables
      • Float - Integer Conversion Errors
      • Modulus
      • Functions
      • Object Reference Data Types
      • Arrays
        • Class Example Code
      • Switch-Case Statement
      • Ternary Operator
      • Class
      • Learning Science
    • UML Class Diagram
    • Glossary
  • Resources and References
    • Resources
    • Random Inspiration
      • Ulm School
      • Heart-Mind, Mind, Body
      • Statistical Uncertainty
Powered by GitBook
On this page
  • Observing Patterns and Rules in the Design:
  • Variation
  • Parametric Variation
  • The Power of Digital Prototyping
  • Vasarely - 1969
  • Digital Prototype

Was this helpful?

  1. Grid Based Designs

Grid Pattern Design

PreviousArtist: Victor VasarelyNext1D - Array of PShapes for Grid Layout

Last updated 5 years ago

Was this helpful?

The image above shows a grid-based pattern that we'll create and use as a guide to create more complex design patterns. We'll use artwork as inspiration for creating grid-based abstract art.

When we look at this image, we can see some design patterns - if we can decompose the design to a set of rules, then we can begin to understand how to write code to create it.

Observing Patterns and Rules in the Design:

  • shapes are arranged in a grid of rows and columns

  • colors are changing across the rows and columns

    • hue varies according to ROYGBIV pattern

    • part of each pattern has full Sat, Bright

    • part of each pattern has reduced Sat, Bright

  • background color - grayscale changes across the rows and columns

  • Number of rows, 10 == number of columns 10

  • Cell width == cell height

Variation

Below we can see a more interesting design than the one above, where we've introduced a slight variation on the design in each grid position. One modular unit has a smaller opening, and the sat / bright values are much lower for these modular units. Then we select randomly between these 2 modular units for each position based on 2 slight variations of the design motif. We've also added some randomization to the background color. The resulting design is more interesting than the one above. We see clusters of brightness that draw our interest. Darker, duller areas recede in the design.

Parametric Variation

Parametric Design focuses on creating tools to allow designers to make incremental variations on a single design idea. So, rather than writing a program to create a single design, we can create a tool to let us make small changes to the basic design...by modifying the design parameters that we think will give us an iterative design process.

The Power of Digital Prototyping

The image above shows an art quilt I had created in the early 90's. The design uses similar concepts of variations in saturation and brightness across modular units. The ability to create a digital rapid-prototype of the designs would have been extremely helpful during the design and fabrication process, as cutting-out and sewing each individual piece for each modular unit was a tedious process.

Digital Prototype

The image below was created using Processing as a digital prototyping tool. Using the PShape object to create vertex defined shapes arranged along diagonal gradient color grids. Processing lerpColor( ) function does linear interpolation between 2 colors parameterized by stepsize.

Vasarely's op art piece was created in 1969, he would also have benefited from digital prototyping tools for his Op-Art designs.

Vasarely - 1969
Vasarely - 1969
Victor Vasarely's