Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Código en CodeBlock
Código en CodeBlock
h>
#include <GL/glut.h>
#include <stdlib.h>
#include <math.h>
float R=0,P=0,Y=0;
float largo=1000,ancho=500;
float x0,y0,xf,yf;
void DIBUJO(void){
glPushMatrix();
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(R,1,0,0);
glRotatef(P,0,1,0);
glRotatef(Y,0,0,1);
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);glVertex3f(-100000,0,0);glVertex3f(100000,0,0);
glColor3f(0.0,1.0,0.0);glVertex3f(0,-100000,0);glVertex3f(0,100000,0);
glColor3f(0.0,0.0,1.0);glVertex3f(0,0,-100000);glVertex3f(0,0,100000);
glEnd();
glFlush();
glPopMatrix();
}
switch(TECLA){
case 'R':R++;break;
case 'r':R--;break;
case 'P':P++;break;
case 'p':P--;break;
case 'Y':Y++;break;
case 'y':Y--;break;
default:break;
glutPostRedisplay();
/*
if(BOTON==GLUT_RIGHT_BUTTON&&ESTADO==GLUT_DOWN){
glColor3f(1.0,1.0,0);
glBegin(GL_POINTS);
glVertex3f(xMouse,ancho-yMouse,0);
glEnd();
glFlush();
}*/
/*
glColor3f(1.0,1.0,0);
glBegin(GL_POINTSg);
glVertex3f(xMouse,ancho-yMouse,0);
glEnd();
glFlush();
*/
/*
glColor3f(1.0,1.0,0);
glBegin(GL_POINTS);
glVertex3f(xMouse,ancho-yMouse,0);
glEnd();
glFlush();
}*/
if(BOTON==GLUT_LEFT_BUTTON&&ESTADO==GLUT_DOWN){
x0=xMouse;
y0=ancho-yMouse;
if(BOTON==GLUT_RIGHT_BUTTON&&ESTADO==GLUT_DOWN){
xf=xMouse;
yf=ancho-yMouse;
glBegin(GL_LINES)
glColor3f(1.0,1.0,1.0);glVertex3f(x0,y0,0);glVertex3f(xf,yf,0);
glEnd();
glBegin(GL_POINTS);
glColor3f(1.0,0,0);glVertex3f(xMouse,ancho-yMouse,0);
glColor3f(0,1.0,0);
glEnd();
glFlush();
}
/*
switch (TECLA){
case GLUT_KEY_UP:R++;break;
case GLUT_KEY_DOWN:R--;break;
default:break;
glutPostRedisplay();
*/
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(10,10);
glutInitWindowSize(largo,ancho);
glClearColor(0,0,0,1);
glOrtho(0,largo,0,ancho,-100,100);
glutDisplayFunc(DIBUJO);
///glutSpecialFunc(TECLAESP);
glutKeyboardFunc(TECLADO);
///glutMouseFunc(MOUSE1);
///glutPassiveMotionFunc(MOUSE2);
///glutMotionFunc(MOUSE3);
glutMouseFunc(MOUSE4);
glutMainLoop();
}
#include<windows.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <math.h>
float R=0,P=0,Y=0;
float largo=1000,ancho=500;
void DIBUJO(void){
glPushMatrix();
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(R,1,0,0);
glRotatef(P,0,1,0);
glRotatef(Y,0,0,1);
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);glVertex3f(-100000,0,0);glVertex3f(100000,0,0);
glColor3f(0.0,1.0,0.0);glVertex3f(0,-100000,0);glVertex3f(0,100000,0);
glColor3f(0.0,0.0,1.0);glVertex3f(0,0,-100000);glVertex3f(0,0,100000);
glEnd();
//glTranslatef(v1,v2,v3);
glScalef(v1,v2,v3);
glColor3f(0.0,0.0,0.0);
glutWireCube(2);
glFlush();
glPopMatrix();
switch(TECLA){
case 'R':R++;break;
case 'r':R--;break;
case 'P':P++;break;
case 'p':P--;break;
case 'Y':Y++;break;
case 'y':Y--;break;
case '1':v1+=0.1;break;
case '2':v1-=0.1;break;
case '3':v2+=0.1;break;
case '4':v2-=0.1;break;
case '5':v3+=0.1;break;
case '6':v3-=0.1;break;
default:break;
glutPostRedisplay();
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(10,10);
glutInitWindowSize(largo,ancho);
glClearColor(1,1,1,1);
glOrtho(-10,10,-10,10,-10,10);
glutDisplayFunc(DIBUJO);
glutKeyboardFunc(TECLADO);
glutMainLoop();
}
#include<windows.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <math.h>
float R=0,P=0,Y=0;
float largo=500,ancho=500;
float t,PY,PX,PZ;
void DIBUJO(void){
glPushMatrix();
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(R,1,0,0);
glRotatef(P,0,1,0);
glRotatef(Y,0,0,1);
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);glVertex3f(-100000,0,0);glVertex3f(100000,0,0);
glColor3f(0.0,1.0,0.0);glVertex3f(0,-100000,0);glVertex3f(0,100000,0);
glColor3f(0.0,0.0,1.0);glVertex3f(0,0,-100000);glVertex3f(0,0,100000);
glEnd();
PY=5*cos(2*t)*exp(-0.1*t);
if (PY<0) PY=-PY;
PX=t;
glTranslatef(PX,PY,0);
glColor3f(0.0,0.0,0.0);
glutSolidSphere(0.5,50,50);
glFlush();
glPopMatrix();
switch(TECLA){
case 'R':R++;break;
case 'r':R--;break;
case 'P':P++;break;
case 'p':P--;break;
case 'Y':Y++;break;
case 'y':Y--;break;
case '1':v1+=0.1;break;
case '2':v1-=0.1;break;
case '3':v2+=0.1;break;
case '4':v2-=0.1;break;
case '5':v3+=0.1;break;
case '6':v3-=0.1;break;
case 'T':t+=0.1;break;
case 't':t-=0.1;break;
default:break;
glutPostRedisplay();
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(10,10);
glutInitWindowSize(largo,ancho);
glClearColor(1,1,1,1);
glOrtho(-10,10,-10,10,-10,10);
glutDisplayFunc(DIBUJO);
glutKeyboardFunc(TECLADO);
glutMainLoop();
}
#include<windows.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <stdio.h>
#include <conio.h>
float R=0,P=0,Y=0;
float largo=500,ancho=500;
float t,PY,PX,PZ;
void DIBUJO(void){
for (t=0;t<=10;t+=0.1){
glPushMatrix();
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(R,1,0,0);
glRotatef(P,0,1,0);
glRotatef(Y,0,0,1);
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);glVertex3f(-100000,0,0);glVertex3f(100000,0,0);
glColor3f(0.0,1.0,0.0);glVertex3f(0,-100000,0);glVertex3f(0,100000,0);
glColor3f(0.0,0.0,1.0);glVertex3f(0,0,-100000);glVertex3f(0,0,100000);
glEnd();
PY=5*cos(2*t)*exp(-0.1*t);
if (PY<0) PY=-PY;
PX=t;
glTranslatef(PX,PY,0);
glColor3f(0.0,0.0,0.0);
glutSolidSphere(0.5,50,50);
glFlush();
Sleep(50);
glPopMatrix();
}}
switch(TECLA){
case 'R':R++;break;
case 'r':R--;break;
case 'P':P++;break;
case 'p':P--;break;
case 'Y':Y++;break;
case 'y':Y--;break;
case '1':v1+=0.1;break;
case '2':v1-=0.1;break;
case '3':v2+=0.1;break;
case '4':v2-=0.1;break;
case '5':v3+=0.1;break;
case '6':v3-=0.1;break;
case 'T':t+=0.1;break;
case 't':t-=0.1;break;
default:break;
glutPostRedisplay();
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(10,10);
glutInitWindowSize(largo,ancho);
glClearColor(1,1,1,1);
glOrtho(-10,10,-10,10,-10,10);
glutDisplayFunc(DIBUJO);
glutKeyboardFunc(TECLADO);
glutMainLoop();