-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathObject3DAxes.java
More file actions
43 lines (33 loc) · 966 Bytes
/
Copy pathObject3DAxes.java
File metadata and controls
43 lines (33 loc) · 966 Bytes
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
package display3D;
import java.awt.Color;
/**
* draw some 3D axes
* @author Luke
*
*/
public class Object3DAxes implements Object3D{
private double scale = 1;
private double [] origin = new double[]{0,0,0};
private double [] x = new double[]{ 1,0,0 };
private double [] y = new double[]{ 0,1,0 };
private double [] z = new double[]{ 0,0,1 };
//axes labels, eg xyz or r theta phi
private String lx,ly,lz;
public Object3DAxes( String lx , String ly , String lz , double scale){
this.lx = lx;
this.ly = ly;
this.lz = lz;
x[0] *= scale;
y[1] *= scale;
z[2] *= scale;
}
public void draw(Graphics3D g3D) {
g3D.setColor(Color.white);
g3D.drawArrow3D(origin, x,2,.1);
g3D.drawArrow3D(origin, y,2,.1);
g3D.drawArrow3D(origin, z,2,.1);
g3D.drawString3D(Vect.add(x, new double[]{.1,0,0}), lx );
g3D.drawString3D(Vect.add(y, new double[]{0,0.1,0}), ly);
g3D.drawString3D(Vect.add(z, new double[]{0,0,0.1}), lz);
}
}