lunes, 28 de septiembre de 2009
Atributo de Primitivas de Linea
Entonces, la pregunta que nos podemos hacer es como sabe OpenGL que quiero dibujar un punto o una linia ? Pues bien esto se hace con las primitivas, tenemos diferente tipos de primitivas que cuando le indicamos una de ellas pues se dibuja una cosa o otra, para indicar que tipo de primitiva queremos usar llamaremos a la funcion glBegin a la que le pasaremos por parametros el tipo de primitiva que queremos emplear y al finalizar de dibujar usaremos la función glEnd para indicar el fin.
Por ejemplo si queremos dibujar quadrados le indicarremos que el tipo poligono es GL_QUADS para poder dibujar el cuadrado le indicaremos cuatro puntos del espacio. Es muy importante el orden en que dibujaremos siempre lo haremos en el orden contrario horario, sino puede ser que los resultados no sean los que nosotros esperamos.
En la siguiente tabla se muestra las primitivas que acepta la funcion glBegin
GL_POINTS
los vertices que dibujemos solo dibujaran un punto
GL_LINES
cada dos vertices dibujara una linea, si la cantidad de vertices indicados es impar se elimina el ultimo.
GL_LINE_STRIP
se usan los vertices para dibujar lineas.Despues del segundo vertice, cada vertice subsiguente especifica el punto al que se extiende la linea.
GL_LINE_LOOP
igual que GL_LINE_STRIP pero el ultimo vertice de todos se unira con el primero de todos.
GL_TRIANGLES
Dibujara triangulos cada 3 vertices, si el numero de vertices indicados no se puede dibidir en 3 ignora los ultimos.
GL_TRIANGLE_STRIP
Dibujara un triangulo con los 3 primeros vertices despues con los 2 siguientes vertices y el ultimo de los 3 anteriores vuelve a dibujar un triangulo
GL_TRIANGLE_FAN
Dibuja un abanico de triangulos. Cada vertices despues del tercero se usa para dibujar otro triangulo.
GL_QUADS
Dibujara cuadrados cada 4 vertices. Si el numero de vertices no se puede dibidir en 4 ignora los ultimos vertices.
GL_QUAD_STRIP
Dibuja cuadrados consecutivos es decir, coge los dos ultimos vertices indicados con los dos nuevos y va dibujando cuadrados.
GL_POLYGON
con los vertices que indiquemos se dibuja un poligono convexo. El ultimo vertice indicado se cierra con el primero para asegurar que ha quedado cerrado.
En la siguiente imagen podemos ver como dibujarian las primitivas de OpenGL
Entonces si queremos dibujar 3 puntos en el espacio el codigo nos puede quedar de la siguiente forma:
glBegin GL_POINTS
glvertex3f 0,0,0
glvertex3f 0,10,0
glvertex3f 100,0,0
glend
Esto dibujara 3 puntos el primero en las coordenadas x = 0, y = 0, z = 0, el segundo en x = 0, y = 10, z = 0 y por ultimo el tercero en x = 100, y = 0 y z = 0
En el ejemplo de visual basic podéis ver como funcionan las primitivas explicadas.
CARACTERES GRAFICOS
Estos parámetros permiten redefinir los caracteres gráficos utilizados en la elaboración de recuadros de tipo 1 y 2 respectivamente. Sólo son aplicables a la versión PC del sistema, y cada uno de ellos consiste en una cadena de seis caracteres que definen:
1. Los lados verticales
2. Los lados horizontales
3. La esquina superior izquierda
4. La esquina superior derecha
5. La esquina inferior izquierda
6. La esquina inferior derecha
Por ejemplo:
11=-++++
12=******
El código ASCII (acrónimo inglés de American Standard Code for Information Interchange — (Código Estadounidense Estándar para el Intercambio de Información), pronunciado generalmente [áski], es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía.
El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el español.
ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 33 caracteres no imprimibles, de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre como se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio).
Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto.
El código ASCII define una relación entre caracteres específicos y secuencias de bits; además de reservar unos cuantos códigos de control para el procesador de textos, y no define ningún mecanismo para describir la estructura o la apariencia del texto en un documento; estos asuntos están especificados por otros lenguajes como los lenguajes de etiquetas.
PRIMITIVAS DE LLENADO DE AREAS
1. la decisión de que pixeles llenar (esto depende de la forma de la primitiva), y
2. la decisión mas sencilla de cual valor utilizar para el relleno.
En general, determinar que pixeles llenar consiste de tomar líneas de rastreo sucesivas que intersectan la primitiva y llenar en intervalos (spans) de pixeles adyacentes que están dentro de la primitiva de izquierda a derecha.
Para llenar un rectángulo con un color sólido, se asigna a cada pixel sobre una misma línea de rastreo desde el borde izquierdo al borde derecho el mismo valor de pixel; o sea llenamos cada intervalo de xmin a xmax. Se aprovecha de varios tipos de coherencias no solamente para convertir primitivas de 2D, pero también de 3D.
- Los intervalos explotan la coherencia espacial (spatial coherence) de una primitiva: el hecho que las primitivas a menudo no cambian de pixel en pixel dentro de un intervalo o de línea de rastreo a línea de rastreo. Se explota esta coherencia buscando solo aquellos pixeles donde ocurren cambios.
- Para una primitiva trazada de forma sólida, se asigna el mismo valor a todos los pixeles en un mismo intervalo, proporcionando coherencia de intervalo (span coherence).
- Un rectángulo trazado de forma sólida también muestra una fuerte coherencia de línea de rastreo (scan-line coherence) ya que líneas de rastreo consecutivas que intersectan el rectángulo son idéntica; mas tarde se usa también coherencia de arista (edge coherence) para los lados de polígonos generales.
La capacidad de manejar múltiples pixeles en un intervalo de forma idéntica es especialmente importante porque se debe escribir el frame buffer una palabra a la vez para minimizar el numero de accesos a memoria.
Conceptos del algoritmo de relleno de áreas
El algoritmo presentado a continuación considera polígonos cóncavos al igual que convexos, incluyendo aquellos que puedan tener huecos internos o intersectados por si mismos.
La siguiente figura ilustra el procedimiento de la línea de rastreo para el llenado sólido de polígono.
domingo, 27 de septiembre de 2009
ALGORITMOS PARA TRAZOS DE LINEAS
y = m. x + b (1)
con m como pendiente de la recta y b como intercepción y.
Dado que los dos extremos de un segmento rectilíneo se especifican como (x1 , y1) y (x2 , y2), podemos determinar valores de la pendiente m y de la intersección y, b, con los siguientes cálculos:
m = (y2 - y1) / (x2 - x1) (2)
b = y1 - m. x1 (3)
Los algoritmos para desplegar líneas rectas se basan en la ecuación de la recta (1) y los cálculos que se dan en las ecuaciones (2) y (3).
Para cualquier intervalo dx de x a lo largo de una recta, podemos calcular el intervalo dy de y correspondiente de la ecuación 2 como;
dy = m . dx (4)
Esta ecuación forma la base para determinar tensiones de deflexión en dispositivos analógicos. La variación en la tensión de deflexión horizontal se hace proporcional a dx y el cambio en la tensión de deflexión vertical se hace proporcional al valor de dy calculado a partir de la ecuación 4.
Estas deflexiones se usan después para generar una línea con pendiente m entre los extremos que se especifican. Creamos un vector con cinco componentes, al que seguidamente le asignamos las coordenadas (unas cualesquiera puestas a modo de ejemplo):
Punto 2 D p1[5];
p1[0].x ← 100;
p1[0].y ← 20;
p1[1].x ← 60;
p1[1].y ← 20;
p1[2].x ← 50;
p1[2].y ← 60;
p1[3].x ← 80;
p1[3].y ← 40;
p1[4].x ← 110;
p1[4].y ← 60;
Finalmente, podemos dibujar las líneas, aprovechando un bucle:
DESDE i=0 MIENTRAS i<4>
GRAFICA DE SOBREIMPRESION
Por defecto, cuando se imprimen colores opacos que se superponen, el color situado en primer plano cubre el área que está debajo. El uso de la sobreimpresión permite evitar la creación de coberturas, ya que hace que la tinta de impresión sobreimpresa situada más al frente aparezca transparente en relación con la tinta subyacente. El grado de transparencia en la impresión depende de la tinta, el papel y el método de impresión usado. Contacte con el servicio de impresión para determinar el efecto de estas variables sobre la ilustración final.
Es recomendable realizar sobreimpresiones en las siguientes situaciones:
-
Cuando se sobreimprime tinta negra para ayudar en el registro. Dado que la tinta negra es opaca (y suele ser la última en imprimirse), no aparece distinta cuando se imprime sobre un color, a diferencia de lo que ocurre con un fondo blanco. La sobreimpresión de negro puede evitar la aparición de huecos entre las áreas negras y coloreadas de la ilustración.
Cuando la ilustración no comparte colores de tintas de uso frecuente y desea crear un reventado o efectos de tintas superpuestas. Al sobreimprimir mezclas de colores de cuatricromía o personalizados que no comparten tintas comunes, el color sobreimpreso se añade al color de fondo. Por ejemplo, si imprime un relleno de magenta al 100% sobre un relleno de cian al 100%, los rellenos superpuestos serán de color violeta, no magenta.
Después de ajustar las opciones de sobreimpresión, debe utilizar el modo Previsualizar sobreimpresión (Ver > Previsualizar sobreimpresión) para ver una aproximación de cómo se imprimirán los colores de sobreimpresión. También es importante repasar los colores sobreimpresos en la ilustración separada con pruebas compuestas (donde cada separación se muestra en registro en un solo papel) o pruebas laminadas (donde las separaciones se muestran en registro en hojas de plástico independientes apiladas una encima de la otra).
Colores cubiertos (valor por defecto) y con sobreimpresión
En otras palabras: Cualquier instrucción de trazar un objeto lo hace en modo "opaco", no transparente (sí lo sería si los colores subyacentes sí aparecieran). PDF es un formato de fichero en el que se adoptó el mismo modelo de imagen hasta su versión 1.3. A partir de la versión 1.4, se adoptó un modelo de imagen transparente, en el que el último objeto dibujado puede dejar entrever en diferentes cantidades (de todo a nada) los objetos colocados debajo.
Un fichero PDF contiene los resultados de la ejecución de un fichero PostScript, escrito en un lenguaje muy similar al PostScript (pero no de programación).
jueves, 10 de septiembre de 2009
Dispositivos de Despliegue en Video
El proposito de cualquier despliegue de video es proyectar una imagen sobre una pantalla.
Existen dos formas de despliegue de video:
- Alfanumerica (simbolos de texto, letras y numeros)
- Grafica(simbolos pictoricos o lineas)
El despliegue de video le proporciona al usuario un ambiente mas dinamico; ya que la informacion solicitada por el usuario puede desplegarse como figuras animadas, graficos, diagramas con claves de color o simplemente como una serie de lineas.
Tipos de dispositivos:
- Dispositivo de exploracion por puntos: Semejantes a un televisor convencional, estos producen una imagen con una matriz de puntos coloreados, llamados pixeles, dentro de una malla o cuadricula. Cada pixel es una imagen oscura o clara dependiendo la configuracion que posea la imagen a crear, esta se crea cuando un haz de electrones se dispara sobre toda la pantalla y crea el efecto de color; aceptable para el ojo humano. La pantalla se explora 60 veces por segundo para actualizar la imagen.
- Dispositivo VGA: (Video Graphics Array) es de 640 X 480 pixeles. Entre mas pixeles por pulgada existan mejor sera la resolucion que este dispositivo muestre y los detalles seran mas faciles de leer. Los monitores con pantallas grandes pueden crear imagenes con 1,600 pixeles de forma horizontal y 1,200 de manera vertical.
viernes, 4 de septiembre de 2009
Configuracion de Pixeles en pantalla
Un píxel o pixel (acrónimo del inglés picture element, "elemento de imagen") es la menor unidad homogénea en color que forma parte de una imagen digital, ya sea esta una fotografía, un fotograma de vídeo o un gráfico.
Ampliando lo suficiente una imagen digital (zoom), por ejemplo en la pantalla de un ordenador, pueden observarse los píxeles que componen la imagen. Los píxeles aparecen como pequeños cuadrados o rectángulos en color, en blanco o en negro, o en matices de gris. Las imágenes se forman como una matriz rectangular de píxeles, donde cada píxel forma un área relativamente pequeña respecto a la imagen total.
Para poder transformar la información numérica que almacena un píxel en un color, hemos de conocer, además de la profundidad y brillo del color (el tamaño en bits del pixel), el modelo de color que estamos usando. Por ejemplo, el modelo de color RGB (Red-Green-Blue) permite crear un color componiendo tres colores básicos: el rojo, el verde y el azul. De esta forma, en función de la cantidad de cada uno de ellos que usemos veremos un resultado u otro. Por ejemplo, el color amarillo se obtiene mezclando el rojo y el verde. Las distintas tonalidades del amarillo se obtienen variando la proporción en que intervienen ambas componentes. En el modelo RGB es frecuente que se usen 8 bits para representar la proporción de cada una de las tres componentes primarias. De esta forma, cuando una de las componentes vale 0, significa que esta no interviene en la mezcla y cuando vale 255 (28 – 1) significa que interviene aportando el máximo de ese tono.
La mayor parte de los dispositivos que se usan con un ordenador (monitor, escáner,...) usan el modelo RGB.
Un pixel alcanza los 8 bits (2^8 colores), 24 bits (2^24 colores) o 48 bits (2^40 colores), este último valor de precisión sólo se obtiene con escáners o cámaras de gama alta (que usen formato raw o tiff, no en jpg).
Practica N. 3
Este comando es usado para limpiar la pantalla por el usuario; cuando ya se han ejecutado demasiadas instrucciones y se requiere espacio en pantalla.
El comando label; se utiliza para el renombramiento de archivos, carpetas o unidades que se encuentren dentro de nuestra maquina o en dispositivos que permitan la modificacion de dichos medios.