# Sine Cosine.

Sine Cosine.

Linear movement with sin() and cos(). Numbers between 0 and PI*2 (TWO_PI which angles roughly 6.28) are put into these functions and numbers between -1 and 1 are returned. These values are then scaled to produce larger movements.

```
float x1, x2, y1, y2;
float angle1, angle2;
float scalar = 70;

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

void draw() {
background(0);

x1 = width/2 + (scalar * cos(ang1));
x2 = width/2 + (scalar * cos(ang2));

y1 = height/2 + (scalar * sin(ang1));
y2 = height/2 + (scalar * sin(ang2));

fill(255);
rect(width*0.5, height*0.5, 140, 140);

fill(0, 102, 153);
ellipse(x1, height*0.5 - 120, scalar, scalar);
ellipse(x2, height*0.5 + 120, scalar, scalar);

fill(255, 204, 0);
ellipse(width*0.5 - 120, y1, scalar, scalar);
ellipse(width*0.5 + 120, y2, scalar, scalar);

angle1 += 2;
angle2 += 3;

}

```

## Functions Used

fill()

Sets the color used to fill shapes

size()

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

ellipse()

Draws an ellipse (oval) to the screen

sin()

Calculates the sine of an angle

rectMode()

Modifies the location from which rectangles are drawn by changing the way in which parameters given to rect() are intepreted

rect()

Draws a rectangle to the screen

setup()

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

cos()

Calculates the cosine of an angle

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

Converts a degree measurement to its corresponding value in radians