📄 face.java
字号:
// FrontEnd Plus GUI for JAD
// DeCompiled : Face.class
import java.awt.Color;
import java.awt.Graphics;
import java.io.PrintStream;
class Face
{
public int VerNum;
public Vertex Vertices[];
public Color FaceColor;
float XMin;
float XMax;
float YMin;
float YMax;
float ZMin;
float ZMax;
protected Vertex ScreenVer[];
protected int ScreenX[];
protected int ScreenY[];
public Face(int i)
{
VerNum = i;
Vertices = new Vertex[i];
ScreenX = new int[i];
ScreenY = new int[i];
ScreenVer = new Vertex[i];
for(int j = 0; j < i; j++)
ScreenVer[j] = new Vertex();
}
void CalcParam(Matrix3D matrix3d)
{
matrix3d.Transform(Vertices, ScreenVer, VerNum);
XMin = ScreenVer[0].x;
XMax = XMin;
YMin = ScreenVer[0].y;
YMax = YMin;
ZMin = ScreenVer[0].z;
ZMax = ZMin;
for(int i = 1; i < VerNum; i++)
{
XMin = Math.min(XMin, ScreenVer[i].x);
XMax = Math.max(XMax, ScreenVer[i].x);
YMin = Math.min(YMin, ScreenVer[i].y);
YMax = Math.max(YMax, ScreenVer[i].y);
ZMin = Math.min(ZMin, ScreenVer[i].z);
ZMax = Math.max(ZMax, ScreenVer[i].z);
}
}
public final boolean CloserThan(Face face)
{
return ZMax + ZMin < face.ZMax + face.ZMin;
}
public void Paint(Graphics g, int i, int j)
{
for(int k = 0; k < VerNum; k++)
{
ScreenX[k] = (int)ScreenVer[k].x + i / 2;
ScreenY[k] = j / 2 - (int)ScreenVer[k].y;
}
g.setColor(FaceColor);
g.fillPolygon(ScreenX, ScreenY, VerNum);
g.setColor(Color.black);
g.drawPolygon(ScreenX, ScreenY, VerNum);
}
public void Print()
{
System.out.println("Face -- ");
for(int i = 0; i < VerNum; i++)
{
System.out.print("Origin ");
Vertices[i].Print();
System.out.print("Screen ");
ScreenVer[i].Print();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -