# Array 2D.

Array 2D.

Demonstrates the syntax for creating a two-dimensional (2D) array. Values in a 2D array are accessed through two index values. 2D arrays are useful for storing images. In this example, each dot is colored in relation to its distance from the center of the image.

```
float[][] distances;
float maxDistance;
int spacer;

void setup() {
size(640, 360);
maxDistance = dist(width/2, height/2, width, height);
distances = new float[width][height];
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
float distance = dist(width/2, height/2, x, y);
distances[x][y] = distance/maxDistance * 255;
}
}
spacer = 10;
strokeWeight(6);
noLoop();  // Run once and stop
}

void draw() {
background(0);
// This embedded loop skips over values in the arrays based on
// the spacer variable, so there are more values in the array
// than are drawn here. Change the value of the spacer variable
// to change the density of the points
for (int y = 0; y < height; y += spacer) {
for (int x = 0; x < width; x += spacer) {
stroke(distances[x][y]);
point(x + spacer/2, y + spacer/2);
}
}
}```

## Functions Used

stroke()

Sets the color used to draw lines and borders around shapes

size()

Defines the dimension of the display window width and height in units of pixels

point()

Draws a point, a coordinate in space at the dimension of one pixel

setup()

The setup() function is run once, when the program starts

strokeWeight()

Sets the width of the stroke used for lines, points, and the border around shapes

noLoop()

Stops Processing from continuously executing the code within draw()

draw()

Called directly after setup(), the draw() function continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called