martes, 13 de marzo de 2012


Proyección ortogonal
De las proyecciones que hemos manejado mayormente han sido ortogonales. Antes que nada una proyección ortogonal es aquella que nos define un volumen a la vista de un paralepipédo. Las características de esta proyección es que es indispensable el tamaño de los objetos y es independiente de la distancia a la que este el observador de la imagen.
ejemplo




Proyeccion perspectiva
Esta proyeccion da la sensacion de profundidad porque el tamaño de los objetos no depende de la distancia del observador, porque para conseguir este efecto se debe definir una proyeccion perspectiva. Debido a que esta proyeccion define el volumende la vista.
 
Como hemos visto en clase OpenGL proporciona funciones para controlar la traslación, rotación y escalado. Estas tranformaciones se pueden representar como matrices 4x4 ordenadas como vectores columna.
Las  funciones que implementan las transformaciones es:

void glTranslate{fd}(TIPO x, TIPO y, TIPO z);
void glTranslatef(float x, float y, float z);
void glTranslated(double x, dluble y, double z);
void glRotate{fd}(TIPO angulo_en_grados, TIPO x, TIPO y, TIPO z);
void glScale{fd}(TIPO sx, TIPO sy, TIPO sz);

Ejemplo de matriz                                                              Ejemplo de matriz de rotación
De traslación
 
 




4. pila de matrices en opengl lea y resuma el siguiente enlace
las funciones de traslación aplicados en las imágenes provocan la multiplicación de la matriz actual de la imagen por una matriz de traslación creada con los argumentos que se le pasan, por lo que las continuas llamadas a la función display() provocan la creación de constantes multiplicaciones de la matriz actual con el efecto que se observa de incrementar la traslación.

Por ello para solucionar el problema OpenGL llega a dispoder de las pilas de matrices las cuales permiten el almacenamiento y la recuperación de las matrices anteriormente usadas o manejadas. Antes que nada una pila es un almacén con funcionamiento FIFO, el último en entrar es el primero en salir, por lo que suele comparar a una pila de platos en la que sólo se puede dejar uno encima de la pila o coger el superior que es el último depositado.

La pila de matrices tiene el mismo funcionamiento sustituyendo los platos por matrices. La matriz superior de la pila es sobre la que se aplican las distintas transformaciones, multiplicándola por la matriz que generan las disntintas funciones.

En el código que a continuación se muestra, se encuentra declarando dos funciones de matrices las cuales se tratan de glPushMatrix() y glPopMatrix().
La función glPushMatrix() lo que hace es una copia de la matriz superior y la pone encima de la pila, de tal forma que las dos matrices superiores son iguales. Al llamar a la función glPushMatrix() se duplica la matriz superior. Las siguientes transformaciones que se realizan se aplican sólo a la matriz superior de la pila, quedando la anterior con los valores que tenía en el momento de llamar a la función glPushMatrix().
La función glPopMatrix() provoca la eliminación de la matriz superior, dejando asi en la parte superior de la pila la matriz que estaba en el momento de llamar a la función GlPushMatrix().
void display(void) {
...
// glPushMatrix();
...
glTranslatef(0.0, 0.0, .5);
...
// glPopMatrix();
glutSwapBuffers();
}

Al ejecutar de nuevo la aplicación, primeramente tiene el mismo aspecto que sin comentar las llamadas, pero si obligamos a que se llame varias veces a la función display(). La razón de este movimiento es que en la función display está incluida una llamada a glTranslatef() que se utiliza para posicionar uno de los objetos.


viernes, 2 de marzo de 2012

PROYECCION ORTOGONAL

Coordenadas oculares
Este tipo de coordenadas se encuentran situadas en el punto de vista que tiene el observador, sin que importe las transformaciones que llegue a temer. Lo cual representan de manera virtual un sistema de coordenadas. Dando la impresión de una imagen en 3D.

Transformaciones
Son las que posibilitan la proyección de las coordenadas como anteriormente se menciono en 3D con rotación y movimiento sobre la superficie de 2D. Y es solamente aplicado a modelos en si o al sistema de coordenadas para que sea posible la rotación de algún objeto.

Existen cuatro tipos de transformaciones que son:

Transformación del observador
Transformación del modelo
Transformación de la proyección
Transformaciones de la vista



Transformación del observador

Es aplicado a la escena y es usado para determinar el punto ventajoso de las escenas graficas. Esto debido a que permite ciclar y apuntar la cámara hacia donde se quiera.

Transformación del modelo

Se usa para situar, rotar y escalar los objetos de la escena y poder ver la diferencia en rotación y en traslación y realizarlo nuevamente pero invirtiendo el orden.

Transformación de la proyección
Aplicado en la orientación del modelador. Esto quiere decir que define el volumen de visualización y establece lo que son los planos de trabajo.

Transformaciones de la vista
En el momento en que se ha terminado todo el proceso de transformaciones, solo queda un último paso: proyectar lo que hemos dibujado en 3D al 2D de la pantalla, en la ventana en la que estamos trabajando. Esta es la denominada transformación de la vista.

Matrices
Las matemáticas son aplicadas en las transformaciones debido al uso de las matrices. Esto porque cada una de las transformaciones anteriores se realiza debido a la aplicación de matrices las cuales contienen los vértices de manera como descripción. Por lo tanto las transformaciones que son ejecutables con open GL pueden describirse con la multiplicación de dos o más matrices.

Matriz del modelador
Es una matriz con una dimensión de 4x4 que representa cierto sistema de coordenadas ya transformado que se esté usando para poder colocar y orientar a los objetos de la grafica que estemos manejando.

Es aquella imagen que se origina de otra imagen base por decirlo de cierta forma, que se encuentra fija en un origen fijo (x,y,z) y se quiere mover n unidades hacia la derecha, izquierda, etc. Para ello es necesaria una matriz de transformación y multiplicarla por la matriz del modelador. Por eso se hace uso de la función glTranslate, el cual crea a la matriz necesaria para la traslación de la imagen.

 Para llevar a cabo esta acción se cuenta con una función de alto nivel que al igual que el de traslación construye una matriz de transformación la cual es multiplicada por la matriz activa de la imagen que se tiene realizada y es glRotate, el cual lleva como parámetros del ángulo que se va a rotar (en grados, sentido horario).

Como el mismo tema lo dice es la transformación de escala el cual incrementa el tamaño de nuestro objeto al expandirlo por todos los vértices a lo largo de los tres ejes por los factores especificados. La función que se usa para realizar dicha acción es glScale el cual lleva como parámetros la escala en x, y y z, respectivamente.

El “problema” del uso de las funciones de escalado, rotación y traslación surge cuando se tiene más de un objeto en la escena. Estas funciones tienen efectos acumulativos. Para resolver el problema se hace un reinicio de la matriz del modeladora un estado que ya sea conocido, en este caso, centrada en el origen del sistema de coordenadas oculares.

lunes, 27 de febrero de 2012

CUBO 2D


CODIGO DE CUBO EN 2D
#include <GL/glut.h>


void myinit(void)
{
      glClearColor(1.0, 1.0, 1.0, 1.0);
      glColor3f(1.0, 0.0, 0.0); 
      glMatrixMode(GL_PROJECTION);
      glLoadIdentity();
      gluOrtho2D(0.0, 500.0, 0.0, 500.0);
      glMatrixMode(GL_MODELVIEW);
}




void display( void )
{


    typedef GLfloat point2[2];     


    point2 verticesc[8]={{150.0,150.0},{350.0,150.0},{350.0,350.0},{150.0,350.0},{250.0,250.0},{400.0,250.0},{400.0,450.0},{250.0,450.0}};




    glClear(GL_COLOR_BUFFER_BIT);


glBegin(GL_LINES);
glVertex2fv(verticesc[0]);
glVertex2fv(verticesc[1]);
glVertex2fv(verticesc[1]);
glVertex2fv(verticesc[2]);
glVertex2fv(verticesc[2]);
glVertex2fv(verticesc[3]);
glVertex2fv(verticesc[3]);
glVertex2fv(verticesc[0]);
glVertex2fv(verticesc[0]);
glVertex2fv(verticesc[4]);
glVertex2fv(verticesc[4]);
glVertex2fv(verticesc[5]);
glVertex2fv(verticesc[5]);
glVertex2fv(verticesc[6]);
glVertex2fv(verticesc[6]);
glVertex2fv(verticesc[7]);
glVertex2fv(verticesc[7]);
glVertex2fv(verticesc[3]);
glVertex2fv(verticesc[7]);
glVertex2fv(verticesc[4]);
glVertex2fv(verticesc[6]);
glVertex2fv(verticesc[2]);
glVertex2fv(verticesc[5]);
glVertex2fv(verticesc[1]);
glEnd();

     glFlush(); 
 }

//http://lapalabradelmanko.wordpress.com/2010/09/22/dibujar-funcion-seno-en-opengl/


void main(int argc, char** argv)
{
    //glutInit(&amp;argc,argv);
    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); 
    glutInitWindowSize(500,500); 
    glutInitWindowPosition(0,0); 
    glutCreateWindow("Cubo");
    glutDisplayFunc(display); 




    myinit();




    glutMainLoop();
}

martes, 14 de febrero de 2012

Investigar y escribir ejemplos de fractales y sus definiciones:

fractal natural.- Es un elemento de la naturaleza que puede ser descrito mediante la geometria fractal. Las nubes las montañas, el sistema circulatorio, etc.
fractal de Mandelbrot.- Se genera mediante un algoritmo matematico. Los fractales de este tipo precisan de millones de operaciones, por lo cual sólo pueden dibujarse con la inestimable ayuda del ordenador.  Este fractal generar un infinito conjunto de fractales, ya que por cada punto se puede generar un fractal tipo Julia, que es una ligera modificación en la fórmula del Mandelbrot.
Fractales koch y sierpinski.– Cambia los colores y pausa la simulación de estos fractales en cualquier momento.
Fractales poligonales.– Cambia los parámetros para crear distintos fractales.
Fractales iterativos.– Genera seis fractales distintos.
 funciones de escape.- Son aquellas operaciones matematicas las cuales nos permiten calcular mediante el valor de las coordenadas de los pixeles que se analizan las iteraciones que se desarrollaran en la impresión de la imagen.

fractales basados en procesos estocasticos.- Se le denomina a aquellso fundamentos matematicos y fisicos existentesque tratan los diferentes tipos de comportamientos existentes.  

martes, 7 de febrero de 2012

¿Que es un Fractal?
Son aquellas imágenes quebradas o fracturadas que no tienen una forma geometrica especifica, sino todo lo contrario una forma irregular que se repite en diferentes escalas, como por ejemplo la imagen de las hojas de un arbol en el cual no todas sus hojas son iguales en tamaño,color y diseño.

¿Qué es la geometria fractal?
La geometria fractales es simplemente la imagen geometrica de una imagen pero que esta imagen es copia repetida ya sean pequeñas o grandes  según la intencion de diseño que se temga.

Mencione 5  imagenes  fractales mas conocidas
Triángulo de Sierpinski
Conjunto de Cantor
Curva de Koch
Conjunto de Mandelbrot

viernes, 3 de febrero de 2012


ÍNDICE

1  Introducción a la graficación por  computadora
BIBLIOGRAFÍA


  
1  Introducción a la graficación por  computadora.

Desde tiempos antiguos la ciencia ha sido la más sobresaliente en aspectos de investigaciones, esto porque se encarga del estudio, trabajos y diseño de inventos y avances que son descubiertos. Y debido a ello la computación grafica llega a ser rama de la ciencia debido a que trabajan en los mismos campos.




Las graficas por computadora como bien se menciona en el tema es para todas aquellas actividades y trabajos realizados  en computadora y para facilitar el uso de un mejor manejo de imágenes.
Como por ejemplo en las áreas donde son aplicadas son:
Animaciones por computadora para cinematografías.
Video juegos
Visualización científica como por ejemplo: en el campo de la medicina industrias educación artes graficas, etc.


Los sistemas gráficos para que puedan funcionar de manera adecuada para el uso en actividades como la ciencia, la programación y el diseño de imágenes son:
 Procesador: encargado de generar imágenes creadas como por ejemplo para desarrollar ecuaciones matemáticas.
Memoria: necesaria para poder visualizar en el equipo (PC) las graficas que se estén realizando en el programa que se esté manejando.
Frame buffer: nos presenta a manera de pixeles los gráficos que vallamos a estar manejando.
Dispositivos de salida: accesorios los cuales nos permitirán visualizar los gráficos desarrollados.
Dispositivos de entrada: aquellos que nos permitirán desarrollar los diseños asistidos por computadora.



El formato de gráficos se refiere a los tipos de ficheros existentes los cuales llegan a componerse de alguna imagen digital pero en código binario los cuales son diferentes posibilidades de visualización con respecto a la resolución de la imagen que se esté manejando y a la compatibilidad que esta tenga.
El fin que tiene usar los formatos gráficos de almacenamiento es buscar la mejor calidad y menor capacidad en los formatos de los ficheros. Por lo que cada formato de imagen se basa en una o más técnicas diferentes de codificación especial, entre otros para mayor calidad de imagen.


La imagen puede estar formada por un número diferente de píxeles, dependiendo de su tamaño y resolución, y tener más o menos colores. En función del número de píxeles y del número de colores la imagen tendrá más o menos calidad, pero cuanto más calidad tenga, más ocupará el fichero necesario para almacenarla. En el caso de los gráficos vectoriales no se definen píxeles individuales, dependiendo la calidad y el peso final del formato concreto en que se almacenen. 


BIBLIOGRAFÍA


miércoles, 1 de febrero de 2012

hardware y software grafico
aliasing definicion: Es el efecto que causa que señales continuas distintas se tornen indistinguibles cuando se muestrean digitalmente. Cuando esto sucede, la señal original no puede ser reconstruida de forma unívoca a partir de la señal digitaldispositivos.

Antialiasing Definicion: Son los procesos que permiten minimizar el aliasing cuando se desea representar una señal de alta resolución en un sustrato de más baja resolución.
CRT: Tubo de vacío en cuyo interior un cátodo de metal calentado mediante un filamento por el que circula corriente eléctrica.

LCD: Monitores de cuarzo líquido utilizan dos placas de cristal que contienen cada una un polarizador de luz girado 90 grados una respecto a la otra.
nvidia GeForce2 GTS: Tarjeta gráfica, adecuada para ordenadores personales, esta orientada especialmente al mercado de juegos. Su nombre significa GigaTexel Shader (GTS), haciendo referencia a la capacidad de procesado de texturas, ya que en cada ciclo de reloj las dos unidades de textura calculan cuatro pixels, lo que nos da 1.6 Gtexels por segundo.

Televisores LCD

Como funciona: se compone de cristales líquidos, que son elementos que se coloca entre dos capas de cristales polarizados. Cada píxel de la pantalla incluye moléculas helicoidales de cristal líquido, que es un material especial que comparte propiedades de un sólido y líquido.
Componentes de un televisor LCD:
    Reflectores y fuente de luz (fluorescentes o más recientemente LEDs)
    Paneles polarizados.
    Cristal frontal.
    Panel de cristal líquido.
    Filtro de color RGB.

Que es una pantalla de plasma:
Es una pantalla plana, liviana, con una capa o substrato superficial que cubre millones de pequeñas celdas o "burbujas". De los cuales cada burbuja contiene neón y xenón gaseoso a baja presión, y está cubierta con una substancia fosfórica. Dentro de cada celda, hay tres subceldas que generarán los respectivos colores primarios, rojo, verde y azul (RGB).