Statements and Comments Coordinates Width and Height Setup and Draw No Loop Loop Redraw Functions Recursion CreateGraphics Points and Lines Shape Primitives Pie Chart Triangle Strip Bezier Bezier Ellipse 3D Primitives Variables Integers and Floats True/False Characters and Strings Datatype Conversion Variable Scope Array Array 2D Array Objects Iteration Embedded Iteration Conditionals 1 Conditionals 2 Logical Operators Load and Display Image Background Image Transparency Alphamask CreateImage Pointillism Load and Display Shape Disable Style Scale Shape Get Child Letters Words Hue Saturation Brightness Color Variables Relativity Linear Gradient Radial Gradient Wave Gradient Increment/Decrement Operator Precedence Distance 1D Distance 2D Sine Sine and Cosine Sine Wave Additive Wave Polar to Cartesian Arctangent Graphing 2D Equation Random Double Random Noise 1D NoiseWave Mouse 1D Mouse 2D MousePress Mouse Signals Easing Constrain Storing Input Mouse Functions Keyboard Keyboard Functions Milliseconds Clock Translate Scale Rotate RotateXY RotatePushPop Arm Objects Multiple Constructors Composite Objects Inheritance On/Off Directional Spot Reflection Mixture Mixture Grid Perspective Move Eye

This example is for Processing 2+. If you have a previous version, use the examples included with your software. If you see any errors or have suggestions, please let us know.

Scale by Denis Grutze.

Paramenters for the scale() function are values specified as decimal percentages. For example, the method call scale(2.0) will increase the dimension of the shape by 200 percent. Objects always scale from the origin.

```
float a = 0.0;
float s = 0.0;

void setup() {
size(640, 360);
noStroke();
rectMode(CENTER);
frameRate(30);
}

void draw() {

background(102);

a = a + 0.04;
s = cos(a)*2;

translate(width/2, height/2);
scale(s);
fill(51);
rect(0, 0, 50, 50);

translate(75, 0);
fill(255);
scale(s);
rect(0, 0, 50, 50);
}
```