import java.applet.Applet;
import java.awt.*;
import java.util.Timer;
import java.util.TimerTask;
public class ThreeD extends Applet {
float[] x = new float[4];
float[] y = new float[4];
float[] z = new float[4];
int angle = 10;
int[] sx = new int[3];
int[] sy = new int[3];
public void init() {
setSize(854,480);
Timer t = new Timer();
t.schedule(new TimerTask(){
public void run(){
float angle2 = (float) Math.toRadians(angle++);
x[0] = -50;
y[0] = 10;
z[0] = 1;
x[1] = 50;
y[1] = 10;
z[1] = 1;
x[2] = 10;
y[2] = -150;
z[2] = 1;
float newx0 = (float) (y[0] * Math.cos(angle2) - z[0] * Math.sin(angle2));
float newy0 = (float) (y[0] * Math.sin(angle2) + z[0] * Math.cos(angle2));
float newx1 = (float) (y[1] * Math.cos(angle2) - z[1] * Math.sin(angle2));
float newy1 = (float) (y[1] * Math.sin(angle2) + z[1] * Math.cos(angle2));
float newx2 = (float) (y[2] * Math.cos(angle2) - z[2] *Math.sin(angle2));
float newy2 = (float) (y[2] * Math.sin(angle2) + z[2] *Math.cos(angle2));
/*
* X-ROT
* float newY = y*cosAngle - z*sinAngle;
* float newZ = y*sinAngle + z*cosAngle;
*
* Y-ROT
* float newX = z*sinAngle + x*cosAngle;
* float newZ = z*cosAngle - x*sinAngle;
*
* Z-ROT
*
* float newX = x*cosAngle - y*sinAngle;
* float newY = x*sinAngle + y*cosAngle;
*
*/
y[0] = newx0;
z[0] = newy0;
y[1] = newx1;
z[1] = newy1;
y[2] = newx2;
z[2] = newy2;
sx[0] = (int) (((x[0])/z[0]) + (854/2));
sy[0] = (int) (((y[0])/z[0]) + (480/2));
sx[1] = (int) (((x[1])/z[1]) + (854/2));
sy[1] = (int) (((y[1])/z[1]) + (480/2));
sx[2] = (int) (((x[2])/z[2]) + (854/2));
sy[2] = (int) (((y[2])/z[2]) + (480/2));
repaint();
}
}, 20,20);
}
public void paint(Graphics g) {
g.drawLine(sx[0], sy[0], sx[1], sy[1]);
g.drawLine(sx[1], sy[1], sx[2], sy[2]);
g.drawLine(sx[2], sy[2], sx[0], sy[0]);
}
}