package draw3d; import javax.swing.JPanel; import java.awt.Color; import java.awt.Graphics; import java.awt.Rectangle; public class figur extends JPanel{ private static final long serialVersionUID = 1L; public final int EMAX = 100; public final int KOMAX = 100; public double ko[][]; public int ka[][]; int anzko; //aktueller punkt int anzka; //aktuelle kante int anzkoold; int anzkaold; public figur(){ ko = new double[KOMAX][3]; ka = new int[EMAX][2]; anzko = 0; anzka = 0; anzkoold = 0; anzkaold = 0; this.setBounds(new Rectangle(100, 100, 54, 35)); this.setBackground(Color.WHITE); } double ko2d(double x, double y){ return x + .5 * y; } void turn (char direction, int deg, JPanel x){ double w = deg * Math.PI /180; double[][] turnm; double[] tmp = {0, 0, 0}; double[][] xrot = {{1,0,0},{0,Math.cos(w),-Math.sin(w)}, {0, Math.sin(w), Math.cos(w)}}; double[][] yrot = {{Math.cos(w),0,-Math.sin(w)},{0,1,0}, {Math.sin(w), 0,Math.cos(w)}}; double[][] zrot = {{Math.cos(w),-Math.sin(w), 0}, {Math.sin(w), Math.cos(w),0}, {0,0,1}}; switch (direction){ case 'x': turnm = xrot; break; case 'y': turnm = yrot; break; case 'z': turnm = zrot; break; default: turnm = null; } for(int j = 0; j= -100 && yk >= -100 && zk >= -100){ ko[anzko][0] = xk; ko[anzko][1] = yk; ko[anzko][2] = zk; anzko++; return 1; } else { return 0; } } public int setEdges(int from, int to){ if (anzka < EMAX && from >= 0 && from <= anzko && to >= 0 && to <= anzko){ ka[anzka][0] = from; ka[anzka][1] = to; anzka++; return 1; } else { return 0; } } public void paint(Graphics g){ int x1, x2, y1, y2; //Graphics g; //g = d.getGraphics(); //d.repaint(); this.setBackground(Color.WHITE); for(int i = 0; i