1 2 3 4 5 6 7 8 9 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
| /**
* Objet geometrique qui represente un cube dont les faces visibles
* sont colorees
*/
class Cube extends Shape3D {
/**
* Constructeur
*/
public Cube() {
// Les coordonnees des 16 sommets des 4 faces visibles du cube
// Face 1
Point3f face1_s1 = new Point3f(-0.5f, 0.5f, 0.5f);
Point3f face1_s2 = new Point3f(-0.5f, -0.5f, 0.5f);
Point3f face1_s3 = new Point3f( 0.5f, -0.5f, 0.5f);
Point3f face1_s4 = new Point3f( 0.5f, 0.5f, 0.5f);
// Face 2
Point3f face2_s1 = new Point3f( 0.5f, 0.5f, 0.5f);
Point3f face2_s2 = new Point3f( 0.5f, -0.5f, 0.5f);
Point3f face2_s3 = new Point3f( 0.5f, -0.5f, -0.5f);
Point3f face2_s4 = new Point3f( 0.5f, 0.5f, -0.5f);
// Face 3
Point3f face3_s1 = new Point3f( 0.5f, 0.5f, -0.5f);
Point3f face3_s2 = new Point3f( 0.5f, -0.5f, -0.5f);
Point3f face3_s3 = new Point3f(-0.5f, -0.5f, -0.5f);
Point3f face3_s4 = new Point3f(-0.5f, 0.5f, -0.5f);
// Face 4
Point3f face4_s1 = new Point3f(-0.5f, 0.5f, -0.5f);
Point3f face4_s2 = new Point3f(-0.5f, -0.5f, -0.5f);
Point3f face4_s3 = new Point3f(-0.5f, -0.5f, 0.5f);
Point3f face4_s4 = new Point3f(-0.5f, 0.5f, 0.5f);
// Les couleurs des 4 faces visibles du cube
Color3f color1 = new Color3f(Color.red);
Color3f color2 = new Color3f(Color.green);
Color3f color3 = new Color3f(Color.blue);
Color3f color4 = new Color3f(Color.yellow);
// Construction de l'objet geometrique QuadArray constitue de 16
// points
QuadArray quadArray = new QuadArray(16,
QuadArray.COORDINATES | QuadArray.COLOR_3);
// Tableau des points constituant les 4 faces (quadrilateres) qui
// sont visibles
quadArray.setCoordinates(0, new Point3f[] {
/* face 1 */ face1_s1, face1_s2, face1_s3, face1_s4,
/* face 2 */ face2_s1, face2_s2, face2_s3, face2_s4,
/* face 3 */ face3_s1, face3_s2, face3_s3, face3_s4,
/* face 4 */ face4_s1, face4_s2, face4_s3, face4_s4
});
// Tableau des couleurs des 4 sommets de chaque face
quadArray.setColors(0, new Color3f[] {
/* couleur face 1 */ color1, color1, color1, color1,
/* couleur face 2 */ color2, color2, color2, color2,
/* couleur face 3 */ color3, color3, color3, color3,
/* couleur face 4 */ color4, color4, color4, color4
});
this.setGeometry(quadArray);
} // fin constructeur
} // fin class Cube extends Shape3D |
Partager