- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class Main extends JFrame{
static int a=100;
BufferedImage offscreen = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
static double p1[][]={{-a},{0},{a}};
static double p2[][]={{0},{-a},{a}};
static double p3[][]={{a},{-a},{a}};
static double p4[][]={{a},{a},{a}};
static double p5[][]={{-a},{a},{a}};
static double p6[][]={{-a},{0},{-a}};
static double p7[][]={{0},{-a},{-a}};
static double p8[][]={{a},{-a},{-a}};
static double p9[][]={{a},{a},{-a}};
static double p10[][]={{-a},{a},{-a}};
static double mas[][][]=new double[10][][];
public static void main(String[] args) {
Main mf=new Main();
mf.setVisible(true);
mf.setSize(800,800);
mf.setDefaultCloseOperation(EXIT_ON_CLOSE);
Matrix P1=new Matrix(p1);
Matrix P2=new Matrix(p2);
Matrix P3=new Matrix(p3);
Matrix P4=new Matrix(p4);
Matrix P5=new Matrix(p5);
Matrix P6=new Matrix(p6);
Matrix P7=new Matrix(p7);
Matrix P8=new Matrix(p8);
Matrix P9=new Matrix(p9);
Matrix P10=new Matrix(p10);
double a=0;
while(true){
Matrix ox=new OX(a);
Matrix oy=new OY(a);
Matrix oz=new OZ(a);
Matrix m=ox.multiplication(oy.multiplication(oz));
mas[0]=m.multiplication(P1).getData();
mas[1]=m.multiplication(P2).getData();
mas[2]=m.multiplication(P3).getData();
mas[3]=m.multiplication(P4).getData();
mas[4]=m.multiplication(P5).getData();
mas[5]=m.multiplication(P6).getData();
mas[6]=m.multiplication(P7).getData();
mas[7]=m.multiplication(P8).getData();
mas[8]=m.multiplication(P9).getData();
mas[9]=m.multiplication(P10).getData();
a+=0.06;
//a=0;
mf.repaint();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void paint(Graphics g){
super.paint(g);
this.display(mas);
}
public void display(double m[][][]){
Graphics g= this.getGraphics();
g.setColor(Color.BLACK);
for(int i=0;i<m.length;i++){
m[i][0][0]+=300;
m[i][1][0]+=300;
}
g.drawLine((int)m[0][0][0],(int)m[0][1][0],(int)m[1][0][0],(int)m[1][1][0]);
g.drawLine((int)m[1][0][0],(int)m[1][1][0],(int)m[2][0][0],(int)m[2][1][0]);
g.drawLine((int)m[2][0][0],(int)m[2][1][0],(int)m[3][0][0],(int)m[3][1][0]);
g.drawLine((int)m[3][0][0],(int)m[3][1][0],(int)m[4][0][0],(int)m[4][1][0]);
g.drawLine((int)m[4][0][0],(int)m[4][1][0],(int)m[0][0][0],(int)m[0][1][0]);
g.drawLine((int)m[5][0][0],(int)m[5][1][0],(int)m[6][0][0],(int)m[6][1][0]);
g.drawLine((int)m[6][0][0],(int)m[6][1][0],(int)m[7][0][0],(int)m[7][1][0]);
g.drawLine((int)m[7][0][0],(int)m[7][1][0],(int)m[8][0][0],(int)m[8][1][0]);
g.drawLine((int)m[8][0][0],(int)m[8][1][0],(int)m[9][0][0],(int)m[9][1][0]);
g.drawLine((int)m[9][0][0],(int)m[9][1][0],(int)m[5][0][0],(int)m[5][1][0]);
g.drawLine((int)m[0][0][0],(int)m[0][1][0],(int)m[5][0][0],(int)m[5][1][0]);
g.drawLine((int)m[1][0][0],(int)m[1][1][0],(int)m[6][0][0],(int)m[6][1][0]);
g.drawLine((int)m[2][0][0],(int)m[2][1][0],(int)m[7][0][0],(int)m[7][1][0]);
g.drawLine((int)m[3][0][0],(int)m[3][1][0],(int)m[8][0][0],(int)m[8][1][0]);
g.drawLine((int)m[4][0][0],(int)m[4][1][0],(int)m[9][0][0],(int)m[9][1][0]);
Graphics g2 = offscreen.getGraphics();
g2.setColor(Color.WHITE);
g2.fillRect(0, 0, getWidth(), getHeight());
g2.setColor(Color.BLUE);
g2.fillRect(0, 0, 100, 100);
g.drawImage(offscreen, 0, 0, null);
}
}
Говнолаба по предмету "компьютерная графика".
Задача: нарисовать куб с усеченным углом, повернутый на произвольный угол вокруг трех осей (OX, OY, OZ).
Вот как эту задачу решает мой однокурсник.
Вместо того, чтобы использовать одну матрицу поворота, он создает 10 матриц для каждой из 10 точек...
Впрочем, код лучше расскажет...
guest 26.06.2011 01:05 # +5
Lure Of Chaos 26.06.2011 01:56 # 0
just_nameless 26.06.2011 18:19 # −2
это же нетронутое хранилище быдлокода…
dosGovno 26.06.2011 18:24 # +9
SmackMyBitchUp 26.06.2011 20:52 # 0
dosGovno 26.06.2011 20:54 # 0
SmackMyBitchUp 29.06.2011 15:32 # 0
carsten 05.07.2011 10:36 # +1
Зато вот, если обосрался обладатель MVP, местные неговнокодеры с удовольствием будут ухахатываться с его конфуза, тыча пальцем и пуская слюну.
Лабы это так, жиденький детский понос.
SmackMyBitchUp 27.06.2011 14:43 # 0
guest 15.07.2011 21:25 # 0
guest8 08.04.2019 21:00 # −999
guest8 09.04.2019 11:04 # −999
guest8 09.04.2019 18:09 # −999