📄 facelet.java
字号:
package myprojects.graph3dapp;
import java.awt.*;
/**三角面类*/
class Facelet {
protected GraphObject3D object;
public int vertexs[] = new int[3];
protected Color colors[] = new Color[3];
protected Material material;
public Facelet(GraphObject3D object) {
this.object = object;
}
public Facelet(GraphObject3D object, int v0, int v1, int v2) {
this.object = object;
vertexs[0] = v0;
vertexs[1] = v1;
vertexs[2] = v2;
}
public Facelet(GraphObject3D object, int vertexs[]) {
this.object = object;
this.vertexs = new int[3];
for(int i=0; i<3; i++) this.vertexs[i] = vertexs[i];
}
public Facelet(Facelet f) {
this.object = f.object;
for(int i=0; i<3; i++) this.vertexs[i] = f.vertexs[i];
}
public Color getColor(int index) {
return colors[index];
}
public void setMaterial(Material material) {
this.material = material;
}
public GraphObject3D getObject() {
return object;
}
public Vector3d getVertex(int index) {
return object.getVertex(vertexs[index]);
}
public Vector3d normalize() {
Vector3d v0 = Vector3d.sub(object.getVertex(vertexs[1]),
object.getVertex(vertexs[0]));
Vector3d v1 = Vector3d.sub(object.getVertex(vertexs[2]),
object.getVertex(vertexs[0]));
//return Vector3d.cross(v0, v1);
Vector3d n = Vector3d.cross(v0, v1);
n.normalize();
return n;
}
public String toString() {
return String.valueOf(vertexs[0])+", "+
String.valueOf(vertexs[1])+", "+
String.valueOf(vertexs[2]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -