ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cicloide Con Opengl En Visual C++


Enviado por   •  2 de Diciembre de 2012  •  438 Palabras (2 Páginas)  •  628 Visitas

Página 1 de 2

#include <stdlib.h>

#include <math.h>

#include <GL/glut.h>

#define GL_PI 3.1416f

void init(void);

void display(void);

void reshape(int,int);

void main(int argc, char** argv)

{

glutInit(&argc, argv); //con esto tomamos los valores necesarios para MAIN

glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); //ACTUVAMOS parametros: rojo, amarillo y azul

glutInitWindowSize(500,500); //ancho y alto d nuestra ventana desplegable

glutInitWindowPosition(100,100); //posicion de la ventana desplegable en nuestra pantalla

//glutCreateWindow(argv[0]);

glutCreateWindow("cicloide x villacorta"); //crea la ventana desplegable y la nombra

init(); //se indica como sera el coloreado interno

glutDisplayFunc(display); //indicamos el nombre de la funcion q uso para el dibujo

glutReshapeFunc(reshape); //controla el cambio de tamaño de ventana

glutMainLoop(); //ciclo infinito para realizar una accion "espectativa"

}

void init(void)

{

// por la linea glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); aca damos color

glClearColor(0.0,0.0,0.0,0.0); //color de fondo

glShadeModel(GL_FLAT);

//glShadeModel(GL_SMOOTH);

glColor3f(0,1,0.2); //color de trazo

}

//funcion q dibuja

void display(void)

{

GLfloat ang, rm = 1.0f, rma = 5*rm, x, y;

glClear(GL_COLOR_BUFFER_BIT);

glPushMatrix(); // salva el estado actual de la matriz

glBegin(GL_LINE_LOOP);

for (ang = 0.0f; ang < 2 * GL_PI; ang += 0.01f) //este for va de 0 a pi

{

x = (rma - rm)*cos(ang) + rm*cos((rma - rm)/rm* ang);

y = (rma - rm)*sin(ang) - rm*sin((rma - rm)/rm* ang);

glVertex2f(x,y);

}//con este for dibujamos el cicloide

glEnd();

glPopMatrix(); // reecupera el estado del matriz

glFlush();

}

void reshape(int w, int h)

{

glViewport(0,0,(GLsizei)w, (GLsizei)h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

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

glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

}

...

Descargar como (para miembros actualizados) txt (2 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com