### Contents

1. 3D
1. P3D
2. Peasy Cam
3. 3D Objects
2. PVector
1. Declaration
2. Functions
3. Practice

### 3D

#### P3D

```void setup(){
size(500,500,P3D);
stroke(255);
strokeWeight(10);
}

void draw(){
background(0);
point(width/2-50,height/2-50,-50);
point(width/2-50,height/2+50,-50);
point(width/2-50,height/2+50,50);
point(width/2-50,height/2-50,50);
point(width/2+50,height/2-50,-50);
point(width/2+50,height/2+50,-50);
point(width/2+50,height/2+50,50);
point(width/2+50,height/2-50,50);
}
```

#### Peasy Cam

```import peasy.*;
PeasyCam cam;

void setup() {
size(500,500,P3D);
strokeWeight(10);
stroke(255);
cam = new PeasyCam(this, 100);
cam.setMinimumDistance(50);
cam.setMaximumDistance(500);
}

void draw(){
background(0);
point(-50,-50,-50);
point(-50,+50,-50);
point(-50,+50,50);
point(-50,-50,50);
point(+50,-50,-50);
point(+50,+50,-50);
point(+50,+50,50);
point(+50,-50,50);
}
```

#### 3D Objects

• pushMatrix();
• popMatrix();
• translate(<x>,<y>,<z>);
• Box(<w>,<h>,<d>);
• Sphere(<r>);
```import peasy.*;
PeasyCam cam;

void setup() {
size(500,500,P3D);
stroke(255);
noFill();
cam = new PeasyCam(this, 200);
cam.setMinimumDistance(100);
cam.setMaximumDistance(400);
}

void draw(){
background(0);
pushMatrix();
translate(50,0,0);
box(20,30,40);
translate(-100,0,0);
sphere(30);
popMatrix();
}
```

### PVector

#### Declaration

```<PVector name> = new PVector(<x>,<y>,<z>);
```
```PVector p;
p = new PVector(10,20);
ellipse(p.x, p.y, 10, 10);
```