Infografía I RecortadoRecortado.  2002 J.C.Dürsteler - UPF- IUA Introducción ObjetivoObjetivo –Asegurar que solo se representan los puntos válidos.

Slides:



Advertisements
Presentaciones similares
DIFRACCIÓN DE FRAUNHOFER
Advertisements

CREANDO HABITACIONES Para crear un cuarto, selecciona Add Room en el menu Add. Se muestra la siguiente ventana: : En la parte.
Geometría computacional Descripciones secuenciales de figuras Por: Jong Bor Lee Profesora: Nancy Hitschfeld Noviembre 2008.
Sistemas de Graficación
COORDENADAS GEOGRÁFICAS
1 Una vez completada esta lección, podrá: Insertar una tabla. Desplazarse y seleccionar celdas de una tabla. Combinar celdas de tablas. Insertar y eliminar.
PRACTICA_GEO (1) CON REGLA Y COMPÁS
GEOMETRIA PLANA.
Sistemas de coordenadas de referencia
Cálculo de área con LA INTEGRAL DEFINIDA Elaborado por: RITA DEDERLÉ.
Dibujo de las vistas de una pieza
Cruz Roja Mexicana Delegación León Curso de Introducción a Microsoft Word Francisco Jorge Valdovinos Barragán Agosto sección.
TRANSFORMACIONES GEOMÉTRICAS
Facultad de Ciencias BQ-202 –Repartido Nº 2 - CAMPO Y POTENCIAL ELÉCTRICO, EQUIPOTENCIALES Estudio experimental de campo eléctrico (E) y líneas equipotenciales.
8. Detección de Rectas. Transformada de Hough
RECORTAR - SOLDAR – INTERSECCIÓN
La hipérbola Matemáticas Preuniversitarias
conociendo la longitud de su lado
Circunferencia. Presentado por: María del Rosario Ochoa Guerrero.
Creación de Bocetos 2D.
TRIGONOMETRÍA DÍA 15 * 1º BAD CT
Guías Modulares de Estudio MATEMATICAS III Parte A
ALUMNA: MARICELA DIAZ LABRA
E.T.S. DE INGENIEROS DE MINAS
Trabajo presentado por: LUIS FERNANDO OBANDO ING
Resolución gráfica de problemas de Optimización
Procesamiento de Imágenes Digitales
Cámara.
Estructura de Datos y Algoritmos
Diagramas de Voronoi.
(Organización y Manejo de Archivos)
VISIÓN EN 3D INTRODUCCIÓN y TRANSFORMACIONES
Ray Tracing. -La primera noción del Ray Tracing se remonta a Por René Descartes. -En 1980 se propone el Ray tracing a nivel Computacional, creando.
Material de apoyo Unidad 4 Estructura de datos
Vistas Semana 4.
EXPRESIONES Y SENTENCIAS
FICHA 2 EJERCICIO TEÓRICO. COMANDO “RECTANGLE” DIBUJAR UN RECTÁNGULO QUE ABARQUE LAS LINEAS QUE CONTIENEN LAS VALVULAS.
Alineamiento.
Mapeo de Texturas Capitulo 9 de Angel. Detalle de superficie Hasta ahora hemos visto como crear superficies uniformes planas o bicúbicas, y hemos animado.
Generación de figuras en 2D
Problema de inclusión en una Curva Digital Por Orellana Muñoz, Alfonso Paz Vicente, Rafael Pérez Medina, Gerardo Rodríguez Naranjo.
Coordenadas Polares MAT022
La Parábola Tema 9 F Eje Focal X Segunda Ecuación Ordinaria
EXAMENES PAU JUNIO Fase Especifica
DETERMINACIÓN DE LAS VISTAS
ÓPTICA.
Geometría primitiva y Transformaciones
Juan Antonio Cano Salado Borja Moreno Fernández
PROGRAMACION CON MSWLOGO
Aplicaciones de Windows
“Trabajo de fotos". En esta foto se puede observar la sensación de profundidad y desplazamiento superior hacia la derecha del objeto.
Uso de tecnología en Análisis Geométrico
Explorador.
Luciano Reyes Itzel Elvira
Clase 1 :Entorno de trabajo de Excel 2010.
Movimientos de la cámara
Graficación 2D Alumna: Yasmin Rosales Cruz
Solución de los exámenes
EXAMENES PAU JUNIO Fase general
SISTEMA AXONOMÉTRICO Perspectiva.
Envolvente convexa Parte 1: Algoritmos
Acotamiento Ecomundo Centro de Estudios Por Carlos E. Pérez Flores
Especificación del sistema TIENE COMO OBJETIVOS: Describir el proceso por medio del cual se transforma una declaracion de requisitos del cliente en una.
Si una imagen tiene varias capas, debe elegir la capa en la que desea trabajar. Los cambios que realice en la imagen afectarán sólo a la capa activa.
DETECCION DE SEÑALES BINARIAS EN RUIDO GAUSSIANO El criterio de toma de decisión fue descrito por la ecuación Un criterio muy usado para escoger el nivel.
Ing Máximo Huambachano Martel
Docente: Ing. Raimon Salazar A NÁLISIS Y RESOLUCIÓN EN CORRIENTE CONTINUA DE UN CIRCUITO DE POLARIZACIÓN FIJA. En el capítulo, anterior, con el fin de.
Cálculo de área por medio de la sumas de Riemann Alumnas: Maciel Gisella, Uliambre Sabrina Profesora: Nancy Debárbora Curso: 3er año del prof. En matemáticas.
Introduccion al uso de Solid Works 2D editor. Para visualizar el tamaño de la hoja: Rejilla o malla de la hoja con separacion de 5mm:
Transformación de objetos Para transformar un objeto primero hay que seleccionarlo. Es posible transformar todos los objetos gráficos y de texto de las.
Transcripción de la presentación:

Infografía I RecortadoRecortado

 2002 J.C.Dürsteler - UPF- IUA Introducción ObjetivoObjetivo –Asegurar que solo se representan los puntos válidos

 2002 J.C.Dürsteler - UPF- IUA Introducción (2D) El cálculo de las direcciones de memoria de los píxeles que caen fuera de la pantalla puede ocasionarEl cálculo de las direcciones de memoria de los píxeles que caen fuera de la pantalla puede ocasionar –Leer fuera del mapa de memoria. –Escribir fuera del mapa de memoria. El direccionamiento incorrecto puedeEl direccionamiento incorrecto puede –Colgar el ordenador –Sobreescribir direcciones de memoria del propio u otro programa. –Causar errores intermitentes difíciles de localizar.

 2002 J.C.Dürsteler - UPF- IUA Introducción (3D) Puede ocurrir que objetos situados detrás del observador y que no debieran verse aparezcanPuede ocurrir que objetos situados detrás del observador y que no debieran verse aparezcan –La escena se puede volver confusa. –Según donde esté el observador puede no verse nada. –La transformación perspectiva utiliza el inverso de la distancia, lo que puede dar lugar a valores infinitos. El recortado es imprescindible en el proceso de trazado (rendering)El recortado es imprescindible en el proceso de trazado (rendering)

 2002 J.C.Dürsteler - UPF- IUA Estrategias 2D Hay tres formas de realizar el recortadoHay tres formas de realizar el recortado –Pre-cortado. Recortar antes de la fase de muestreo. Interesante para primitivas sencillas –Recortar durante el muestreo. Para figuras más complejas –Post-cortado. Recortar después del muestreo. Para geometrías muy complejas. Se muestrea el área contra una ventana rectangular más grande.Se muestrea el área contra una ventana rectangular más grande. Creando una memoria tampón rectangularCreando una memoria tampón rectangular La selección depende del coste computacionalLa selección depende del coste computacional Estudiaremos el pre-cortado básicamenteEstudiaremos el pre-cortado básicamente

 2002 J.C.Dürsteler - UPF- IUA Recortado de puntos Basta considerar si las coordenadas del punto son interiores al rectángulo de recorteBasta considerar si las coordenadas del punto son interiores al rectángulo de recorte x min, y min x max, y max

 2002 J.C.Dürsteler - UPF- IUA Recortado de líneas Recortar segmentos => calcular la intersección con el rectángulo de recorte.Recortar segmentos => calcular la intersección con el rectángulo de recorte. Cual es el punto de intersección bueno. Puede haber más de uno.Cual es el punto de intersección bueno. Puede haber más de uno. Hay circunstancias en las que no es necesario calcular la intersección.Hay circunstancias en las que no es necesario calcular la intersección.

 2002 J.C.Dürsteler - UPF- IUA Algoritmo de Cohen- Sutherland Procede en dos fases:Procede en dos fases: –Eliminación de los casos triviales en los que no hay que recortar segmentos completamente dentro.segmentos completamente dentro. segmentos completamente fuera.segmentos completamente fuera. –Partición iterativa para encontrar los puntos de intersección.

 2002 J.C.Dürsteler - UPF- IUA Cohen Sutherland Casos triviales Primer bit a 1: el punto está encima del límite superior. Si y>y maxPrimer bit a 1: el punto está encima del límite superior. Si y>y max Segundo bit a 1: el punto está por debajo del limite inferior. Si y<y minSegundo bit a 1: el punto está por debajo del limite inferior. Si y<y min Tercer bit a 1: el punto esta a la derecha de la frontera derecha. Si x>x maxTercer bit a 1: el punto esta a la derecha de la frontera derecha. Si x>x max Cuarto bit a 1: el punto está a la izquierda de la frontera izquierda. Si x<x minCuarto bit a 1: el punto está a la izquierda de la frontera izquierda. Si x<x min Al contrario si están a 0Al contrario si están a 0

 2002 J.C.Dürsteler - UPF- IUA Cohen Sutherland Casos triviales Nótese queNótese que –El bit 1 es el bit del signo de y max - y –El bit 2 es el bit del signo de y - y min –El bit 3 es el bit del signo de x max - x –El bit 2 es el bit del signo de x - x min Si los códigos de bits de ambos puntos son 0000 –La recta esta entera dentro del área de recorte. Si ambos puntos tienen el bit a 1 de un mismo semiplano son rechazables –Operando con el AND lógico sus códigos Si da 1 Podemos rechazar la recta. Si da 0 la recta está dentro o corta el área

 2002 J.C.Dürsteler - UPF- IUA Cohen Sutherland Intersección Buscamos uno de los puntos que cae fuera de la zona de recorte.Buscamos uno de los puntos que cae fuera de la zona de recorte. Miramos el código binario de este punto para descubrir cuál o cuáles ejes intersecta.Miramos el código binario de este punto para descubrir cuál o cuáles ejes intersecta. Buscamos la intersección con cada uno de los ejes que corta, simplemente sustituyendo en la ecuación de la rectaBuscamos la intersección con cada uno de los ejes que corta, simplemente sustituyendo en la ecuación de la recta el valor xmin, xmax, ymin ó ymax que corresponda al eje que cruzamos, y calculamos su código binario.

 2002 J.C.Dürsteler - UPF- IUA Cohen Sutherland Intersección Si el código binario no es 0000 el punto correspondía a otra intersección. Procedemos de igual forma con la siguiente intersección.Si el código binario no es 0000 el punto correspondía a otra intersección. Procedemos de igual forma con la siguiente intersección. En caso contrario ya hemos encontrado la intersección correcta.En caso contrario ya hemos encontrado la intersección correcta. Si el otro punto del segmento queda fuera le aplicamos el mismo algoritmo hasta que ambos puntos tengan código 0000 (o descartemos todos los segmentos de la recta).Si el otro punto del segmento queda fuera le aplicamos el mismo algoritmo hasta que ambos puntos tengan código 0000 (o descartemos todos los segmentos de la recta).

 2002 J.C.Dürsteler - UPF- IUA Polígonos Dificultad : multiplicidad de casos posibles.Dificultad : multiplicidad de casos posibles. –Cada lado del polígono se ha de comprobar contra cada lado del área de recortado. Reducirlo a múltiples casos de recortado no conserva la información de qué líneas pertenecen a que polígono.Reducirlo a múltiples casos de recortado no conserva la información de qué líneas pertenecen a que polígono.

 2002 J.C.Dürsteler - UPF- IUA Algoritmo de Sutherland Hodgman Resuelve el problema general de recortar un polígono cualquiera contra cualquier otro polígono convexoResuelve el problema general de recortar un polígono cualquiera contra cualquier otro polígono convexo Estrategia reducir el problema general a una sucesión de problemas elementalesEstrategia reducir el problema general a una sucesión de problemas elementales –recortado del polígono respecto a una sola línea infinita Entrada: serie de vértices del polígono v1, v2,..., vn y recta del polígono de recorte. Salida: serie de vértices transformados del polígono. La lista se realimenta en el propio algoritmo contra la siguiente línea

 2002 J.C.Dürsteler - UPF- IUA Algoritmo de Sutherland Hodgman 1) Antes de recortar 2) recortado contra la línea 1 … 5) Recortado contra la línea 4

 2002 J.C.Dürsteler - UPF- IUA Algoritmo de Sutherland Hodgman En el cálculo de las intersecciones de cada lado del polígono con la arista de recorte se añaden 0, 1 ó 2 vértices a la lista. Vamos del punto i(nicio) al f(inal). Como ambos están fuera no añadimos ningún punto a la lista de vértices. Cruzamos la frontera. añadimos el punto de intersección p1 y el f. (2 puntos) Tanto i como f están dentro, pero i lo hemos añadido en el caso anterior. Añadimos sólo f. (1 punto) De nuevo cortamos. El punto i lo añadimos antes. Ahora añadimos p2. (1 punto)

 2002 J.C.Dürsteler - UPF- IUA Algoritmo Función dentro(x,y, arista)Función dentro(x,y, arista) –devuelve 1 si el vértice está dentro del área de recortado y 0 si no –“dentro” significa a la izquierda de la frontera yendo del primer al segundo vértice Corresponde a una numeración de vértices en sentido antihorarioCorresponde a una numeración de vértices en sentido antihorario –Si es un rectángulo basta mirar el signo de la distancia en vertical u horizontal hasta la frontera –Si no, se puede consultar el signo del producto vectorial de la normal a la frontera con la arista del polígono

 2002 J.C.Dürsteler - UPF- IUA Algoritmo Subrutina intersecta()Subrutina intersecta() –Calcula la intersección de la arista que va del vértice i al vértice f con la frontera –La frontera está definida por dos vértices. Subrutina salida()Subrutina salida() –Añade los vértices nuevos al vector que contiene el polígono –Actualiza el numero de entradas del mismo.

 2002 J.C.Dürsteler - UPF- IUA Algoritmo Atención éste no es un algoritmo operativo, consideradlo seudocódigoAtención éste no es un algoritmo operativo, consideradlo seudocódigo SutherlandHodgman(VerticesIn, longIn, VerticesOut){SutherlandHodgman(VerticesIn, longIn, VerticesOut){ int longOut=0; int j; vertice, i, ini, fin;/* Estructura i.x e i.y */ ini=VerticesIn(longIn);/*Empezamos por el final */ for j=0; j<longIn;j++){ fin=VerticesIn(j); fin=VerticesIn(j); if (dentro(fin, frontera)){/* Casos 2 y 3 */ if (dentro(fin, frontera)){/* Casos 2 y 3 */ if (dentro(ini,frontera)) salida(fin,longOut,VerticesOut); /* 3 */ if (dentro(ini,frontera)) salida(fin,longOut,VerticesOut); /* 3 */ else{/* 2 */ else{/* 2 */ Intersecta (ini, fin, frontera, i); Intersecta (ini, fin, frontera, i); salida(i,longOut,VerticesOut); salida(i,longOut,VerticesOut);salida(fin,longOut,VerticesOut) }

 2002 J.C.Dürsteler - UPF- IUA Algoritmo Atención este no es un algoritmo operativo, considerarlo seudocódigoAtención este no es un algoritmo operativo, considerarlo seudocódigo else {/* 4 y 1 */ if (dentro(ini,frontera)) {/* 4 */ Intersecta (ini, fin, frontera, i); Intersecta (ini, fin, frontera, i); salida(ini,longOut,VerticesOut); salida(ini,longOut,VerticesOut); }/* 1 nada */ ini=fin } /* fin del for */ }

 2002 J.C.Dürsteler - UPF- IUA Cohen Sutherland El algoritmo de Cohen Sutherland es válido para recortar polígonos cóncavos o convexos contra cualquier área de recortado poligonal convexa.El algoritmo de Cohen Sutherland es válido para recortar polígonos cóncavos o convexos contra cualquier área de recortado poligonal convexa. Se puede extender a 3D y permite recortar contra volúmenes poliédricos convexos cuyas caras sean planas.Se puede extender a 3D y permite recortar contra volúmenes poliédricos convexos cuyas caras sean planas.