Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Navojoa
Tecnicas de graficacion
Actividad 11
con variables negativas (en la parte de las teclas vern porque positivo(+) y negativo(-)), el
mtodo glRotatef() al igual que el glSalef() contiene valores booleanos y en el primero tenemos
valores positivos y en el segundo tenemos valores negativos. En la lnea de 8 utilizamos la librera
de primitivas de OpenGL del cuadrado para formar nuestra cara principal sea la cara 1, de la lnea
de cdigo 9 a la 16 ponemos la ubicacin de los puntos de coordenadas 3D y los vrtices, por
ltimo en la 17 y 18 terminamos nuestro muestre de la cara1 y deshabilitamos nuestra cara 1 para
poder activar las 5 caras restantes utilizando el mismo cdigo.
public void init(GLAutoDrawable arg0){
try {
cara1 = TextureIO.newTexture(new
cara2 = TextureIO.newTexture(new
cara3 = TextureIO.newTexture(new
cara4 = TextureIO.newTexture(new
cara5 = TextureIO.newTexture(new
cara6 = TextureIO.newTexture(new
} catch (IOException e) {
System.exit(1);
}
File("Rubik.jpg"), true);
File("Rubik1.jpg"), true);
File("Rubik2.jpg"), true);
File("Rubik3.jpg"), true);
File("Rubik4.jpg"), true);
File("Rubik5.jpg"), true);
}
En este mtodo es donde mandaremos a traer a nuestra textura como podemos observar son 6
caras lo que quiere decir que para cada cara necesitamos una textura y finalizamos con un true
para que la muestre.
public void keyPressed(KeyEvent arg0){
if(arg0.getKeyCode()==KeyEvent.VK_ESCAPE){
rotarX=0;
rotarY=0;
rotarZ=0;
trasladaX=0;
trasladaY=0;
trasladaZ=0;
EscaX=1.0f;
EscaY=1.0f;
EscaZ=1.0f;
EscaXm=1.0f;
EscaYm=1.0f;
EscaZm=1.0f;
rojo=0.0f;
verde=0.0f;
azul=0.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_X){
rotarX+=1.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_A){
rotarX-=1.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_Y){
rotarY+=1.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_B){
rotarY-=1.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_Z){
rotarZ+=1.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_C){
rotarZ-=1.0f;
}
if(arg0.getKeyCode()==KeyEvent.VK_RIGHT){
trasladaX+=.10f;
}
if(arg0.getKeyCode()==KeyEvent.VK_LEFT){
trasladaX-=.10f;
if(arg0.getKeyCode()==KeyEvent.VK_UP){
trasladaY+=.10f;
if(arg0.getKeyCode()==KeyEvent.VK_DOWN){
trasladaY-=.10f;
}
if(arg0.getKeyCode()==KeyEvent.VK_1){
trasladaZ+=.1;
}
if(arg0.getKeyCode()==KeyEvent.VK_2){
trasladaZ-=.10f;
}
if(arg0.getKeyCode()==KeyEvent.VK_3){
rotarY+=1.0;
}
if(arg0.getKeyCode()==KeyEvent.VK_4){
rotarY-=1.0;
}
else if (arg0.getKeyCode()== KeyEvent.VK_I){
EscaX +=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_O){
EscaY +=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_P){
EscaZ +=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_J){
EscaXm -=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_K){
EscaYm -=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_L){
EscaZm -=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_E){
rojo +=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_R){
verde +=0.1f;
}
else if (arg0.getKeyCode()== KeyEvent.VK_T){
azul +=0.1f;
}