-
Notifications
You must be signed in to change notification settings - Fork 0
/
Basis.pde
67 lines (56 loc) · 1.61 KB
/
Basis.pde
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Vector3D i = new Vector3D(1, 0, 0), j = new Vector3D(0, 1, 0), k = new Vector3D(0, 0, 1);
void rotateX(float angle) {
i.rotateX(angle);
j.rotateX(angle);
k.rotateX(angle);
}
void rotateY(float angle) {
i.rotateY(angle);
j.rotateY(angle);
k.rotateY(angle);
}
void rotateZ(float angle) {
i.rotateZ(angle);
j.rotateZ(angle);
k.rotateZ(angle);
}
void setBounds(float x_min, float x_max, float y_min, float y_max, float z_min, float z_max) {
X_MIN = x_min;
X_MAX = x_max;
Y_MIN = y_min;
Y_MAX = y_max;
Z_MIN = z_min;
Z_MAX = z_max;
}
float SCALE = 300, X_MIN, X_MAX, Y_MIN, Y_MAX, Z_MIN, Z_MAX;
boolean showAxes = false;
void axes() {
if (!showAxes)
return;
setStrokeWeight(2.0);
setStrokeColor(magenta);
line3D(0, 0, 0, X_MAX, 0, 0);
setStrokeColor(cyan);
line3D(0, 0, 0, 0, Y_MAX, 0);
setStrokeColor(orange);
line3D(0, 0, 0, 0, 0, Z_MAX);
}
boolean showFrame = false;
void frame() {
if (!showFrame)
return;
setStrokeColor(black);
setStrokeWeight(2.0);
line3D(X_MAX, Y_MAX, Z_MIN, X_MAX, Y_MAX, Z_MAX);
line3D(X_MAX, Y_MIN, Z_MIN, X_MAX, Y_MIN, Z_MAX);
line3D(X_MIN, Y_MAX, Z_MIN, X_MIN, Y_MAX, Z_MAX);
line3D(X_MIN, Y_MIN, Z_MIN, X_MIN, Y_MIN, Z_MAX);
line3D(X_MIN, Y_MIN, Z_MIN, X_MAX, Y_MIN, Z_MIN);
line3D(X_MIN, Y_MIN, Z_MAX, X_MAX, Y_MIN, Z_MAX);
line3D(X_MIN, Y_MAX, Z_MIN, X_MAX, Y_MAX, Z_MIN);
line3D(X_MIN, Y_MAX, Z_MAX, X_MAX, Y_MAX, Z_MAX);
line3D(X_MIN, Y_MIN, Z_MIN, X_MIN, Y_MAX, Z_MIN);
line3D(X_MIN, Y_MIN, Z_MAX, X_MIN, Y_MAX, Z_MAX);
line3D(X_MAX, Y_MIN, Z_MIN, X_MAX, Y_MAX, Z_MIN);
line3D(X_MAX, Y_MIN, Z_MAX, X_MAX, Y_MAX, Z_MAX);
}