Geometría Computacional. Dr. Antonio Marín Hernández

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Geometría Computacional. Dr. Antonio Marín Hernández"

Transcripción

1 Geometría Computacional Dr. Antonio Marín Hernández Centro de Investigación de Inteligencia Artificial Universidad Veracruzana Contenido Introducción Triangulación de polígonos Diagramas de Voronoi Triangulación de Delaunay Envolventes Convexos Visibilidad Medidas de forma

2 Los mapas son una fuente invaluable de información. Atracciones turísticas, caminos, vías, lagos, etc. Sin embargo, en ocasiones resulta difícil encontrar la información deseada. Los mapas generalmente están separados en varias capas. Cada capa tiene diferentes tipos de información. Esta información puede también incluir cosas como la densidad de población, promedio de precipitación, hábitat de una especie animal o vegetal, etc. Esta información se almacena de maneras diferentes: puntos ciudades, líneas o curvas - caminos, regiones vegetación.

3 Como usuario de un GIS, se puede estar interesado en encontrar ciudades, y no ser distraido por los nombres de los ríos. Una vez encontrada una ciudad, se podría desear saber como llegar a esta. Cuando dos mapas con temáticas diferentes se sobreponen, resulta interesante saber donde se encuentran las intersecciones de estos. Si son líneas estas intersecciones serán puntos, y si son regiones, serán subregiones Nos interesaremos inicialmente en el problema de mapas que son redes representadas como colecciones de segmentos de. Necesitamos saber, dados dos mapas, todas las intersecciones entre un segmento de uno y un segmento del otro. El problema aun no esta especificado del todo, ya que no hemos definido cuando dos segmentos se intersectan.

4 Comúnmente, los caminos y ríos son representados por cadenas de segmentos. Por lo tanto, el cruce de un camino sobre un río, se presenta cuando el interior de una cadena intersecta el interior de la otra. Considerar los segmentos cerrados. Una manera de simplificar la descripción es poner todos los segmentos en un solo conjunto y así calcular las intersecciones entre todos los segmentos del conjunto. Dado un conjunto S de n segmentos cerrados en el plano, encontrar todos los puntos de intersección entre los segmentos de S

5 Un algoritmo de fuerza bruta tomaría O(n 2 ) La mayoría de los segmentos intersecta solo unos cuantos o ningún segmento. El número de intersecciones es mucho menor que el cuadrático. Sería deseable tener un algoritmo que no solo depende del número de segmentos sino del número de intersecciones Output-sensitive algorithm Cómo se puede evitar verificar todos los pares de segmentos? Para esto se necesita hacer uso de la geometría de la situación. Segmentos cercanos son mejores candidatos que los segmentos lejanos.

6 Output-sensitive algorithm Sea S:={s 1, s 2,,s n } un conjunto de segmentos para el cual se quiere calcular todas las intersecciones Queremos evitar verificar intersecciones de segmentos alejados. Definamos el intervalo y de un segmento como su proyección ortogonal sobre el eje y. Podemos decir que cuando dos intervalos y de dos diferentes segmentos no se sobreponen, estos no se intersectan. Por lo tanto solo necesitamos verificar los pares de segmentos que se sobrepongan, esto es que exista una línea horizontal que intersecte a ambos segmentos.

7 y x Para encontrar los pares de líneas que se intersectan: Imaginemos una línea l la cual desciende sobre el plano, comenzando en una posición por encima de los segmentos. Mientras esta línea se desliza, podemos almacenar todos los segmentos que la intersectan.

8 l Este tipo de algoritmo se llama de barrido del plano y la línea l es llamada línea de barrido. El estado de la línea l es el conjunto de segmentos que la intersectan. El estado cambia conforme l desciende, pero no de manera continua. Solo en algunos puntos particulares el estado cambia, llamados puntos evento

9 l Punto evento Es cuando la línea de barrido alcanza un punto evento que el algoritmo realmente hará algo. Se actualiza el estado de l y se realizan algunas pruebas de intersección. En particular si el punto evento es el punto superior de un segmento, entonces una nueva línea comienza a intersectar a l y debe ser añadida al estado. Se prueban las intersecciones de este segmento con los otros en el estado de l. Si el punto evento es un punto final, el segmento es borrado.

10 De esta manera solo probaremos intersecciones entre segmentos para los cuales exista una línea horizontal que los intersecte. Desafortunadamente, no es suficiente. Aún se presentarán situaciones en las cuales la verificación sea cuadrática cuando solo haya unas pocas intersecciones Conjunto de segmentos verticales que intersectan el eje X El algortimo no es sensible a la salida El problema es que dos segmentos que intersecten a l pueden aun estar muy lejanos en la dirección horizontal. Ordenemos los segmentos de izquierda a derecha conforme ellos intersectan la línea de barrido. Solo probaremos los segmentos que sean adyacentes en el orden horizontal. Cada nuevo segmento se verificará con respecto a dos segmentos inmediatos, a la izquierda y a la derecha.

11 Conforme la línea de barrido se mueva el segmento podrá ser adjacente a otros segmentos. Esto se reflejará en el estado de nuestro algoritmo, dado que ahora tendremos una secuencia ordenada de segmentos que intersectan a l. El nuevo estado no solo cambia en los límites de los segmentos sino también cuando existan intersecciones, cuando el orden de los segmentos intersectados cambia. l

12 Hemos reducido el número de pares a verificar. Encontraremos todas las intersecciones? En otras palabras dados dos segmentos que se intersectan s i y s j, Existirá siempre una posición de la línea de barrido l en donde s i y s j sean adyacentes? l s i s j

13 Ignoremos inicialmente algunos casos: No hay segmentos horizontales. Los segmentos solo se intersectan en un solo punto. No existen más de dos segmentos que se intersecten en el mismo punto. Las intersecciones en las cuales un punto extremo de un segmento cae sobre otro son facilmente detectables. Serán detectadas todas las intersecciones interiores? Lema: Sea s i y s j dos segmentos no horizontales cuyos interiores se intersectan en un punto p, asúmase que no hay un tercer segmento que pase por p. Entonces existe un punto evento arriba de p en donde s i y s j se hacen adyacentes y entonces verificados para intersección.

14 Prueba: Sea l una línea horizontal ligeramente arriba de p. Si l es suficientemente cercana a p entonces s i y s j deben ser adyacentes a lo largo de l. En otras palabras, existe una posición de la línea de barrido en donde s i y s j son adyacentes. Inicialmente s i y s j no son adyacentes ya que el estado de l es vacío. Por lo tanto debe existir un punto q donde s i y s j se hagan adyacentes y por lo tanto probadas para intersección. l s i s k s j

15 Línea horizontal de barrido l desciendo en el plano, El estado de la línea de barrido cambia en ciertos puntos evento. Los puntos extremos de los segmentos, conocidos previamente Los puntos de intersección calculados al vuelo. Conforme la l se mueve mantiene una secuencia ordenada de segmentos que la intersectan. Cuando l intersecta un punto evento la secuencia de segmentos cambia, lo cual depende del tipo de evento.

16 l s i s k s j Degeneraciones Tres o más segmentos se intersectan en un mismo punto. ES IMPORTANTE DEFINIR QUE SE QUIERE DEL ALGORITMO Reportar cada punto de intersección una solo vez. La lista de segmentos que ahí se intersectan o que son puntos extremos. Los casos de segmentos sobrepuestos serán ignorados

17 Estructura de datos que usa el algoritmo Se necesita una estructura de datos que almacene los eventos, esta es llamada cola de eventos, denotada por Q. Necesitamos una operación que remueva el siguiente evento que ocurrirá en Q y que lo devuelva para ser tratado. Este evento será el más alto evento debajo de la línea de barrido l. Si dos eventos tienen la misma coordenada y, entonces el que tenga la menor coordenada x será regresado (puntos evento en la misma línea horizontal serán tratados de izquierda a derecha). Esto implica que debemos considerar el extremo derecho de un segmento horizontal como el extremo superior y el izquierdo como el extremo inferior.

18 Es importante notar que los puntos evento pueden coincidir. Dos puntos extremos superiores de diferentes segmentos. l

19 Implementación de la cola Q. Defínase un operador de orden para los puntos evento, el cual representa el orden en el cual serán manejados. Si p y q son dos puntos evento se tendrá que: p q sí y solo sí, p y > p q ó p y = p q y p x < q x. Almacenaremos los puntos evento con respecto al operador. Implementación de la cola Q. Para cada punto evento p en Q almacenaremos los segmentos que inician en p. La recuperación del siguiente evento, así como de la inserción de un evento toman un tiempo O(log m), donde m es el número de eventos en Q

20 Se necesita mantener el estado del algoritmo. Esto es la secuencia ordenada de segmentos que intersectan la línea de barrido. El estado, que denotaremos por τ, es usado para acceder a los vecinos de un segmento dado s, de manera que puedan ser verificadas sus intersecciones. La estructura del estado debe ser dinámica, conforme los segmentos comiencen o dejen de intersectar la línea de barrido deben ser añadidos o borrados de esta. Ya que se cuenta con un orden bien definido de los segmentos en la estructura estado, se puede usar un árbol binario balanceado.

21 Más detalladamente, se almacenan los segmentos ordenados que intersectan la línea de barrido en las hojas del árbol. El orden de izquierda a derecha de los segmentos a lo largo de la línea de barrido corresponde al orden de izquierda a derecha de las hojas del árbol. Se debe añadir información en los nodos internos de manera a guiar la búsqueda En cada nodo interno, almacenaremos el segmento más a la derecha del subárbol de la izquierda. Alternativamente se puede almacenar los segmentos solo en los nodos interiores, ahorrando así espacio. Sin embargo, es más fácil pensar en los segmentos en los nodos interiores como guía para la búsqueda que como datos.

22 τ s k s i s l s j s i s j s k s l s m s i s j s k s l s m l Supongamos que buscamos en τ el segmento inmediato a la izquierda de algún punto p sobre la línea de barrido. Para cada nodo interno v, verificamos si p cae a la izquierda o a la derecha del segmento almacenado en v. Dependiendo de la respuesta, descendemos a la izquierda o a la derecha al siguiente subárbol y eventualmente hasta la hoja.

23 La hoja inmediata a la izquierda es el segmento que buscamos. Similarmente se hace para el segmento a la derecha o segmentos que contengan a p. τ s k s i s l s j s i s j s k s l s m s i s j s k s l s m l

24 FindIntersections(S) 1. Inicializar la cola vacía Q e insertar los extremos de los segmentos en Q. cuando un punto extremo superior es insertado también lo es el segmento. 2. Inicializar la estructura vacía τ 3. Mientras Q no este vacía 4. Determinar el siguiente punto evento p en Q y borrarlo. 5. Procesar el punto evento p. Lista de bordes doblemente conectados Mapas divididos en subregiones Representación de esa subdivisión. No se puede hacer solo con segmentos. Se necesita incluir información sobre la estructura y la topología. Que segmentos limitan a que región Cuales regiones son adyacentes Etc.

25 Consideraremos que los mapas son subdivisiones planas inducidas por un grafo. Estas subdivisiones estarán conectadas sí el grafo lo esta. Un nodo será un vértice y un arco será un borde. Una faceta o cara es el subconjunto máximo conectado del plano que no contiene ningún punto en un borde o vértice. Una cara es una región abierta poligonal cuyo perímetro está formado por los bordes y vértices de la subdivisión. La complejidad de la subdivisión está definida como la suma del número de vértices, el número de bordes y el número de caras de las cuales consiste. Si un vértice es un extremo de un borde, entonces se dice que el vértice y el borde son incidentes. Similarmente una cara y un borde en el perímetro son incidentes; y una cara y un vértice.

26 Qué se puede requerir de una representación de una subdivisión? Determinar si un punto está contenido en una cara. Será posible recorrer el perímetro de una cara dada? Se puede llegar a una cara desde otra adyacente si tenemos un borde común? Se pueden visitar todos los bordes alrededor de un vértice dado? Lista de bordes doblemente conectada Un lista de bordes doblemente conectada contiene un registro de cada cara, borde y vértice de la subdivisión. Si se representa un mapa de vegetación, entonces cada cara almacenará el tipo de vegetación de la región correspondiente. Esta información adicional es llamada información atributo.

27 La información geométrica y topológica almacenada nos permitirá hacer las operaciones básicas mencionadas. Para poder recorrer una cara en sentido de las manecillas del reloj, se debe almacenar un apuntador de cada borde al siguiente. Como se puede recorrer en el otro sentido será necesario también incluir un apuntador al borde anterior. Un borde comúnmente limita dos caras, por lo tanto se necesitan dos apuntadores para ello. Es conveniente ver los diferentes lados de un borde como dos distintos medios bordes (halfedges). De esta manera solo tendremos un medio borde siguiente o anterior para cada medio borde. Esto significa que un medio borde delimita solo una cara. Los dos medios bordes obtenidos para un borde se les llama gemelos.

28 Definir el siguiente medio borde de un medio borde dado con respecto a un recorrido de una cara en sentido contrario a las manecillas del reloj, induce una orientación de cada medio borde. Estos son orientados de manera que la cara que limitan esta a la izquierda para un observador que recorre el borde Podemos entonces hablar de origen y destino de un medio borde. Si un borde e, tiene como origen v y como destino w, entonces su gemelo Twin(e) tiene a w como su origen y a v como destino.

29 v e w Sin embargo para agujeros en la cara no se cumple que al recorrerlos en sentido contrario al de las manecillas del reloj la cara este del lado izquierdo. Por lo tanto es conveniente orientar los medios bordes de manera que la cara siempre este del mismo lado.

30 La presencia de agujeros en la cara, implica que un solo apuntador a un medio borde arbitrario no es suficiente para recorrer sus limites. Se necesita un apuntador a un medio borde para cada agujero. Bordes aislados serán ignorados.

31 Se requieren tres registros: Vértices: El registro de un vértice v almacena las coordenadas de v y un apuntador a un medio borde arbitrario que tiene a v como origen. Caras: De una cara f se almacena un apuntador a algún medio borde de sus límites exterior (caras no limitadas es igual a nil). Y también una lista de componentes internos que contiene para cada agujero, un apuntador a un medio borde. El registro de los medios bordes e, almacena: Un apuntador a su origen, uno a su gemelo y un apuntador a su cara incidente. No se requiere almacenar el destino de un borde porque es igual al origen del gemelo. También se almacenan apuntadores al siguiente y anterior medios bordes de la cara incidente.

32 IncidentFace(e) Prev(e) Next(e) Origin(e) e Twin(e) Se requiere una cantidad constante de memoria para cada vértice y borde. Sin embargo, para cada cara se requiere almacenar al menos un apuntador a cada uno de los componentes internos. Podemos considerar que el promedio de almacenamiento es lineal con respecto a la complejidad de la subdivisión.

33 v 1 e 1 v 2 e 3 e 4 v 3 v 4 e 2 Vertex Coordinates IncidentEdge v 1 (v 1x,v 1y ) e 1,1 v 2 (v 2x,v 2y ) e 4,2 v 3 (v 3x,v 3y ) e 2,1 v 4 (v 4x,v 4y ) e 2,2

34 v 1 e 1,1 v 2 e 1,2 e 3,2 e 4,1 e 3,1 e 4,2 e 2,2 v 3 v 4 e 2,1 Face OuterComponent InnerComponents f 1 nil e 1,1 f 2 e 4,1 nil

35 v 1 e 1,1 v 2 e 1,2 f 1 e 3,2 f 2 e 4,1 e 3,1 e 4,2 e 2,2 v 3 v 4 e 2,1 Half-edge Origin Twin IncidentFace Next Prev e 1,1 v 1 e 1,2 f 1 e 4,2 e 3,1 e 1,2 v 2 e 1,1 f 2 e 3,2 e 4,1 e 2,1 v 3 e 2,2 f 1 e 2,2 e 4,2 e 2,2 v 4 e 2,1 f 1 e 3,1 e 2,1 e 3,1 v 3 e 3,2 f 1 e 1,1 e 2,2 e 3,2 v 1 e 3,1 f 2 e 4,1 e 1,2 e 4,1 v 3 e 4,2 f 2 e 1,2 e 3,2 e 4,2 v 2 e 4,1 f 1 e 2,1 e 1,1

36 v 1 e 1,1 v 2 f 2 e 1,2 f 1 e 3,2 e 4,1 e 3,1 e 4,2 e 2,2 v 3 v 4 e 2,1 Tenemos una buena representación de una subdivisión. Se define la sobreposición de dos subdivisiones S 1 y S 2 como la subdivisión O(S 1,S 2 ) tal que haya una cara f en O(S 1,S 2 ), sí y solo sí, hay caras f 1 en S 1 y f 2 en S 2, tales que f es un subconjunto máximo conectado de f 1 f 2.

37 S 1 S 2

38

39 El problema general de la sobreposición de mapas es: dados las listas de segmentos doblemente conectadas S 1 y S 2 calcular una lista de segmentos doblemente conectados O(S 1,S 2 ). Se requiere que las caras de O(S 1,S 2 ) estén etiquetadas con las etiquetas de las caras en S 1 y S 2. Qué información podemos reutilizar de S 1 y S 2? Consideremos inicialmente la red de vértices y bordes de S 1. Esta red es cortada por los bordes de S 2. Estos trozos son ampliamente reutilizables. Solo los segmentos que han sido cortados por los segmentos de S 2 tienen que ser recalculados.

40 Se requerirá cambiar la información de los medios bordes? Solo se necesita cambiar la información de los bordes cruzados y los otros permanecerán iguales

41 Procedimiento Copiar las listas doblemente conectadas de S 1 y S 2 en una nueva. Este nueva lista no será una lista doblemente conectada valida. Esta es la tarea de nuestro algoritmo. Esto es: Calcular las intersecciones de las dos redes de segmentos y ligar las partes correspondientes El computo de las caras es más complejo y se verá posteriormente. Usaremos el algoritmo realizado previamente para la intersección de segmentos de. Se correrá este algoritmo para la unión de los dos conjuntos de segmentos. La diferencia ahora es que se tiene a Q, τ y ahora a D la cual es la lista doblemente conectada.

42 l Inicialmente D contiene la copia de S 1 y S 2, y durante el barrido se transformará D en una lista doblemente conectada válida. Los segmentos son considerados cerrados Los puntos de cruce se tendrán que añadir a la estructura D.

43 Qué se debe hacer cuando se llega a un punto evento? Primero, se actualiza τ y Q. Si la intersección involucra solo segmentos de alguna de las dos subdivisiones, no hay nada que hacer y el vértice puede ser reutilizado. Si el evento involucra bordes de ambas subdivisiones, se debe actualizar D para realizar la doble conexión de las subdivisiones originales. e v e e

44 Actualizar apuntadores Twin(), Prev(), Next() Situación del vértice v La mayoría de estos procesos toman un tiempo constante. El encontrar el orden cíclico de los medios bordes toma un tiempo lineal. Cruce de bordes O(m). En donde m es el número de bordes incidentes en el punto evento.

45 Nos queda calcular las caras de O(S 1,S 2 ). Se necesita crear un registro para cada f en O(S 1,S 2 ). InnerComponents OuterComponents Etiquetas para cada cara. Excepto para la cara no limitada, todas las otras tienen un límite exterior. El número de caras es igual al número de límites exteriores más uno. Cómo saber si un ciclo es interior o exterior? Verificar el vértice más a la izquierda del ciclo (o en algunos casos el más debajo de los más a la izquierda). Recordemos que los medios bordes están dirigidos y que las caras están a la izquierda de estos.

46 Consideremos los dos segmentos incidentes en el vértice v. Calculeemos el ángulo entre los dos segmentos (medios bordes). Sí este ángulo es menor que 180 el ciclo es exterior, sino es un interior (agujero). Esto es válido para el vértice más a la izquierda del ciclo, más no para los otros vértices.

47 Para determinar que ciclos limitan a que cara se construye un grafo G. Para cada ciclo hay un nodo en G. Hay un nodo para el ciclo imaginario de la cara no delimitada. Existe un arco entre dos nodos, sí y solo sí, un nodo es un ciclo de agujero y el otro tiene un medio borde inmediatamente a la izquierda del vértice más a la izquierda del agujero. Si no hay tal medio borde, entonces el agujero se liga al nodo de la cara no delimitada.

48 C 3 C 5 C 6 C 4 C 7 C C 1 C 2 C 1 C C 3 C 2 C 6 C 7 C 4 C 5 Geometría Computacional Dr. Antonio Marín Hernández Centro de Investigación en Inteligencia Artificial Universidad Veracruzana anmarin@uv.mx

Geometría Computacional. Dr. Antonio Marín Hernández

Geometría Computacional. Dr. Antonio Marín Hernández Geometría Computacional Dr. Antonio Marín Hernández Centro de Investigación en Inteligencia Artificial Universidad Veracruzana anmarin@uv.mx www.uv.mx/anmarin Contenido Introducción Intersección de segmentos

Más detalles

Superposición de Mapas

Superposición de Mapas Superposición de Mapas Geometría Computacional, MAT-125 https://saylordotorg.github.io/text_essentials-of-geographic-informationsystems/section_06/8fefe25edddf4ae6440978e0b2b6c051.jpg Cómo representar

Más detalles

Intersección de Segmentos de Recta. Geometría Computacional, MAT-125

Intersección de Segmentos de Recta. Geometría Computacional, MAT-125 Intersección de Segmentos de Recta Geometría Computacional, MAT-125 Dados dos conjuntos de segmentos de recta, calcular todas las intersecciones entre los segmentos de un conjunto y los segmentos del otro

Más detalles

Intersección entre segmentos de recta. comp-420

Intersección entre segmentos de recta. comp-420 comp-420 Propiedades de segmentos de recta Una combinación convexa de dos puntos p 1 =(x 1,y 1 ) y p 2 =(x 2,y 2 ) es cualquier punto p 3 =(x 3,y 3 ) tal que para una en el rango de 0 1, tenemos: x 3 =

Más detalles

Descomposicion en Polígonos Monótonos. comp-420

Descomposicion en Polígonos Monótonos. comp-420 Descomposicion en Polígonos Monótonos comp-420 Triangulación de Polígonos Teorema 1: Todo polígono simple admite una triangulación, y cualquier triangulación de un polígono simple con n vértices consta

Más detalles

Estructuras de datos geométricas

Estructuras de datos geométricas y Half-edge Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 12 de febrero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) y Half-edge 12 de febrero del 2013 1 / 32 1 Estructuras de datos geométricas

Más detalles

Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125

Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125 Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125 Qué estructuras de datos necesitamos para implementar este algoritmo? cola de eventos Q. Operaciones: Eliminar el próximo evento

Más detalles

Computación Geométrica Descomposición en polígonos monótonos

Computación Geométrica Descomposición en polígonos monótonos Computación Geométrica Descomposición en polígonos monótonos Introducción a la Geometría Computacional Copyright 2010-2011 Universidad de Alicante 1 Ejemplos Introducción a la Geometría Computacional Copyright

Más detalles

Introducción Aplicaciones Primer Algoritmo Segundo Algoritmo - Algoritmo de Fortune. Diagrama de Voronoi. Jose Luis Bravo Trinidad 1 / 29

Introducción Aplicaciones Primer Algoritmo Segundo Algoritmo - Algoritmo de Fortune. Diagrama de Voronoi. Jose Luis Bravo Trinidad 1 / 29 1 / 29 Definición Propiedades geométricas Índice 1 Introducción Definición Propiedades geométricas 2 Análisis de recursos Triangulaciones Robótica Diseño 3 Implementación 4 Segundo - de Fortune 2 / 29

Más detalles

Introducción a la Geometría Computacional. Análisis de Algoritmos

Introducción a la Geometría Computacional. Análisis de Algoritmos Introducción a la Geometría Computacional Análisis de Algoritmos Geometría Computacional La Geometría Computacional surgió a finales de los 70s del área de diseño y análisis de algoritmos. Estudio sistemático

Más detalles

Computación Geométrica Tema 5: Triangulación de polígonos. Triangulación por descomposición. Descomposición en polígonos monótonos.

Computación Geométrica Tema 5: Triangulación de polígonos. Triangulación por descomposición. Descomposición en polígonos monótonos. Computación Geométrica Tema 5: Triangulación de polígonos Triangulación por descomposición Descomposición en polígonos monótonos! Un polígono cualquiera no monótono puede ser descompuesto en polígonos

Más detalles

Localización de puntos en el plano

Localización de puntos en el plano Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 12 de marzo del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Localización de puntos en el plano 12 de marzo del 2013 1 / 67 1 Localización de puntos en

Más detalles

Triangulación de polígonos

Triangulación de polígonos Computación Geométrica Triangulación de polígonos Algoritmos iniciales Introducción a la Geometría Computacional Copyright 2010-2011 Universidad de Alicante 1 Índice Historia Conceptos previos Triangulación

Más detalles

Computación Geométrica Intersección de segmentos

Computación Geométrica Intersección de segmentos Computación Geométrica Intersección de segmentos 1 Índice Modelos geométricos básicos Un primer algoritmo Algoritmo avanzado 2 Aplicaciones GIS: Sistema de Información Geográfica Uso de capas para representar

Más detalles

Modelación de objetos 3D Parte I: Mallas de polígonos y triangulaciones

Modelación de objetos 3D Parte I: Mallas de polígonos y triangulaciones Modelación de objetos 3D Parte I: Mallas de polígonos y triangulaciones Contenido Motivación Polígonos simples 3D Almacenamiento de mallas de polígonos OpenGl y mallas de polígonos Triangulaciones Triangulaciones

Más detalles

Razonamiento Geométrico Tema 5: Triangulación de polígonos. Sesión 10: Descomposición en polígonos monótonos

Razonamiento Geométrico Tema 5: Triangulación de polígonos. Sesión 10: Descomposición en polígonos monótonos Razonamiento Geométrico Tema 5: Triangulación de polígonos Sesión 10: Descomposición en polígonos monótonos Triangulación de polígonos Copyright 2002-2003 Universidad de Alicante 1 Triangulación por descomposición

Más detalles

Estructura de Datos Espaciales. por José Antonio Navarrete Pacheco INTRODUCCIÓN

Estructura de Datos Espaciales. por José Antonio Navarrete Pacheco INTRODUCCIÓN Estructura de Datos Espaciales por José Antonio Navarrete Pacheco INTRODUCCIÓN 1 FENÓMENOS GEOGRÁFICOS Definición: Es algo de interés que: Puede ser medido o descrito Puede ser georreferido o georreferenciado,

Más detalles

Escuela Técnica Superior. de Ingeniería Informática. Curso 2015/2016. Boletín de Problemas. Geometría Computacional. Dpto. de Matemática Aplicada I

Escuela Técnica Superior. de Ingeniería Informática. Curso 2015/2016. Boletín de Problemas. Geometría Computacional. Dpto. de Matemática Aplicada I Escuela Técnica Superior de Ingeniería Informática Curso 2015/2016 Boletín de Problemas de Geometría Computacional Dpto. de Matemática Aplicada I 1) Sean u(u 1,u 2 ) y v (v 1,v 2 ) dos vectores del plano.

Más detalles

Razonamiento Geométrico Tema 5: Triangulación de polígonos. Sesión 9: Algoritmos iniciales

Razonamiento Geométrico Tema 5: Triangulación de polígonos. Sesión 9: Algoritmos iniciales Razonamiento Geométrico Tema 5: Triangulación de polígonos Sesión 9: Algoritmos iniciales Triangulación de polígonos Copyright 2002-2003 Universidad de Alicante 1 Índice Historia Conceptos previos Triangulación

Más detalles

Arreglos y Dualidad. Giomara Lárraga, Sotero Martínez. 19 de marzo del CINVESTAV-Tamaulipas

Arreglos y Dualidad. Giomara Lárraga, Sotero Martínez. 19 de marzo del CINVESTAV-Tamaulipas Arreglos y Dualidad Giomara Lárraga, Sotero Martínez CINVESTAV-Tamaulipas 19 de marzo del 2013 Giomara L., Sotero M. (CINVESTAV) Arreglos y Dualidad 19 de marzo del 2013 1 / 96 1 Arreglos Ray Tracing Definición

Más detalles

Triangulación de Polígonos. comp-420

Triangulación de Polígonos. comp-420 Triangulación de Polígonos comp-420 Triangulación de polígonos Triangulación: descomposición de un polígono simple en triángulos. Cualquier triangulación de un polígono simple con n vertices tiene n-2

Más detalles

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler] Matemáticas Discretas L. Enrique Sucar INAOE Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y circuitos Isomorfismo

Más detalles

Estructuras Dinámicas de datos.

Estructuras Dinámicas de datos. Estructuras Dinámicas de datos. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. Una estructura dinámica de datos es una colección de elementos llamadas nodos

Más detalles

Relleno de Polígonos 1

Relleno de Polígonos 1 Relleno de Polígonos 1 Relleno de Polígonos El caso más sencillo de relleno es el del triángulo Luego le sigue en complejidad el de polígonos convexos de N-lados Finalmente le sigue el relleno de polígonos

Más detalles

Estructura de Datos Unidad 6: ARBOLES

Estructura de Datos Unidad 6: ARBOLES Estructura de Datos Unidad 6: ARBOLES A. CONCEPTO DE ARBOL B. TIPOS DE ARBOL C. ARBOL BINARIO D. IMPLEMENTACION DE UN ARBOL BINARIO E. PROYECTO Introducción En ciencias de la informática, un árbol es una

Más detalles

Intersección de semiplanos

Intersección de semiplanos Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 1 de marzo del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Intersección de semiplanos 1 de marzo del 2013 1 / 53 1 Intersección de semiplanos Introducción

Más detalles

Politopos y cubiertas convexas en 3 o más dimensiones

Politopos y cubiertas convexas en 3 o más dimensiones y cubiertas convexas en 3 o más dimensiones Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 1 de febrero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) y cubiertas convexas 1 de febrero del 2013 1 /

Más detalles

Triangulación de Polígonos: Problema de la Galería de Arte. Geometría Computacional, MAT-125

Triangulación de Polígonos: Problema de la Galería de Arte. Geometría Computacional, MAT-125 http://ilevel.biz/wp-content/uploads/2013/07/riccomaresca-outsider-art-gallery-1024x576.png Triangulación de Polígonos: Problema de la Galería de Arte. Geometría Computacional, MAT-125 Cuántas cámaras

Más detalles

Árboles de Partición Quadtrees Octrees K-d trees

Árboles de Partición Quadtrees Octrees K-d trees Árboles de Partición Quadtrees Octrees K-d trees Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Estructuras de Datos Geométricas Estructuras de

Más detalles

Sesión 4: Teoría de Grafos

Sesión 4: Teoría de Grafos Modelos Gráficos Probabilistas L. Enrique Sucar INAOE Sesión 4: Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y

Más detalles

Intersección de segmentos de línea

Intersección de segmentos de línea Intersección de segmentos de línea Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de febrero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Intersección de segmentos de línea 22 de febrero del 2013

Más detalles

Curso SIG. Curso SIG Conceptos Básicos y Funciones. Conceptos Básicos y Funciones. Representaciones del mundo. Curso SIG - Pablo Rebufello 1

Curso SIG. Curso SIG Conceptos Básicos y Funciones. Conceptos Básicos y Funciones. Representaciones del mundo. Curso SIG - Pablo Rebufello 1 Conceptos Básicos y Funciones 1 Conceptos Básicos y Funciones Representaciones del mundo Modelos de representación de datos basados en: Datos vectoriales Datos raster 2 - Pablo Rebufello 1 Datos Vectoriales:

Más detalles

Estructura de Datos. Estructuras de Datos no lineales : Árboles

Estructura de Datos. Estructuras de Datos no lineales : Árboles Estructura de Datos Estructuras de Datos no lineales : Árboles Definiciones de Árbol En términos matemáticos, un árbol es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares

Más detalles

UNIDAD 2. Constructiva). CSG se define como la representación de un objeto mediante un árbol

UNIDAD 2. Constructiva). CSG se define como la representación de un objeto mediante un árbol UNIDAD 2 2 Definiciones básicas del modelado de sólidos 2.1 CSG 2.1.1 Definición de CSG CSG viene de las siglas en Inglés Constructive Solid Geometry (Geometría Sólida Constructiva). CSG se define como

Más detalles

Programación TADs Colecciones Conjuntos, Diccionarios y Tablas

Programación TADs Colecciones Conjuntos, Diccionarios y Tablas Programación 2 8 - TADs Colecciones Conjuntos, Diccionarios y Tablas 1 El TAD SET (Conjunto) En el diseño de algoritmos, la noción de conjunto es usada como base para la formulación de tipos de datos abstractos

Más detalles

Algoritmos de Visibilidad

Algoritmos de Visibilidad Algoritmos de Visibilidad BASADOS EN LA IMAGEN: Para cada pixel en la imagen determinar objeto visto más cercano dibujar pixel al color apropiado. o Z-buffer (coherencia de profundidad) Es el más popular,

Más detalles

Árboles de Partición Quadtrees Octrees K-d trees

Árboles de Partición Quadtrees Octrees K-d trees Árboles de Partición Quadtrees Octrees K-d trees Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Estructuras de Datos Geométricas Estructuras de

Más detalles

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios Estructura de Datos Árboles Árboles Binarios Temario Unidad VI 6.1 Definición y operaciones 6.2 Implementación 6.3 Recorrido en Árboles Binarios 6.4 Árboles AVL y su implementación 6.5 Árboles n-arios

Más detalles

Diagramas de Voronoi

Diagramas de Voronoi Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 15 de marzo del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Diagramas de Voronoi 15 de marzo del 2013 1 / 72 1 Diagramas de Voronoi Introducción Algunas

Más detalles

UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG

UNIDAD Creación del Árbol Octal de un objeto sólido vía la definición CSG UNIDAD 3 3 Creación de Árbol Octal vía la definición CSG 3.1 Creación del Árbol Octal de un objeto sólido vía la definición CSG Un árbol CSG hace uso de un conjunto de primitivas sólidas, estas primitivas

Más detalles

UNIDAD 9. DATOS COMPLEJOS PILAS

UNIDAD 9. DATOS COMPLEJOS PILAS UNI 9. TOS OMPLEJOS PILS Una pila es una lista de elementos en la que se pueden insertar y eliminar elementos sólo por uno de los extremos. omo consecuencia, los elementos de una pila serán eliminados

Más detalles

Algoritmos de fuerza bruta

Algoritmos de fuerza bruta Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 29 de enero de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos de fuerza bruta 29 de enero de 2018 1 / 26 1 Algoritmos de fuerza bruta Introducción

Más detalles

1 Representación por superficies de polígonos

1 Representación por superficies de polígonos 1 La representación de frontera que más se utiliza para un objeto gráfico tridimensional es un conjunto de polígonos de superficie que encierran el interior del objeto. Muchos sistemas gráficos almacenan

Más detalles

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ Título: Un Arbol Natural Autor: Luis R. Morera onzález Resumen En este artículo se crea un modelo para representar los números naturales mediante un grafo, el cual consiste de de un árbol binario completo

Más detalles

Tema 6. Tema 6. Tema 6. Modelado 3D 6.1 Introducción 6.2 Modelado plano de superficies 6.3 modelado de sólidos. 6.1 Introducción

Tema 6. Tema 6. Tema 6. Modelado 3D 6.1 Introducción 6.2 Modelado plano de superficies 6.3 modelado de sólidos. 6.1 Introducción Tema 6 Tema 6 Tema 6. Modelado 3D 6.1 Introducción 6.3 modelado de sólidos Gràfics per Computador 2004/2005 Tema 6. Modelado 3D 1 6.1 Introducción Una escena puede contener distintos tipos de objetos (nubes,

Más detalles

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63

Árboles B y B ) 20. Algoritmos y Estructuras de Datos II I.T. en Informática de Gestión/Sistemas Universidad de Huelva 63 y B + 3.8 y B+! Problema de los ABB cuando se usa almacenamiento secundario:! la búsqueda de un elemento requeriría muchos accesos a disco (un acceso a disco es extremadamente lento si lo comparamos con

Más detalles

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas

Más detalles

Algoritmos Geométricos. Héctor Navarro. UCV

Algoritmos Geométricos. Héctor Navarro. UCV Algoritmos Geométricos Héctor Navarro. UCV Estructuras de Datos Puntos struct Punto2D{ float x, y; }; struct Punto3D{ float x,y,z; }; Estructuras de Datos Polígonos Punto2D Poly[N]; Rectas struct Recta{

Más detalles

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial (Facultad de Informática) Curso 00 0 Estructuras de Datos y Algoritmos (FI-UPV) Curso 00 0 Árboles. Si la acción P fuera escribir

Más detalles

Envolvente Convexo. comp-420

Envolvente Convexo. comp-420 Envolvente Convexo comp-420 Algunas referencias M. de Berg, O. Cheong, M. van Kreveld, M. Overmars. Computational Geometry Algorithms and Applications. 3rd. edition. Springer 2008. S.L. Devadoss, J.O Rourke.

Más detalles

Apellidos:... Nombre:...

Apellidos:... Nombre:... Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder

Más detalles

Examen de Estructuras de Datos y Algoritmos. (Modelo 2)

Examen de Estructuras de Datos y Algoritmos. (Modelo 2) Examen de Estructuras de Datos y Algoritmos (Modelo 2) 17 de junio de 2009 1. Se dispone de una tabla hash de tamaño 12 con direccionamiento abierto y sondeo cuadrático. Utilizando como función hash la

Más detalles

Examen de Estructuras de Datos y Algoritmos. (Modelo 1)

Examen de Estructuras de Datos y Algoritmos. (Modelo 1) Examen de Estructuras de Datos y Algoritmos (Modelo 1) 17 de junio de 2009 1. Qué rotación se necesita para transformar el árbol de la figura en un árbol AVL? a) Rotación simple izquierda-izquierda b)

Más detalles

Diagramas de Voronoi. comp-420

Diagramas de Voronoi. comp-420 Diagramas de Voronoi comp-420 http://www.ifweassume.com/2012/10/the-united-states-of-starbucks.html furthest point from a company-owned Starbucks (~140 miles). http://www.ifweassume.com/2012/10/the-united-states-of-starbucks.html

Más detalles

Matemáticas Básicas para Computación

Matemáticas Básicas para Computación Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 11 Nombre: Árboles Objetivo: Al término de la sesión el participante conocerá los tipos de grafos específicamente

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López Francisco J. Hernández López fcoj23@cimat.mx Estructura de datos no lineales donde cada componente o nodo puede tener uno o más predecesores (a diferencia de los árboles) y sucesores Un grafo esta formado

Más detalles

Definiciones y ejemplos.

Definiciones y ejemplos. V. Grafos Definiciones y ejemplos. Módulo 5 DEF. Sea V un conjunto finito no vacío, y sea El par (V, E) es llamada entonces grafo dirigido en V, donde V es el conjunto de vértices o nodos y E es su conjunto

Más detalles

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES

A) PREORDEN B) INORDEN C) POSTORDEN D) NIVELES Capitulo 5. Arboles 1. Al recorrer el siguiente árbol en se visitan más nodos para llegar al número 38. Justifique su respuesta mostrando cada uno de los recorridos. Tipo de Recorrido Recorrido A) PREORDEN

Más detalles

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria

ESTRUCTURA DE DATOS. ABB Arboles de Búsqueda Binaria ESTRUCTURA DE DATOS ABB Arboles de Búsqueda Binaria ÁRBOLES BINARIOS Hasta ahora nos hemos dedicado a estudiar TAD que de una u otra forma eran de naturaleza lineal, o unidimensional. En los tipos abstractos

Más detalles

Descubrir los árboles como paradigma de los tipos Recursivos de Datos

Descubrir los árboles como paradigma de los tipos Recursivos de Datos TEMA 5 ÁRBOLES(*) Una de las estructuras las datos más importantes y prominentes que existen es el árbol. No es un árbol en el sentido botánico de la palabra, sino uno de naturaleza más abstracta. Todos

Más detalles

Algoritmos voraces (greedy)

Algoritmos voraces (greedy) Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 21 de marzo de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Algoritmos voraces 21 de marzo de 2018 1 / 45 1 Algoritmos voraces (greedy) Aplicaciones de

Más detalles

Profesor: José Miguel Rubio L.

Profesor: José Miguel Rubio L. Profesor: José Miguel Rubio L. Magíster en Ingeniería Informática Ingeniero Civil en Informática Licenciado en Ciencias de la Ingeniería Técnico en Programación Oficina: 3-20 e-mail 1: jose.rubio.l@ucv.cl

Más detalles

Estructuras de datos en SIG

Estructuras de datos en SIG Unidad Unidad.. Estructura Estructura de de datos datos en en los los SIG. SIG. Modelo Modelo de de datos datos en en malla malla regular regular oo raster: raster: características características principales,

Más detalles

Capítulo II Sistemas de Modelado Geométrico

Capítulo II Sistemas de Modelado Geométrico Capítulo II Sistemas de Modelado Geométrico 2.1 Introducción Según [Aguilera98], se denomina Sistema Geométrico al módulo de pre-proceso de un sistema CAD que trabaja con objetos tridimensionales. Como

Más detalles

Organización y acceso a los datos (continuación)

Organización y acceso a los datos (continuación) Organización y acceso a los datos (continuación) Bases de Datos 2 - Tecnologo de Informatica Outline 1 Recapitulemos Organización y Acceso a Datos 2 Estructuras de indexación Conceptos básicos Índices

Más detalles

Lógica: Algoritmo: Archivo: Base de datos: Bit:

Lógica: Algoritmo: Archivo: Base de datos: Bit: Lógica: Algoritmo: Archivo: Base de datos: Bit: 1 LÓGICA: Es una secuencia de operaciones realizadas por el hardware o por el software. Lógica del hardware, Son los circuitos y Chips que realizan las operaciones

Más detalles

Diagrama de Voronoi. Ejemplo de problemas geométricos:

Diagrama de Voronoi. Ejemplo de problemas geométricos: Diagrama de Voronoi Definición: Sea P={p1,p2,..,pn} un conjunto de puntos en el plano. Estos puntos son llamados sitios. Asignar a cada punto del plano el sitio más cercano. Todos los puntos asignados

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

Estructuras de datos: Árboles binarios de

Estructuras de datos: Árboles binarios de Estructuras de datos: Árboles binarios de búsqueda, Facultad de Informática Universidad de A Coruña Table of Contents Árboles binarios de búsqueda 1 Árboles binarios de búsqueda 2 Table of Contents Árboles

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.

Más detalles

Modelamiento Geométrico

Modelamiento Geométrico Modelamiento Geométrico Nancy Hitschfeld Kahler Departamento de Ciencias de La Computación Facultad de Ciencias Físicas y Matemáticas Universidad de Chile Curso Métodos Matemáticos para Imágenes Microscópicas

Más detalles

CAPÍTULO 1. Rectas y ángulos

CAPÍTULO 1. Rectas y ángulos CÍTU Elementos básicos de la Geometría Rectas y ángulos 1.1 En Geometría hay ideas básicas que todos entendemos pero que no definimos. Éstas son las ideas de unto, Recta, lano y Espacio. Señalamos un punto

Más detalles

Estructuras de datos Listas y árboles

Estructuras de datos Listas y árboles Estructuras de datos Listas y árboles Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Listas y árboles p. 1 Listas Listas son estructuras un poco más avanzadas que puros arreglos, como

Más detalles

Gráficas. Las relaciones que resultan de estas conexiones nos llevan a preguntas como:

Gráficas. Las relaciones que resultan de estas conexiones nos llevan a preguntas como: GRÁFICAS Gráficas Muchas aplicaciones computacionales involucran no solo un conjunto de elementos sino también conexiones entre pares de elementos. Las relaciones que resultan de estas conexiones nos llevan

Más detalles

Propuesta sobre Relaciones Geométricas y Topológicas para el SIG del COSIPLAN. Viviana Alarcón Muñoz - Geógrafa Ministerio de Obras Públicas - Chile

Propuesta sobre Relaciones Geométricas y Topológicas para el SIG del COSIPLAN. Viviana Alarcón Muñoz - Geógrafa Ministerio de Obras Públicas - Chile Propuesta sobre Relaciones Geométricas y Topológicas para el SIG del COSIPLAN Viviana Alarcón Muñoz - Geógrafa Ministerio de Obras Públicas - Chile Cuadro Resumen sobre Relaciones Topológicas GEOMETRÍA

Más detalles

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,

Más detalles

Rellenado de rectángulos y polígonos

Rellenado de rectángulos y polígonos Rellenado de rectángulos y polígonos Dr. Luis Gerardo de la Fraga 19 de septiembre de 2006 Resumen Esta es una traducción parcial de las secciones 3.5 y 3.6 del libro de texto (Folel, van Dam, Feiner and

Más detalles

Guía N 1 Introducción a las Matemáticas

Guía N 1 Introducción a las Matemáticas Glosario: Guía N 1 Introducción a las Matemáticas - Aritmética: Es la rama de las matemáticas que se dedica al estudio de los números y sus propiedades bajo las operaciones de suma, resta, multiplicación

Más detalles

Preguntas básicas de geometría computacional. comp-420

Preguntas básicas de geometría computacional. comp-420 Preguntas básicas de geometría computacional comp-420 Bibliografía Joseph O Rourke. Computational Geometry in C. Cambridge University Press. 1994. Mark de Berg, et al. Computational Geometry. Algorithms

Más detalles

ANEXO C: ALGORITMOS DE INTERSECCIÓN

ANEXO C: ALGORITMOS DE INTERSECCIÓN ANEXO C: ALGORITMOS DE INTERSECCIÓN El corazón de cualquier modelo de trazado de rayos es el de los algoritmos de la intersección entre los rayos y los objetos del ambiente. En un proceso general de trazado

Más detalles

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices. ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo

Más detalles

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES Los árboles (en general) se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes

Más detalles

95.12 Algoritmos y Programación II Práctica 7: árboles

95.12 Algoritmos y Programación II Práctica 7: árboles Notas preliminares 95.12 Algoritmos y Programación II Práctica 7: árboles El objetivo de esta práctica es introducir distintas clases de estructuras de datos arbóreas y algoritmos para manipularlas. Los

Más detalles

Modelado de Objetos 3D II

Modelado de Objetos 3D II Decimotercera sesión 12 de abril de 2011 Operaciones sobre mallas Generación de Mallas Discretización (Muestreo) Las operaciones de generación y de modicación de mallas se hacen sobre espacios discretos

Más detalles

Cubiertas convexas. Dr. Eduardo A. RODRÍGUEZ TELLO. 18 de enero del CINVESTAV-Tamaulipas

Cubiertas convexas. Dr. Eduardo A. RODRÍGUEZ TELLO. 18 de enero del CINVESTAV-Tamaulipas Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 18 de enero del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Cubiertas convexas 18 de enero del 2013 1 / 30 1 Cubiertas convexas Introducción El problema

Más detalles

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que: Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente

Más detalles

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa

Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Estructura de Datos y de la Información Eduardo Mosqueira Rey Bertha Guijarro Berdiñas Mariano Cabrero Canosa Laboratorio de Investigación y Desarrollo en Inteligencia Artificial Departamento de Computación

Más detalles

Acerca del interior de un polígono

Acerca del interior de un polígono Acerca del interior de un polígono Mario Ponce PUC-Chile 9 de marzo de 2011 Resumen En esta nota proponemos una demostración elemental del Teorema de la curva de Jordan para polígonos, justificando así

Más detalles

Fútbol, geometría y otros problemas.

Fútbol, geometría y otros problemas. Fútbol, geometría y otros problemas. Leandro Tortosa. Universidad de Alicante, Alicante (España). Departamento de Ciencia de la Computación e Inteligencia Artificial. Ap. Correos 99, E-03080. Alicante,

Más detalles

Detección de Colisiones. Héctor Navarro

Detección de Colisiones. Héctor Navarro Detección de Colisiones Héctor Navarro Ecuaciones del Plano Un plano 3D se define por una normal y una distancia a lo largo de esa normal Ecuación del plano ( Nx, Ny, Nz) ( x, y, z) d 0 Encontrar d: (

Más detalles

Estructuras de Datos II

Estructuras de Datos II Estructuras de Datos II Segundo Parcial Los árboles B+ son estructuras de datos jerárquicas que se utilizan para almacenar y manipular datos ordenados de forma muy eficiente, ya que por su estructura y

Más detalles

TEMA 5 El tipo grafo. Tipo grafo

TEMA 5 El tipo grafo. Tipo grafo TEMA 5 El tipo grafo PROGRAMACIÓN Y ESTRUCTURAS DE DATOS Tipo grafo 1. Concepto de grafo y terminología 2. Especificación algebraica. Representación de grafos.1. Recorrido en profundidad o DFS.2. Recorrido

Más detalles

Descriptores de Forma

Descriptores de Forma Descriptores de Forma Procesamiento de Imágenes y Bioseñales I Gabriela Villavicencio Andrés Cortés Jorge Mansilla Javier Ortiz Agenda Microscopia y Procesamiento en la migración celular Descriptores de

Más detalles

Triangulaciones de Delaunay

Triangulaciones de Delaunay Triangulaciones de Delaunay Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 22 de marzo del 2013 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Triangulaciones de Delaunay 22 de marzo del 2013 1 / 80 1 Triangulaciones

Más detalles

Robots Autónomos Miguel Cazorla,, Otto Colomina Depto.. Ciencia de la Computación n e I.A. Universidad de Alicante

Robots Autónomos Miguel Cazorla,, Otto Colomina Depto.. Ciencia de la Computación n e I.A. Universidad de Alicante Robots Autónomos Miguel Cazorla,, Otto Colomina Depto.. Ciencia de la Computación n e I.A. Universidad de Alicante Este ítem está licenciado bajo Licencia Creative Commons Robótica Planificación del movimiento

Más detalles

Tablas de dispersión

Tablas de dispersión Estructuras de datos Tablas de dispersión Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Tablas de dispersión y conjuntos p. 1 Tablas de dispersión dinámicas Una tabla de dispersión

Más detalles