930 likes | 1.2k Views
TRIANGULACIONES. Triangulaciones de nubes de puntos (modelado de terrenos) Triangulaciones de polígonos. Modelado de terrenos. Taquímetro / GPS. Interpolación de información. Sistema dinámico. Mapas topográficos. ¿ QUÉ ES UN S.I.G. ? (Sistema de Información Geográfica). DATOS.
E N D
Triangulaciones de nubes de puntos (modelado de terrenos) • Triangulaciones de polígonos
Taquímetro / GPS Interpolación de información Sistema dinámico Mapas topográficos ¿QUÉESUNS.I.G.? (Sistema de Información Geográfica) DATOS • Recolección • Análisis • Transformación • Visualización de la información: geográfica, numérica, estadística, etc.
¿QUÉESUNS.I.G.? (Sistema de Información Geográfica) DATOS • Recolección • Análisis • Transformación • Visualización de la información: geográfica, numérica, estadística, etc.
1240 1240 0 19 0 19 1000 1000 0 0 20 20 980 980 36 36 10 10 990 990 6 6 28 28 1008 1008 4 23 4 23 890 890
985 23 1240 1240 0 19 0 19 1000 1000 0 0 20 20 980 980 36 36 10 10 990 990 6 6 28 28 1008 1008 4 23 4 23 890 890
TRIANGULACIÓN DE NUBES DE PUNTOS OBJETIVO: Conseguir una triangulación “buena” PROBLEMA 1º: Existencia de triangulación PROBLEMA 2º: Existencia de “buena” triangulación
PROBLEMA 1º: Existencia de triangulación. Dada una nube de puntos, ¿siempre se puede triangular? RESPUESTA: SI
Dual de un grafo • Sustituir cada región (finita o infinita) por un vértice Dos nuevos vértices son adyacentes si y sólo si regiones del grafo original tenían arista común. • Generadores de Voronoi: vértices del dual. • Dos vértices adyacentes en dual si y sólo si corresponden a regiones con borde común. • Cada borde diagrama Voronoi arista en el dual.
Teorema: El dual del diagrama de Voronoi de una nube de puntos S es una triangulación de S.
Entrada: S={s1, ..., sn} • Para cada par de vértices, añadir el segmento que los une si no corta a ningún segmento anterior. Características: • Es algoritmo voraz • Da triangulación de S, con coste en tiempo O(n2). Sin embargo, no suele ser útil.
aj=a’j si j<i • V(T) > V(T’) si existe i Î{1,...,3m} tal que ai>a’i P={p1,p2,...,pn} conjunto de puntos en el plano T= triangulación de P con m triángulos • VectordeángulosdeT: • V(T)={a1,a2,...,a3m} con a1£ a2£ ... £a3m • T es la triangulaciónEquilátera de P={p1,p2,...,pn} si V(T) ³V(T’), para toda triangulación T’ de P.
Objetivo: Probar que la triangulación de Delaunay es la equilátera.
p3 p3 p1 p1 b3 a2 a1 b4 a3 b2 a6 b5 p2 p2 a4 b1 b6 a5 p4 p4 a*=min {ai } b*=min {bj } p1p2 es legal si a* ³ b* Triangulaciónlegal: todas sus aristas internas son legales Equilátera implica legal
Triangulaciones legales Flipdiagonal
Caracterización de las triangulaciones legales CriteriodelCircunciclo p4 p1 p3 p2 p1p2 es legal Û p4 Ï C(p1,p2,p3)
Caracterización de las triangulaciones legales CriteriodelCircunciclo p4 p1 p3 p2 p1p2 es legal Û p3 Ï C(p1,p2,p4)
Algoritmoparaencontrartriangulacioneslegales • Partir de cualquier triangulación • En cada arista interior: • comprobar si es legal por el criterio del circunciclo • si no lo es, realizar un flip
Dado un punto q llamaremos círculo máximo vacío al mayor círculo centrado en q que no contiene a ningún generador del diagrama en su interior. La bisectriz entre dos generadores define un borde de Vor(P) si y sólo si existe un punto q sobre dicha bisectriz tal que el círculo máximo vacío centrado en q contiene solamente a estos dos generadores en su frontera. Un punto q es vértice de Vor(P) si y sólo si el círculo máximo vacío centrado en q contiene tres o (en el caso de tratarse de un diagrama degenerado) más generadores en su frontera
Proposición1. P={p1,p2,...,pn} puntos en el plano. pipjpk es un triángulo de Delaunay si y sólo si C(pi,pj,pk) no contiene a ningún punto de P en su interior.
Proposición1. P={p1,p2,...,pn} puntos en el plano. pipjpk es un triángulo de Delaunay si y sólo si C(pi,pj,pk) no contiene a ningún punto de P en su interior.
Proposición1. P={p1,p2,...,pn} puntos en el plano. pipjpk es un triángulo de Delaunay si y sólo si C(pi,pj,pk) no contiene a ningún punto de P en su interior.
Proposición1. P={p1,p2,...,pn} puntos en el plano. pipjpk es un triángulo de Delaunay si y sólo si C(pi,pj,pk) no contiene a ningún punto de P en su interior.
Proposición2. P={p1,p2,...,pn} puntos en el plano. pipj es una arista de Delaunay si y sólo si existe un círculo a través de pipj que no contiene a ningún punto de P en su interior.
Proposición2. P={p1,p2,...,pn} puntos en el plano. pipj es una arista de Delaunay si y sólo si existe un círculo a través de pipj que no contiene a ningún punto de P en su interior.
Teorema 1. P={ p1,p2,...,pn } puntos en el plano. T = triangulación de P. T es legal si y sólo si T es la triangulación de Delaunay de P.
AlgoritmoparaencontrarlatriangulacióndeDelaunay • Partir de cualquier triangulación • En cada arista interior: • comprobar si es legal por el criterio del circunciclo • si no lo es, realizar un flip
Algoritmo de flips (Sibson, 1978) O(n2) • Transforma una triangulación arbitraria en la de Delaunay • realizando flips en triángulos adyacentes y decidiendo por • el criterio del circunciclo. • Divide y vencerás (Guibas y Stolfi, 1985) O(nlog n) • Algoritmo del barrido plano (Fortune, 1987) O(nlog n) • Algoritmo incremental de inserción aleatoria • (Guibas, Knuth y Sharir, 1992) O(nlog n) • Comienza con un triángulo ficticio e inserta aleatoriamente • los puntos en la triangulación. Se generaliza a R3.