Está en la página 1de 18

#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;

float x0,y0,xf,yf;

float v1=0,v2=0, v3=0;

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();
}

void TECLADO(unsigned char TECLA, int XMOUSE, int YMOUSE) {

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();

/*

void MOUSE1(int BOTON, int ESTADO, int xMouse, int yMouse){

if(BOTON==GLUT_RIGHT_BUTTON&&ESTADO==GLUT_DOWN){

glColor3f(1.0,1.0,0);

glBegin(GL_POINTS);

glVertex3f(xMouse,ancho-yMouse,0);
glEnd();

glFlush();

}*/

/*

void MOUSE2(int xMouse, int yMouse){

glColor3f(1.0,1.0,0);

glBegin(GL_POINTSg);

glVertex3f(xMouse,ancho-yMouse,0);

glEnd();

glFlush();

*/

/*

void MOUSE3( int xMouse, int yMouse){

glColor3f(1.0,1.0,0);

glBegin(GL_POINTS);

glVertex3f(xMouse,ancho-yMouse,0);

glEnd();
glFlush();

}*/

void MOUSE4(int BOTON, int ESTADO, int xMouse, int yMouse){

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();

}
/*

void TECLAESP(int TECLA, int xMouse, int yMouse){

switch (TECLA){

case GLUT_KEY_UP:R++;break;

case GLUT_KEY_DOWN:R--;break;

default:break;

glutPostRedisplay();

*/

int main(int argc, char **argv)

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

glutInitWindowPosition(10,10);

glutInitWindowSize(largo,ancho);

glutCreateWindow("Mi primer programa");

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 v1=1,v2=1, v3=1;

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();

void TECLADO(unsigned char TECLA, int XMOUSE, int YMOUSE) {

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();

int main(int argc, char **argv)

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

glutInitWindowPosition(10,10);

glutInitWindowSize(largo,ancho);

glutCreateWindow("Mi primer programa");

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 v1=1,v2=1, v3=1;

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();

void TECLADO(unsigned char TECLA, int XMOUSE, int YMOUSE) {

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();

int main(int argc, char **argv)

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

glutInitWindowPosition(10,10);

glutInitWindowSize(largo,ancho);

glutCreateWindow("Mi primer programa");

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 v1=1,v2=1, v3=1;

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();

}}

void TECLADO(unsigned char TECLA, int XMOUSE, int YMOUSE) {

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();

int main(int argc, char **argv)

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);

glutInitWindowPosition(10,10);

glutInitWindowSize(largo,ancho);

glutCreateWindow("Mi primer programa");

glClearColor(1,1,1,1);

glOrtho(-10,10,-10,10,-10,10);

glutDisplayFunc(DIBUJO);

glutKeyboardFunc(TECLADO);

glutMainLoop();

También podría gustarte