domingo, 14 de agosto de 2016

Tres programas que dibujan

GATO

Crear un programa que dibuje la siguiente figura en color azul con linea 10px en el centro de una pantalla de 480*480 con fondo blanco.
 /**

 UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO
 FACULTAD DE INGENIERIA
 INGENIERIA EN COMPUTACION
 GRAFICACION 2016B
 OBJETIVO DEL PROGRAMA: CREAR UN PROGRAMA QUE DIBUJE LA FIGURA DE UN GATO EN COLOR AZUL,CON LINEA DE 10PX EN EL CENTRO DE UNA PANTALLA DE 480 * 480 CON FONDO BLANCO.

 INTEGRANTES:
 GARNICA AYALA HECTOR DANIEL
 RICARDO DANIEL GONZALEZ GOMEZ
 DAVID GOMEZ JARAMILLO
 JUAN GARCIA GARCIA
 IVAN CHAVEZ GUTIERREZ

**/
Código
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>

void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glLineWidth(10.0);//tamaño de linea de 10px
    glColor3f(0.0,0.0,1.0);//color azul de la linea

    //   cuerpo o contorno del gato
    glEnable(GL_LINE_SMOOTH);//suavizado de linea
    glBegin(GL_LINE_LOOP);
    glVertex2f(1,2);
    glVertex2f(5,2);
    glVertex2f(5,4);
    glVertex2f(3,4);
    glVertex2f(3,5);
    glVertex2f(4,6);
    glVertex2f(6,6);
    glVertex2f(6,2);
    glVertex2f(9,2);
    glVertex2f(9,4);
    glVertex2f(8,4);
    glVertex2f(8,7);
    glVertex2f(9,6);
    glVertex2f(11,5);
    glVertex2f(13,5);
    glVertex2f(15,6);
    glVertex2f(16,7);
    glVertex2f(16,13);
    glVertex2f(14,11);
    glVertex2f(10,11);
    glVertex2f(8,13);
    glVertex2f(8,9);
    glVertex2f(6,11);
    glVertex2f(4,11);
    glVertex2f(2,9);
    glVertex2f(2,12);
    glVertex2f(3,12);
    glVertex2f(5,14);
    glVertex2f(5,15);
    glVertex2f(3,15);
    glVertex2f(0,12);
    glVertex2f(0,8);
    glEnd();


    //ojo derecho del gato
    glEnable(GL_LINE_SMOOTH);
    glBegin(GL_LINE_LOOP);
    glVertex2f(9,10);
    glVertex2f(11,10);
    glVertex2f(11,8);
    glVertex2f(9,8);
    glEnd();
    //ojo izquierdo del gato
    glEnable(GL_LINE_SMOOTH);
    glBegin(GL_LINE_LOOP);
    glVertex2f(13,10);
    glVertex2f(15,10);
    glVertex2f(15,8);
    glVertex2f(13,8);
    glEnd();

    //Nariz
    glEnable(GL_LINE_SMOOTH);
    glBegin(GL_LINE_LOOP);
    glVertex2f(12,8);
    glVertex2f(11,7);
    glVertex2f(13,7);
    glEnd();

    glFlush();

}


void Init()
{
    glClearColor(1.0,1.0,1.0,0);
    gluOrtho2D(0,16,0, 16);
    //glMatrixMode(GL_PROJECTION);
}


int main(int argc, char **argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowPosition(100,100);

    glutInitWindowSize(480,480);
    glutCreateWindow("Gato");//tiulo de la pantalla
    Init();//
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}


Captura de pantalla

Descargar Archivo

Gato.txt 


FLOR


Captura de pantalla

Código

#include </usr/include/GL/glut.h>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>
#define PI 3.14159265
#define ANCHO 640//Ancho pantalla
#define ALTO 480//Alto pantalla
#define PETALOS 6//Numero de petalos

int tam_px=4;
float cx = 320, cy=240, radio=100;
float r,g,b,dx,dy;

void display(void){
glClear(GL_COLOR_BUFFER_BIT);
//glLineWidth(tam_ln);
glPointSize(tam_px);
glColor3f(0.5f, 0.0f, 1.0f);
glBegin(GL_TRIANGLE_FAN);
float i;
for (i = 0.0; i < PI * 2; i += 0.01)
{
dx = radio*cos(i) + cx;
dy = radio*sin(i) + cy;
glVertex2f(dx,dy);
}
glEnd();
/*Petalos*/
int ind; 
int radio2 = (radio / 2) + 4; 
int angDef = 360/PETALOS;
int ang = 20;
for (ind = 0; ind < PETALOS; ind++){
glBegin(GL_TRIANGLE_FAN);
float i;
for (i = 0.0; i < PI * 2; i += 0.01)
{
dx = radio2*cos(i) + cx;
dy = radio2*sin(i) + cy;
glVertex2f(dx + (radio*cos(ang * (PI/180))), dy + (radio*sin(ang * (PI/180))) );
}
glEnd();
ang = ang + angDef;
}
/*Centro*/
radio = 40;
glColor3f(1.0f, 1.0f, 1.0f);
glBegin(GL_TRIANGLE_FAN);
for (i = 0.0; i < PI * 2; i += 0.01)
{
dx = radio*cos(i) + cx;
dy = radio*sin(i) + cy;
glVertex2f(dx,dy);
}
glEnd();

glFlush();
}

void Init(){
glClearColor(1.0,1.0,1.0,0);
gluOrtho2D(0, ANCHO, 0, ALTO);
glEnable(GL_POINT_SMOOTH);
}

int main(int argc, char **argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowPosition(100,100);
glutInitWindowSize(ANCHO, ALTO);
glutCreateWindow("Flor");
glClearColor(0.8,0.4,0.0,0);//fondo

Init();

glutDisplayFunc(display);//muestra lo que quiero ver
glutMainLoop();
/*
El VIEWPORT es diferente 
*/
return 0;
}


Dibujar la letra G de google


  


/**

 UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO
 FACULTAD DE INGENIERIA
 INGENIERIA EN COMPUTACION
 GRAFICACION 2016B
 OBJETIVO DEL PROGRAMA: CREAR EL LOGO DE GOOGLE

 INTEGRANTES:
 GARNICA AYALA HECTOR DANIEL
 RICARDO DANIEL GONZALEZ
 DAVID GOMEZ JARAMILLO
 JUAN GARCIA GARCIA

**/
#include <windows.h>
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <GL/glut.h>

int tam_px=4, ancho=500, alto=500;
float cx=250, cy=250, radio=100, pi=3.1416;
float r,g,b,dx,dy;

void display(void){
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(tam_px);

    //glBegin(GL_POINTS);//IMPORTANTE, QUE ES LO QUE SE VA A DIBUJAR
    glBegin(GL_TRIANGLE_FAN);
    glVertex2f(cx,cy);
        r = (float)rand() / RAND_MAX;
        g = (float)rand() / RAND_MAX;
        b = (float)rand() / RAND_MAX;
        glColor3f(1,0,0);
        float i;
        for (i = 0.7; i < pi/1.9; i += 0.03)
        {
            dx = radio*cos(i) + cx;
            dy = radio*sin(i) + cy;
            glVertex2f(dx,dy);
        }
        glColor3f(1,1,0);
        for (i = 1.7; i < pi; i += 0.03)
        {
            dx = radio*cos(i) + cx;
            dy = radio*sin(i) + cy;
            glVertex2f(dx,dy);
        }
        glColor3f(0,1,0);
        for (i = 2.5; i < pi; i += 0.03)
        {
            dx = radio*cos(i) + cx;
            dy = radio*sin(i) + cy;
            glVertex2f(dx,dy);
        }
        glColor3f(0,0,1);
        for (i = 3.2; i < 2*pi; i += 0.03)
        {
            dx = radio*cos(i) + cx;
            dy = radio*sin(i) + cy;
            glVertex2f(dx,dy);
        }

        glColor3f(1,1,1);
        for (i = 0; i < 2*pi; i += 0.03)
        {
            dx = 50*cos(i) + cx;
            dy = 50*sin(i) + cy;
            glVertex2f(dx,dy);
        }




    glEnd();

    glFlush();
}

void Init(){
    glClearColor(1.0,1.0,1.0,0);
    gluOrtho2D(0,ancho,0,alto);
    glEnable(GL_POINT_SMOOTH);
}

int main(int argc, char **argv){
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutInitWindowPosition(100,100);
    glutInitWindowSize(ancho,alto);
    glutCreateWindow("Google");
    glClearColor(0.8,0.4,0.0,0);//fondo

    Init();

    glutDisplayFunc(display);//muestra lo que quiero ver
    glutMainLoop();
    /*
    El VIEWPORT es diferente
    */
    return 0;
}

Descargar Archivo
 G.txt




No hay comentarios:

Publicar un comentario