miércoles, 3 de diciembre de 2014

Relleno de polígonos

En geometría, un polígono es una figura plana compuesta por una secuencia finita de segmentos rectos consecutivos que cierran una región en el plano. Estos segmentos son llamados lados, y los puntos en que se intersecan se llaman vértices.
En un sentido amplio, se define como una región del espacio delimitada por un conjunto de líneas (aristas) y cuyo interior puede estar rellenado por un color o patrón dado.

La tarea de rellenar a figuras primitivas puede ser dividida en dos partes: la decisión de cuáles pixeles se tienen que rellenar (que depende de la forma de la primitiva modificada por el recortado), y la decisión más sencilla de cuál valor rellenarlos.


Casos de relleno según su complejidad

El caso más sencillo de relleno es el triangulo.
Luego sigue el relleno de polígonos convexos de N-lados.
Relleno de polígonos cóncavos.




Método de relleno de polígonos con color.

SCAN-LINE
INUNDACIÓN
FUERZA BRUTA
PATRÓN


SCAN-LINE.

Fila a fila van trazando líneas de color entre aristas.
para scan-line que cruce el polígono se busca en la intersección entre las líneas de barrido y las aristas del polígono.
Dichas intersecciones se ordenan y se rellenan a pares.




Línea de barrido.

Es válido para polígonos cóncavos como convexos. Incluso para si el objeto tiene huecos interiores. 

Funcionan en el trozo de líneas horizontales, denominadas lineas de barridos, que intersecan un número de veces, permitiendo a partir de ella identificar los puntos que se consideran interiores al polígono.




Inundación.
                                                            
Empieza en un interior y pinta hasta encontrar la frontera del objeto. 

Partimos de un punto inicial (x,y), un color de relleno y un color de frontera. 

El algoritmo va testeando los píxeles vecinos a los ya pintados, viendo si son frontera o no. 

No solo sirven para polígonos, sino para cualquier área curva para cualquier imagen AE se usan los programas de dibujo.



Fuerza bruta.


Calcula una caja contenedora del objeto. 
Hace un barrido interno de la caja para comprobar c/pixel este dentro del polígono. 
Con polígonos simétricos basta con que hagamos un solo barrido en una sección y replicar los demás pixeles. 
Requiere aritmética punto-flotante, esto lo hace preciso y costoso.




Relleno mediante un patrón.


Un patrón viene definido por el área rectangular en el que cada punto tiene determinado color o nivel de gris. Este patrón debe repetirse de modo periódico dentro de la región a rellenar. Para ello debemos establecer una relación entre los puntos del patrón y los pixeles de la figura. En definitiva debemos determinar la situación inicial del patrón respecto a la figura de tal forma que podamos establecer una correspondencia entre los pixeles interiores al polígono y los puntos del patrón.

Alternativas para la situación inicial del patrón.

Consiste en situar el punto asociado a la esquina superior izquierda del patrón en un vértice del polígono. 
Considerar la región a rellenar en toda la pantalla y por lo tanto el patrón se citua en el origen de esta (esquina superior izquierda).

  

Conclusión.

Para concluir un polígono es una figura plana compuesta por una secuencia finita de segmentos rectos consecutivos que cierran una región en el plano. Estos segmentos son llamados lados, y los puntos en que se intersecan se llaman vértices. Y existen diferentes formas de rellenarlos de color.
Bibliografía

http://es.scribd.com/doc/39390470/Computacion-Grafica-Iluminacion-y-Sombreado
http://www.buenastareas.com/ensayos/Computacion-Grafica-Tecnicas-De-Sombreado-e/1156313.html

Líneas y superficies curvas

Líneas..



La recta es una sucesión infinita o continua de puntos a lineados en una sola dirección. Es una de las primitivas gráficas en computación gráfica viene dada por la ecuación y= m.x+b, donde m es la pendiente de la recta y v es el corte con el eje y.
Como los pixeles se grafican en posiciones enteras, la línea trazada solo puede aproximar posiciones de líneas reales entre los puntos extremos especificados.

Una línea recta debe dibujarse como una sucesión de pixeles.


Efecto de escalera que se produce cuando se genera una línea como una serie de pixeles
 .





Trasformar primitivas en pixeles
Las coordenadas de los pixeles deben estar lo más cerca posible de una línea recta real.
Un algoritmo debe cumplir con:
La secuencia de pixeles debe ser lo más recta que se pueda.
Las líneas deben tener el mismo grosor e intensidad sin importar el grado de inclinación.
Las líneas deben dibujarse lo mas rápido posible.
Superficies curvas
Las superficies curvas pueden generarse a partir de un conjunto funciones matemáticas que definen la superficies o bien a partir de un conjunto de puntos de datos especificados por el usuario.
Cuando se especifican funciones de curvas, un paquete puede emplear las ecuaciones definidoras para localizar y gráfica posiciones de pixeles a lo largo de la trayectoria de la curva, casi igual como sucede con las curvas en dos dimensiones.
La definición analítica de una dada curva puede hacerse de varios modos y se relaciona directamente con la forma de representarla gráficamente:
Explícitamente:
 y = f(x)
Implícitamente:
  f(x, y) = 0
Paramétricamente:
   x = x(t)
   y = y(t)
Representación Explícita
Es la más conocida desde que nos ensenaron a utilizar las coordenadas cartesianas para graficar funciones.
En 3D, para representar una curva se requieren dos ecuaciones:
y = f (x),  z = g(x)
Obteniendo una superficie  en 3D que será:
z = f (x, y)
Representación Implícita
Para curvas y superficies estándar (rectas, círculos, planos, toroides, etc.), este tipo de definición es mas directa y permite visualizar y modificar sencillamente parámetros importantes y específicos de cada curva (radio en un circulo, distancia al origen en un plano, etc.).
En 3D, una superficie se describe por
f(x, y, z) = 0

Representación paramétrica
El valor de cada variable espacial se expresa en términos de una variable independiente (t), llamada parámetro.
Estas funciones juntas han de  formar las ecuaciones paramétricas de una curva:
x = x(t)
y = y(t)
z = z(t)
Cada valor de t determina un punto (x,y) que se puede representar en un sistema de coordenadas.
La configuración de los objetos gráficos 3D curvas y superficies también se puede ilustrar con mayor detalle mediante la siguiente escena:

Variables para la escala y los giros
En gráficos 3D se agregaron unas variables para conocer y controlar los ángulos de giro del espacio: <Espacio>.rot.y y <Espacio>.rot.y donde <Espacio> es el nombre del espacio.
También se agregaron las variables <Espacio>.escala y <Espacio>.observador que sirven para controlar la escala y la distancia aparente al observador, ambas se miden en pixeles. La siguiente escena ilustra explícitamente el uso de estas variables. Observe que si el usuario cambia la escala o gira el espacio arrastrando el ratón, los controles numéricos se actualizan con los nuevos valores de la escala y las rotaciones.

Conclusión
Todos los gráficos diseñados en 2D o 3D, requieren de algún modelo matemático o cálculos vitales para su construcción y para llevar a cabo las operaciones de coordenadas en x,y,z. Se pueden utilizar para las transformaciones tridimensionales que utilizan matrices de transformación donde se expresan y se resuelven posiciones en coordenadas homogéneas, que nos permite representar todas las ecuaciones de trasformación geométrica
Bibliografía
http://informatica.uv.es/iiguia/AIG/web_teoria/tema3.pdf
http://grafi-ricardo.blogspot.mx/2012/03/la-representacion-de-los-objetos-en.html

Transformaciones tridimensionales


Las transformaciones de los objetos, son la Posición, la Rotación y la Escala.

Determinan la ubicación en el la escena mediante coordenadas trigonométricas en los ejes de coordenadas  x, y y z. Se refieren a todo el objeto.  La manera más fácil de conseguir las transformaciones básicas (traslación, rotación, escalación, en general las transformaciones afines) es utilizando matrices de transformación.

Coordenadas homogéneas

Nos será útil sustituir las coordenadas (x, y) por las coordenadas (xh, yh, h), llamadas coordenadas homogéneas.

Expresar posiciones en coordenadas homogéneas nos permite representar todas las ecuaciones de transformación geométrica como multiplicaciones de matriz. Se representan las coordenadas con vectores de columna de 3 elementos y las operaciones de transformación se expresan como matrices de 3 por 3.

Matrices de transformación en 3D más comunes
Traslación

En la representación homogénea tridimensional de las coordenadas, se traslada un punto de la posición P = (x, y, z) a la posición P’ = (x’, y’, z’) con la operación de matriz.
P’ = T x P
donde P y P’ son vectores columna como matrices, la matriz



Rotación
Para generar una transformación de rotación, debemos designar un eje de rotación respecto del cual girará el objeto, y la cantidad de rotación angular, es decir, un ángulo (θ).
Una rotación tridimensional se puede especificar alrededor de cualquier línea en el espacio.

Los ejes de rotación más fáciles de manejar son aquellos paralelos a los ejes de coordenadas.
Se forma una matriz de rotación inversa al sustituir el ángulo de rotación θ por –θ. Los valores negativos para los ángulos de rotación generan rotaciones en una dirección en el sentido del reloj, de modo que se produce la matriz identidad cuando se multiplica cualquier matriz de rotación por su inverso




Escalación

La matriz para la transformación de escalación de una posición P = (x, y, z) con respecto del origen de las coordenadas se puede escribir como:

Donde ex, ey, y ez pueden tener cualquier valor positivo (valores de escalación en cada uno de los ejes, si estos no son iguales, se cambian las dimensiones relativas en el objeto).



La escalación con respecto a una posición fija seleccionada se puede obtener con la siguiente secuencia de transformación:

1. Se traslada el punto fijo al origen.

2. Se escala el objeto con respecto al origen.

3. Se traslada el punto fijo a su posición original.


Conclusión

Cabe mencionar que todos los gráficos por computadora que han existido, hay requerido de algún modelo matemático o cálculos vitales para su construcción. Y no es la excepción en la actualidad, pues con las transformaciones tridimensionales se utilizan matrices de transformación donde se expresan y se resuelven posiciones se utilizan cálculos.

Bibliografía

http://arquimedes.matem.unam.mx/pasados/CursoDescartes_3.853/Graficas3D.html
http://mimosa.pntic.mec.es/clobo/geoweb/espa2.htm

Visualizacion de objetos

En este caso trataremos con las proyecciones que van del espacio al plano (3D a 2D). La proyección de objetos tridimensionales serán definidos por la intersección de líneas rectas que van desde un centro de proyección u ojo, hasta cada punto del objeto.


Proyección Acotada.

Es una proyección ortogonal sobre la que se acotan en cada punto, línea, u objeto representado la altura (cota) del mismo con respecto a cualquier plano de referencia que sea paralelo al plano de proyección. La proyección acotada es muy práctica cuando es necesario representar gráficamente objetos irregulares; razón por la cual se usa frecuentemente para el diseño de techos de viviendas; construcción de puentes, represas, acueductos, gasoductos, carreteras, determinación de áreas de parcelas, trazado de linderos, y dibujos topográficos de plantas y perfiles de terrenos, entre otros.



Proyección Cónica.
Denominada también perspectiva. Se obtiene cuando el punto de observación y el objeto se encuentran relativamente cercanos. Es el sistema de representación gráfico en donde el haz de rayos proyectantes confluye en un punto (el ojo del observador), proyectándose la imagen en un plano auxiliar situado entre el objeto a representar y el punto de vista.
Geométricamente, una fotografía es una perspectiva; razón por la cual la proyección cónica sobrepasa en excelencia a los demás sistemas de proyección por ser la que más se acerca a la vista real obtenida por el observador.




Proyección Cilíndrica
Se obtiene cuando el punto de observación se encuentra a una distancia tan grande del objeto, que permita considerar que las proyectantes son paralelas al interceptarse con el plano de proyección. Los principales tipos de proyección cilíndrica son:




·         Proyección Ortogonal
También denominada proyección ortográfica. Se obtiene cuando las proyectantes son perpendiculares al plano de proyección. La proyección ortogonal es muy utilizada en el diseño de piezas mecánicas y maquinarias.

La proyección ortogonal es el método que se utiliza para representar la forma exacta de un modelo por medio de dos o más vistas sobre planos que forman ángulos rectos entre sí. La proyección se obtiene por la intersección de las perpendiculares trazadas desde el modelo sobre los planos de proyección.

·         Proyección Oblicua

Se obtiene cuando las proyectantes no son perpendiculares al plano de proyección. Preferentemente al dibujar en proyección oblicua se coloca el plano de proyección paralelo a una de las caras principales del objeto; ya que de esta forma dicha cara se proyectará en verdadero tamaño.

Conclusión
La visualización de los objetos creados se puede mostrar desde muchas perspectivas para así poder ser modificar y vistas, facilitando la creación de modelos en 3D y modificarlos de una manera sencilla y eficiente.
Las existencia de diferentes vistas en el medio de la  graficación, nos da una idea de lo detallista que se debe hacer al crear algún diseño, por mencionar alguno; la proyección cónica, siendo la más usual y general al presentar un grafico, nos muestra un punto de observación y el objeto, donde se encuentran relativamente cercanos.
Bibliografía.
http://www.monografias.com/trabajos87/informe-topografia/informe-topografia.shtml
http://agora.escoladeltreball.org/Members/jvences/m01-1jmsa-1hmsa-m06-1hmmo/representacion%20por%20vistas%20con%20anotaciones.pdf

Representación de objetos en tres dimensiones

Se llaman gráficos 3D  (escrito de una manera simplificada)   a todos los objetos que se pueden dibujar en un espacio R3 (3 dimensiones): puntos, segmentos, curvas, superficies y varios cuerpos formados por caras poligonales, así como textos y macros.

Anteriormente de la existencia de la computación grafica,  los objetos tridimensionales se han representado en dos dimensiones,  desde luego se consideraba muy firme el aspecto matemático  siguiendo las normas de la perspectiva para conseguir una representación que parezca lo más aproximada posible a la realidad o a una idea concebida en la mente de algún creador, o mediante diversas vistas correspondientes a la proyección del objeto sobre diferentes planos, acompañadas de cotas, secciones, vistas de detalle, etc. que permitan reproducir exactamente el objeto dibujado.

Existen varias razones para querer representar un objeto mediante un modelo de superficie:


Cuando el objeto mismo es una superficie que podemos suponer sin grosor (por ejemplo, chapa metálica del capó de un vehículo). Este tipo de representación nos permite visualizar superficies abiertas, mientras que los sólidos se caracterizarán por tener su superficie necesariamente cerrada sobre sí misma.

Cuando tan sólo nos interesa visualizar su aspecto visual externo, sin detalles sobre su estructura interna, aunque el objeto ocupe un cierto volumen.
Cuando deseamos realizar una visualización en tiempo real, y para ello utilizamos hardware o software gráfico que está sólo preparado para visualizar polígonos.
Básicamente podemos representar los objetos gráficos en tres dimensiones en las siguientes  vistas.

• Modelos alámbricos
Muestra los objetos utilizando líneas y curvas para representar los contornos. Sólo contienen elementos que materializan aristas de objeto. Muy rápidos para prototipado.

Nótese que en este diseño, solo se puede visualizar los trazos, mas nunca un objeto conciso y solido pues el objetivo de esta vista básicamente es demostrativo  pero con la cualidad de mostrar la composición tanto interna como externa, es decir, una radiografia al objeto.


• Modelo de superficies

Definen caras de objeto mediante superficies (3 ó 4 lados). Permiten representar superficies curvas con un grado de  complejidad. Ahora el objeto se puede apreciar mejor pues se muestra las superficies que lo delimitan. Esta vista es demostrativa a lo que puede llegar a ser cuando el diseño esté terminado ó una vista informal del objeto pues aun no es posible gozar una apreciación completa.




•Modelo de sólidos

Representan todo el volumen de un objeto, permite análisis de propiedades físicas, creación mediante primitivas (esfera, cono, etc.), operaciones (extrusión, revolución,etc).


Ahora el objeto goza de una apreciación completa,  pues con esta vista, casi podemos visualizar el diseño construido en la  vida real.

Esta vista se caracteriza por mostrar un trabajo final al diseño, después de haber depurado detalles y agregando otros para dar la mayor impresión de realismo.


Fases para la creación de elementos o gráficos tridimensionales.

Modelado: La etapa de modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena.
Iluminación: Creación de luces de diversos tipos puntuales, direccionales en área o volumen,   con distinto color o propiedades. Esto es la clave de una animación.
Animación: La animación es un proceso utilizado para dar la sensación de movimiento a imágenes o dibujos o a otro tipo de objetos inanimados. Se considera normalmente una ilusión óptica.
Renderizado: Se llama renderización al proceso final de generar la imagen 2D o animación a partir de la escena creada. Esto puede ser comparado a tomar una foto o en el caso de la animación, a filmar una escena de la vida real. El software de rénder puede simular efectos cinematográficos como el lens flare, la profundidad de campo, o el motion blur (desenfoque de movimiento).


Conclusión
La Graficación en 3 dimensiones nos ha dado una gran capacidad para plasmar ideas que necesitamos mostrar y necesiten tener un realismo y asi utilizar las 3 dimensiones. Las diferentes fases que se necesitan para llegar a la creación de elementos gráficos tridimensionales por medio de programas que faciliten su creación.


Bibliografía.
http://www.gaussianos.com/representar-superficies-en-tres-dimensiones/
http://arquimedes.matem.unam.mx/pasados/CursoDescartes_3.853/Graficas3D.html
http://destio.us.es/calvo/practicas/galeria_optimos.pdf

domingo, 28 de septiembre de 2014

Juegos Centroamericanos en Veracruz



Los XXII Juegos Centroamericanos y del Caribe se celebrarán del 14 al 30 de noviembre de 2014 en la ciudad de Veracruz. Esta es la cuarta vez que México organizará los juegos, aunque en las tres ediciones anteriores se disputaron en la capital del país. La Odecabe oficializó la sede del evento el 30 de enero de 2009 con 29 votos favorables de sus delegados, siendo ratificada la decisión el 16 de julio de 2010. Aparte de la Zona Metropolitana de Veracruz, la justa contará con subsedes en Xalapa, Córdoba, Tuxpan y Coatzacoalcos.


Afirman que Veracruz efectuará históricos Juegos Centroamericanos
26 de Septiembre, 2014

Veracruz realizará unos históricos Juegos Centroamericanos y del Caribe en noviembre, ya que a menos de 50 días de que inicien se han redoblado los esfuerzos para tener todo en orden, expresaron autoridades estatales y deportivas federales. En una conferencia de prensa realizada al gobernador de Veracruz, Javier Duarte, Carlos Padilla Becerra, presidente del Comité Olímpico Mexicano (COM), y Jesús Mena, titular de la Conade, coincidieron que sólo falta esperar la llegada de los poco más cinco mil atletas que intervendrán en la cita mesoamericana. "No tengo la menor duda de que hay una gran coordinación, hemos visto como han avanzado en cuanto a la infraestructura, que será un gran legado y que podrá ser utilizado por las nuevas generaciones. El Comité Olímpico Mexicano puede afirmar que Veracruz tendrá los mejores Juegos de la historia", expresó Padilla Becerra. el titular del COM indicó que el apoyo de las diversas esferas de gobierno para efectuar estos juegos, demuestran el compromiso que hay con el deporte.



A su vez, Jesús Mena, director general de la Comisión Nacional de Cultura Física y Deporte (Conade), resaltó el esfuerzo realizado por todos los actores vinculados para llevar a buen puerto la justa centroamericana. "Todos somos parte de un equipo que tiene un propósito dentro de los Juegos Centroamericanos y del Caribe, ser grandes anfitriones, vamos por el camino correcto y por otro lado con el compromiso de tener una buena actuación deportiva", añadió. En su oportunidad, el gobernador Javier Duarte mencionó que Veracruz está listo para recibir los juegos, y anunció que las instalaciones deportivas serán parte del legado para la población de la entidad y desde luego para México. "El objetivo es atender la responsabilidad de llevar a cabo los Juegos Centroamericanos y del Caribe y posteriormente estas obras seguirán utilizándose, porque Veracruz viene creciendo en el deporte, prueba de ello es que está entre los 10 primeros lugares a nivel nacional en el cuadro de medallas", dijo. Agradeció el apoyo tanto del Comité Olímpico Mexicano y de la Comisión Nacional de Cultura Física y Deporte, organismos que han trabajado de la mano con los organizadores para tener los mejores juegos de la historia. Mientras que el director del Comité Organizador, Carlos Sosa Ahumado, dio a conocer que el 15 de octubre será la ceremonia del Fuego Nuevo en la zona arqueológica de Teotihuacán, Estado de México. Precisó que hasta este día están confirmadas 31 naciones, con cinco mil 700 atletas, siete mil 500 voluntarios y 36 deportes divididos en 46 disciplinas.


Conclución
Veracruz presentara este año los Juegos Centroamericanos y del Caribe , que sera un evecto muy importante para nuestro estado respecto al deporte que dejara una buena impresion a los turistas y deportistas que vendran a disfrutar de este maravilloso evento


Bibliografia
http://www.radioformula.com.mx/notas.asp?Idn=444063&idFC=2014
http://es.wikipedia.org/wiki/XXII_Juegos_Centroamericanos_y_del_Caribe

Android para autos

El sistema operativo hiperconectado a tu coche.




En la actualidad Google quiere llegar a todas las facetas de nuestro día a día y aplicar su tecnología en todos los campos posibles para solucionar problemas y hacer más sencillas y accesibles multitud de situaciones.

Desde hace ya un tiempo, se sabe que Google estaba trabajando con la intención de mejorar la experiencia a la hora de conducir nuestros vehículos, y hoy tenemos oficialmente los primeros resultados de todo ese trabajo
Google anuncia hoy Android Auto, el servicio oficial de Android para el coche que cuenta con el apoyo de la Auto Automotive Alliance. Lo que vemos hoy es un primer estadio, que irá evolucionando hacía una integración y una automatización cada vez más profunda que liberará al usuario de tener que realizar o preocuparse por facetas de la conducción o la gestión de su vehículo.

Se nos mostrará Google Now y todos los servicios de Google, ya sea GPlay music o search. Android Auto por supuesto tendrá Google Maps y jugará un rol básico en él. Ya hemos hablado anteriormente de él, pero parece estar en un sistema muy avanzado, con más de 40 partners apoyando este sistema entre los que encontramos algunas empresas de renombre como Honda, Renault, Audi, Seat.





SDK disponible desde hoy. Múltiples servicios como Pandora o Spotify ya se han unido. Los coches con Android Auto los tendremos para finales de año. Sólo el tiempo nos dirá que sale de todo esto, pero parece que Google tiene la determinación de llevar a cabo su proyecto hasta el final.


Conclución
Podemos decir que esta nueva tecnologia no es nada sorprende pues después de meses en los que hemos visto coches conduciéndose solos y hacer cosas extraordinarias, esta nueva tecnologia que implica hardware y software , los Google Auto representa el primer paso hacia la interconexión entre los vehículos y nuestros smartphones, teniendo a Android cómo eje central.


Bibliografia
http://mexico.cnn.com/tecnologia/2014/06/25/google-presenta-nuevo-software-para-autos-television-y-relojes
http://www.zocalo.com.mx/seccion/articulo/google-presenta-android-para-autos-television-y-relojes-1403737202