Create PShape 2D Array
PShape[ ][ ] ShapeMatrix
void setup(){
size( 600,600);
colorMode(HSB, 360, 100, 100);
int rows = 6;
int cols = 6;
int cellSize = width/cols;
PShape [][]shapeMatrix = new PShape[rows][cols];
//int[][] intMatrix = new int[rows][cols];//2D array of ints
int xPos=0; //variables to control where rectangle is drawn
int yPos = 0;
color c1=color(157, 83, 56);
color c2 = color(258, 66, 96);
for( int i=0; i< rows; i++){
for( int j=0; j< cols; j++){
int k = i + j;
//calculate fill color
float kFraction = map( k, 0, (rows-1) + (cols-1),0.0, 1.0);
color c3 = lerpColor(c1, c2, kFraction);
//create the shape
PShape curShape = rectPattern( cellSize-10, c3);
//store shape in 2D array
shapeMatrix[i][j]= curShape; //store in 2D array
///display shape
shape(curShape, xPos, yPos);
xPos += cellSize; //increment for drawing the next column
} //end of inner loop (cols)
yPos +=cellSize; //move yPos for drawing next row
xPos = 0;
} //end of outer loop (rows)
}
//function to create a PShape rect
PShape rectPattern( float len, color c1){
PShape s = createShape( RECT, 0,0, len, len);
s.setFill(c1);
return s;
}Alternate PShapes Grid-Pattern

Last updated