Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROFESOR GUÍA:
MARÍA CECILIA RIVARA ZÚÑIGA
MIEMBROS DE LA COMISIÓN:
NANCY VIOLA HITSCHFELD KAHLER
CLAUDIO DOMINGO GUTIERREZ GALLARDO
DIEGO JAVIER CELENTANO
SANTIAGO DE CHILE
MARZO 2009
RESUMEN
La tesis se sitúa en el área de las mallas geométricas, específicamente en el
estudio del proceso de refinamiento y mejoramiento de las mismas, para estos
fines, se ha diseñado y utilizado el algoritmo Lepp-Bisección basado en la bisec-
ción de triángulos por la arista más larga.
El problema de refinamiento de mallas compuestas de triángulos rectángulos
isósceles es: Dada una triangulación uniforme inicial Mi de triángulos rectángu-
los isósceles, una región de refinamiento R de Mi y un parámetro de longitud de
arista ; obtener una triangulación refinada1 y conforme Mf de triángulos rec-
tángulos isósceles, tal que la longitud de la arista más larga de cada triángulo
de Mf que intersecta R sea menor o igual que . Se demostró que el refinamiento
de la región R depende de la condición de refinamiento:
I
A Dios, quien me ha protegido.
A mis padres que me han cuidado,
a mi hermano Alfredo con quien compartí la misma infancia.
A todos mis familiares, amigos y profesores.
II
Agradecimientos
En primer lugar le agradezco mi madre Noemí, mujer esforzada que dio mucho
por sus hijos, a mi padre Cristín. A mis hermanos Alfredo, Delma y Edwin.
III
Índice
RESUMEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I
1. Introducción 1
1.1. Aspectos generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Definición del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. El problema del refinamiento de triangulaciones . . . . . . . 3
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Descripción de los Contenidos . . . . . . . . . . . . . . . . . . . . . . 6
2. Antecedentes 7
2.1. Mallas de triángulos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Refinamiento de triangulaciones mediante la bisección de triángulos 9
2.2.1. Bisección de un triángulo por la arista más larga . . . . . . . 9
2.2.2. Propiedades de la bisección de un triángulo por la arista
más larga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3. LEPP (Longest-Edge Propagation Path) . . . . . . . . . . . . 11
2.2.4. Algoritmo de refinamiento de triangulaciones (Lepp-bisección) 12
2.3. Refinamiento de mallas Delaunay . . . . . . . . . . . . . . . . . . . 13
IV
3.4.1. Refinamiento alrededor de una arista para la triangulación
TRI de la figura 3.8.(b) . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2. Algoritmo para el refinamiento alrededor de una arista . . . 35
3.4.3. Refinamiento alrededor de una arista para una triangula-
ción uniforme TRI . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.5. Refinamiento de un sector cuadrado . . . . . . . . . . . . . . . . . . 37
3.5.1. Refinamiento de un sector cuadrado para una triangulación
TRI de la figura 3.10 . . . . . . . . . . . . . . . . . . . . . . . 37
3.5.2. Refinamiento de un sector cuadrado para una triangulación
uniforme TRI . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6. Refinamiento de un sector circular . . . . . . . . . . . . . . . . . . . 47
3.6.1. Refinamiento de un sector circular para la triangulación
TRI de la figura 3.13 . . . . . . . . . . . . . . . . . . . . . . . 47
3.6.2. Refinamiento de un sector circular para una triangulación
uniforme TRI . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7. El peor caso de refinamiento de las triangulaciones generales TRI . 50
3.8. Refinamiento en una triangulación general TRI . . . . . . . . . . . 51
V
5.6. Cuando en el LEPP las probabilidades de tener un triángulo vecino
de tipo A, B y C son distintas . . . . . . . . . . . . . . . . . . . . . . 71
6. Conclusiones 75
Bibliografía 79
VI
Índice de figuras
VII
Índice de Tablas
VIII
Capítulo 1
Introducción
1
Para el refinamiento de mallas, se ha diseñado diferentes estrategias, por
ejemplo, las que se basan en la inserción de vértices en el circuncírculo de los
triángulos que se requieren refinar. En particular Rivara ha desarrollado al-
goritmos basados en la bisección de triángulos por la arista más larga [7, 9].
Resultados recientes sobre estos algoritmos han sido obtenidos por Gutierrez,
Gutierrez y Rivara [6].
Por otro lado, Duchaineau et al. discuten el algoritmo ROAM2 [3] que es un
método usado en la modelación de terrenos y visualización en tiempo real con
mallas de triángulos basado en la noción de un bintree de triángulos rectángulos
isósceles (el bintree tiene una variante para triángulos, como lo tiene el quadtree),
recursivamente refina los triángulos dividiendo su arista más larga.
2
mallas geométricas. La ubicación y distribución de los puntos determinan
las características de la malla.
3
1.3. Objetivos
1.4. Metodología
4
el objetivo de calcular el costo de refinamiento. Por otro lado, se realiza experi-
mentos empíricos sobre mallas Delaunay con el objetivo de calcular la longitud
media y máxima de propagación del Lepp (estadística experimental). También
se calcula la longitud media de propagación del Lepp utilizando funciones gene-
ratrices de probabilidad (estadística teórica). Finalmente esos dos resultados, el
experimental y el teórico se contrastan observando las diferencias de las medias
y sus desviaciones estándar.
5
1.5. Descripción de los Contenidos
6
Capítulo 2
Antecedentes
7
distintos en el plano, se define el diagrama Voronoi de P como la subdivisión
del plano en n celdas, con la propiedad de que un punto q pertenece a la celda
correspondiente al sitio pi , si y sólo si distancia(q, pi ) < distancia(q, pj ) para cada
pj ∈ P con j 6= i [2].
8
2.2. Refinamiento de triangulaciones mediante
la bisección de triángulos
9
En la figura 2.1 se muestra la bisección del triángulo ABC por su arista más
larga. Se inserta el punto D en la mitad de la arista más larga BC y se traza
una nueva arista AD, desde el punto D (de la arista BC) al respectivo vértice
opuesto. Se forman dos nuevos triángulos ABD y ADC.
A B
Figura 2.1: Bisección del triángulo ABC por la arista más larga.
10
Conformidad de una malla por la bisección de un triángulo: Sea t0 un
triángulo de una malla conforme Γ, la bisección de t0 por la arista más larga hace
que la malla Γ quede no conforme en el caso de existir un triángulo vecino t1 que
comparte con t0 la arista recientemente dividida, debido al punto insertado en la
mitad de la arista compartida. De otro modo si la arista más larga del triángulo
t0 pertenece al contorno de la malla, entonces Γ permanecerá conforme.
11
t0
t1
t3
t2 1
(a) (b)
2 2
1 1
(c) (d)
3 3
5 4 5 4
2 2
1 1
(e) (f)
12
y (e) es la penúltima triangulación. Finalmente (f) es la malla refinada, donde t0
ha sido dividido.
13
circuncírculo de los triángulos, manteniendo las propiedades Delaunay y por lo
tanto mejorando la calidad de la malla resultante. A continuación se revisan los
algoritmos más destacados de refinamiento de mallas Delaunay.
Los lados (arcos) del grafo de líneas rectas en el plano (planar straightline
graph PSLG en ingles) se denominan como segmentos para distinguir de los lados
de la triangulación Delaunay. Las dos operaciones básicas en el algoritmo son
dividir un segmento añadiendo un vértice en su mitad, y dividir un triángulo
añadiendo un vértice en su circuncentro2 .
14
La estrategia elaborada por Shewchuk [19] combina el algoritmo de Ru-
ppert [17] y el algoritmo de Chew [1] reemplazando el círculos diametrales por
lentes diametrales, de este modo un segmento se considera invadido siempre que
un vértice cae dentro del lente diametral (este y otros arreglos además). El lente
diametral de un subsegmento S es la intersección de dos discos con la capacidad
de almacenar un triángulo isósceles cuyos ángulos en la base S son 30◦ . Otra ex-
tensión de Shewchuk para el algoritmo de Ruppert se puede encontrar en [20].
3
Netlib es una colección que está a libre disposición contiene Software, documentos y bases
de datos de interés para la comunidad de computación científica, numérica y otros. Su dirección
Web es http://www.netlib.org.
15
Capítulo 3
Refinamiento de mallas de
triángulos rectángulos isósceles
16
de AB y el vértice opuesto C, se obtiene dos nuevos triángulos rectángulos isósce-
les iguales ACB y BCM, esto se ilustra en la figura 3.1. Luego, la bisección de
un triángulo rectángulo isósceles genera necesariamente dos nuevos triángulos
rectángulos isósceles idénticos.
A•
π/4
•M
π/2
C• •B
A•
•M
π/2
C• •B
17
perder generalidad. Por contradicción, si el vértice no común D estuviera dentro
del circuncírculo, entonces el ángulo que representa (respecto al lado BC) sería
mayor que π/2 y por lo tanto no sería un triángulo rectángulo. De esta manera,
en secuencia todos los triángulos rectángulos vecinos cumplen la prueba del cir-
cuncírculo de Delaunay. Luego todas las mallas de triángulos rectángulos son
Delaunay.
Por ejemplo en la figura 3.3 el triángulo rectángulo ABC tiene dos vecinos
el triángulo rectángulo BCD y ABE. El circuncírculo del triángulo rectángulo
ABC no contiene en su interior a los vértices D y E de sus vecinos. El vértice D
cae en el límite del circuncírculo y el vértice E está en el exterior.
•D
C •
•
A • • B
•
E
Corolario 3.2. Todas las mallas de triángulos rectángulos isósceles son Delau-
nay.
18
A•
π/4
•M
π/2
C• •B
Propiedad 3.4. En una triangulación uniforme TRI, los triángulos son del mis-
mo tamaño y cada triángulo ti puede tener hasta tres vecinos. Los catetos de ti
pueden tener vecinos que comparten también sus catetos, debido a que la longi-
tud del cateto es distinta al de la hipotenusa. Del mismo modo, a la hipotenusa
de ti le corresponde un vecino que comparte también su hipotenusa.
19
Teorema 3.5. En una malla uniforme TRI la longitud de propagación por la
arista más larga de un triángulo es a lo más dos. Dos si el triángulo tiene un
vecino por la hipotenusa o uno si el triángulo tiene su hipotenusa en el borde de
la malla.
Corolario 3.6. En una malla uniforme TRI la bisección por la arista más larga
de cualquier triángulo no tiene el peor caso de propagación.
20
y dentro del área definida por un círculo. El área de la región R puede ser in-
cluso igual a cero (aunque se puede esperar que sea distinta de cero), en el caso
del refinamiento alrededor de un vértice (punto) el área del sector R es cero, lo
mismo sucede si el refinamiento es alrededor de una arista.
Por ejemplo la figura 3.6(a) se refina utilizando seis iteraciones, una iteración
consiste en la división de todos los triángulos que comparten el vértice común
P . El resultado se muestra en la figura 3.6(b) con la inserción de 24 vértices y
44 triángulos en seis iteraciones, y si se considera los 5 vértices y 4 triángulos
iniciales, hacen un total de 29 vértices y 48 triángulos.
21
L
• • • • •
• • •
P • • •
• •
• • • • • • • •
• •
• • •
• • •
• • • • •
(a) (b)
Figura 3.6: Refinamiento alrededor de un vértice P : (a) Malla inicial y (b) Malla
refinada en seis iteraciones.
22
Demostración. El objetivo es calcular el número de vértices insertados y trián-
gulos generados, de acuerdo a la longitud de arista (más larga) deseada que
indica hasta que longitud debe reducirse la arista (más larga) inicial L de los
triángulos que comparten el vértice común P . Aparte de la triangulación Tv y el
vértice P , los parámetros de entrada serán L y .
• • • • •
P
• • • •
• • • • •
(a) (b)
• • • • • •
• • • • •
• • • • • • • •
• • • • •
• • • • • •
(c) (d)
Figura 3.7: Iteraciones del refinamiento alrededor del vértice P : (a) Triangula-
ción inicial, (b) Primera, (c) Segunda y (d) Tercera iteración.
23
Itera- Vértices Total vér- Triángulos Total Arista
ción inserta- tices p(n) inserta- triángulos más
dos dos t(n) larga
h(n)
√
1 4 4 4 4 2L/2
2 4 8 8 12 L/2
√
3 4 12 8 20 2L/4
4 4 16 8 28 L/4
√
5 4 20 8 36 2L/8
6 4 24 8 44 L/8
√
7 4 28 8 52 2L/16
... ... ... ... ... ...
n 4 p(n−1)+4 8 t(n − 1) + 8 h(n−1)
√
2
p(n) = 4n (3.1)
t(n) = 8n − 4 (3.2)
24
Bisección de la arista más larga: La arista más larga de cada triángulo
√
que comparte el vértice común P , se reduce multiplicándose por 2
2
en cada ite-
ración, este factor se obtiene con la aplicación del teorema de Pitágoras en las
bisecciones sucesivas de un triángulo rectángulo isósceles. Luego la longitud de
la arista más larga h(n) en función del número de iteraciones n, queda definida
√
por la ecuación h(n) = h(n − 1)/ 2 con h(0) = L, cuya fórmula no recursiva es
(sexta columna de la tabla 3.1):
L
h(n) = n (3.3)
22
L
n = 2 log2 (3.4)
L
p(L, ) = 8 log2 (3.5)
L
t(L, ) = 16 log2 −4 (3.6)
25
En este caso, el trabajo de bisección se realiza sólo en los triángulos que com-
parten el vértice común P , no hay propagación en el resto de la malla.
26
Algoritmo 3.1 Refinamiento_alrededor_de_un_vértice(P ,L,)
Entrada: P : Vértice de referencia alrededor del cual se refina.
Entrada: L : Longitud de la arista inicial de los triángulos con vértice común
P.
Entrada: : Longitud de la arista requerida para los triángulos con vértice
común P .
1: longitud_arista ← L
2: Mientras longitud_arista > Hacer
3: Para cada triángulo t con vértice común P Hacer
4: Lepp_Bisección(t)
5: Fin Para
6: longitud_arista ← longitud_arista
√
2
7: Fin Mientras
27
L
, esto viene a ser un caso particular de refinamiento estable, es decir, cuando el
refinamiento es local y sin el peor caso de propagación en la malla. Para genera-
lizar este resultado se requiere demostrar que en las triangulaciones uniformes
TRI no existe el peor caso de propagación. El corolario 3.6 sustenta que en una
malla uniforme TRI la bisección por la arista más larga de un triángulo no tiene
el peor caso de propagación.
28
requiere refinar el sector definido por una arista AB de Ta , tal que la longitud de
la arista más larga de cada triángulo cuya arista es segmento de AB sea menor
o igual que .
L L
7
+ 8 log2
−7 si n es par
p(L, ) = √
4 2 L L
+ 8 log2 − 11 si n es impar
14 L + 16 log2 L − 14 si n es par
t(L, ) = √
8 2 L + 16 log L − 22 si n es impar
2
respectivamente.
Demostración. En la figura 3.8 contiene dos mallas iniciales (a) y (b), en donde
(b) está adecuada para obtener las fórmulas. El segmento AB que está definido
por los vértices A y B, inicialmente es la arista que comparten dos triángu-
los, posteriormente AB contiene subsegmentos que son aristas de los triángu-
los bisectados. Los triángulos cuyas aristas son segmentos de AB, no necesa-
riamente pertenecen a AB con sus hipotenusas (la arista más larga) sino tam-
bién con cualquiera de sus dos catetos (figura 3.9). Una iteración consiste en
la división de todos los triángulos cuyas aristas son segmentos de AB, de esta
manera, la primera iteración comienza con los dos triángulos que comparten la
29
arista común AB, se bisecta el segmento AB en dos subsegmentos (conforman-
do nuevos triángulos), éstos a su vez son bisectados en otros subsegmentos, así
sucesivamente.
L
A B
(a)
L
A B
(b)
Figura 3.8: Refinamiento alrededor de una arista: (a) y (b) son triangulaciones
iniciales para el refinamiento alrededor de la arista definida por los vértices A y
B.
30
A B
(a) (b)
(c) (d)
(e) (f)
Figura 3.9: Iteraciones del refinamiento alrededor de la arista AB: (a) Trian-
gulación inicial, (b) Primera, (c) Segunda, (d) Tercera, (e) Cuarta y (f) Quinta
iteración.
31
Itera- Vértices insertados Total
ción vér-
tices
p(n)
1−1
1 2 2 = 1 1
2 2
2 2(2 2 − 1) + 2(2 2 ) + 10 = 14 15
−1
3−1
3 2 2 = 2 17
4 4
4 2(2 2 −1 − 1) + 2(2 2 ) + 10 = 20 37
5−1
5 2 2 = 4 41
6 6
6 2(2 2 −1 − 1) + 2(2 2 ) + 10 = 32 73
7−1
7 2 2 = 8 81
8 8
8 2(2 2 −1 − 1) + 2(2 2 ) + 10 = 56 137
... ... ...
n (*) (*)
(*) Depende si n es par o impar.
(ver los cálculos del número de triángulos insertados). La ecuación 3.7 es exac-
tamente la mitad de la ecuación 3.9. El comportamiento incremental se describe
en la tabla 3.2. Luego, el número total de vértices insertados p(n) en función del
número de iteraciones n, queda definido por la siguiente ecuación con p(1) = 1:
n
p(n − 1) + 3 2 2 + 8 si n es par
p(n) = n 1
(3.7)
p(n − 1) + 2 2 − 2 si n es impar
n
7 2 2 + 4n − 7 si n es par
p(n) = n+1
(3.8)
4 2 2 + 4n − 11 si n es impar
32
ca en dos casos: las iteraciones pares y las impares, esto debido a su compor-
tamiento incremental. Cuando el número de la iteraciones es par el número de
n
triángulos cuyas aristas son segmentos de AB es de 2 2 a cada lado (donde n
es el número de iteración) debido a que únicamente en cada dos iteraciones se
bisectan las aristas que son segmentos de AB (figura 3.9). Se tiene la misma
n
cantidad de triángulos en ambos lados, sumando un total de 2 2 +1 triángulos. La
propagación necesaria para la conformidad de la malla genera nuevos triángu-
los, y por cada triángulos cuya arista es segmento de AB, la propagación es de
seis nuevos triángulos menos los tres iniciales bisectados, es decir, tres triángu-
n
los adicionales. Luego se agregan 3 2 2 +1 triángulos más 16 triángulos prove-
nientes de la propagación adicional de los cuatro triángulos que están en los
extremos, quienes se propagan añadiendo cuatro triángulos cada uno. En el caso
que la iteración sea impar, el número de triángulos cuyas aristas son segmentos
n 1
de AB es de 2 2 + 2 . La propagación genera nuevos triángulos, en este caso por
cada triángulo cuya arista es segmento de AB, la propagación es de dos trián-
n 1
gulos nuevos menos uno inicial bisectado, es decir, uno. Luego se agregan 2 2 + 2
triángulos. Finalmente, el número de triángulos generados t(n) en función del
número de iteraciones n, está definido por la ecuación:
n
t(n − 1) + 3 2 2 +1 + 16 si n es par
t(n) = n 1
(3.9)
t(n − 1) + 2 2 + 2 si n es impar
P n2 P n2
3 2i+1 + 16 + k=1 2
i
si n es par
k=1
t(n) = n+1 n+1 (3.10)
i
k=1 2 + 3 2 + 16i
si n es impar
P 2
P 2
k=2
33
Itera- Triángulos insertados Total Arista más
ción triángulos larga h(n)
t(n)
1+1 √
1 2 2 =2 2 2L/2
2+2
2 3(2 2 ) + 16 = 28 30 L/2
3+1 √
3 2 2 = 4 34 2L/4
4+2
4 3(2 2 ) + 16 = 40 74 L/4
5+1 √
5 2 2 = 8 82 2L/8
6+2
6 3(2 2 ) + 16 = 64 146 L/8
7+1 √
7 2 2 = 16 162 2L/16
8+2
8 3(2 ) + 16 = 112 274
2 L/8
... ... ... ...
n (*) (*) h(n) = h(n−1)
√
2
(*) Depende si n es par o impar.
n
14 2 2 + 8n − 14 si n es par
t(n) = n+1
(3.11)
8 2 2 + 8n − 22 si n es impar
L
h(n) = n (3.12)
22
34
Debido a que se requiere expresar las ecuaciones en función de la arista de-
seada , se despeja n de la ecuación 3.12 reemplazando h(n) por , obteniéndose:
L
n = 2 log2 (3.13)
7 L
+ 8 log2 L
−7 si n es par
p(L, ) = √
(3.14)
4 2
L
+ 8 log2 L
− 11 si n es impar
14 L + 16 log2 L − 14 si n es par
t(L, ) = √ (3.15)
8 2 L + 16 log L − 22 si n es impar
2
35
L : Longitud de la arista inicial de los (dos) triángulos con arista común
AB.
Las hipotenusas de los triángulos rectángulos isósceles cuyas aristas son seg-
mentos de AB tienen una misma longitud por lo que para representarlas se
√
puede utilizar una variable, en el algoritmo es longitud_arista, y se divide por 2
en cada paso iterativo de bisección. Las iteraciones terminan cuando la longitud
de arista (longitud_arista) deja de ser mayor que , es decir, cuando los triángulos
refinados han alcanzado la dimensión requerida.
En la línea cuatro del algoritmo 3.2 se utiliza el algoritmo recursivo 2.1 para
la bisección del triángulo t y sus vecinos, es decir Lepp(t), esto para la conformi-
dad de la malla.
36
3.4.3. Refinamiento alrededor de una arista para una trian-
gulación uniforme TRI
37
Supuesto 3.18. Se consideran sólo triangulaciones conformadas por triángulos
rectángulos isósceles TRI.
L
2 √
2 + 8 2 L + 8 log2 L − 15 si L
es par
p(L, ) = 2
4 L +1 si L
es impar
L
2 √
4 + 16 2 L + 16 log2 L − 36 si L
es par
t(L, ) = 2
4 L si L
es impar
respectivamente.
38
D C
A B
La solución está compuesta por dos partes: (A) Lo que se genera dentro del
área del cuadrado y (B) Lo que se genera fuera de la región del cuadrado, esto
para la conformidad de la malla.
39
• • • • •
• • • •
• • • • •
(a) (b)
• • • • • • • •
• • • • • • •
• • • • • • • •
• • • • • • •
• • • • • • • •
(c) (d)
n+2
2n + 2 2 + 1 si n es par
p(n) = n+1
(3.16)
2n + 2 2 + 1 si n es impar
40
Itera- Vértices Total vér- Triángulos Total Arista
ción inser- tices p(n) inserta- triángulos más
tados dos en el t(n) larga
en el interior h(n)
interior
1 1 5 4 4 L
√
2 4 9 4 8 2L/2
3 4 13 8 16 L/2
√
4 12 25 16 32 2L/4
5 16 41 32 64 L/4
√
6 40 81 64 128 2L/8
7 64 145 128 256 L/8
... ... ... ... ... ...
n - (*) − 2n+1 h(n−1)
√
2
(*) Depende si n es par o impar.
Tabla 3.4: Refinamiento por iteraciones dentro del área de un sector cuadrado.
L
h(n) = n−1 (3.18)
2 2
L
n = 2 log2 +1 (3.19)
41
ecuación 3.19 en las ecuaciones 3.16 y 3.17 se obtiene:
√ 2
2L
+ 1 si L
es par
p(L, ) = 2
(3.20)
2L + 1
si L
es impar
2
2L
t(L, ) = (3.21)
42
Itera- Vértices Total vér- Triángulos Total Arista
ción inserta- tices p(n) inserta- triángulos más
dos en dos en el t(n) larga
el exte- exterior h(n)
rior
1 - - - - L
√
2 0 0 4 4 2L/2
3 0 0 0 4 L/2
√
4 20 20 48 52 2L/4
5 0 20 0 52 L/4
√
6 32 52 80 132 2L/8
7 0 52 0 132 L/8
√
8 56 108 144 276 2L/16
9 0 108 0 276 L/16
√
10 104 212 272 548 2L/32
... ... ... ... ... ...
n - (*) − (*) h(n−1)
√
2
(*) Depende si n es par o impar.
43
D C
A B
(a) (b)
(c) (d)
n+2
3(2 2 ) + 4n − 20 si n es par
p(n) = (3.22)
0 si n es impar
n+8
2 2 + 8n − 44 si n es par
t(n) = (3.23)
0 si n es impar
44
La arista más larga de los triángulos contenidos en el cuadrado ABCD en
función del número de iteraciones n (sexta columna de la tabla 3.5) está definida
por:
L
h(n) = n−1 (3.24)
2 2
L
n = 2 log2 +1 (3.25)
√
6 2 L + 8 log2 L − 16 si L
es par
p(L, ) =
(3.26)
0 si L
es impar
√
16 2 L + 16 log2 L − 36 si L
es par
t(L, ) =
(3.27)
0 si L
es impar
De las ecuaciones 3.26 y 3.27, el resultado parcial del número de vértices in-
sertados y el número de triángulos generados específicamente en el exterior de
un sector cuadrado es una función lineal de L . Y el resultado parcial del número
de vértices insertados y el número de triángulos generados específicamente en
45
el interior de un sector cuadrado es una función cuadrática de L , esto según las
ecuaciones 3.20 y 3.21.
2 √
2 L
+ 8 2 L + 8 log2 L − 15 si L
es par
p(L, ) = 2
(3.28)
4 L +1 si L
es impar
2 √
4 L
+ 16 2 L + 16 log2 L − 36 si L
es par
t(L, ) = 2
(3.29)
4 L si L
es impar
46
3.5.2. Refinamiento de un sector cuadrado para una trian-
gulación uniforme TRI
47
Supuesto 3.23. Se consideran sólo triangulaciones conformadas por triángulos
rectángulos isósceles (TRI).
D C
A B
48
Demostración. Las triangulaciones iniciales de los refinamientos de un sector
cuadrado y de un sector circular son las mismas, definidas como Ts y Tc respec-
tivamente (figuras 3.10 y 3.13). El área del sector circular Φ está incluida en
el área de un cuadrado ABCD, que es el mismo cuadrado del cual se calculado
el costo de refinamiento en el teorema 3.21. Entonces, el costo de refinamiento
de un sector circular es equivalente al refinamiento de un sector cuadrado (al
menos en el orden de la función). Luego el número de vértices insertados y el
número de triángulos rectángulos isósceles generados dentro y fuera de un sec-
tor circular utilizando el algoritmo Bisección-Lepp es una función cuadrática de
L
.
49
3.7. El peor caso de refinamiento de las triangu-
laciones generales TRI
50
C
A B
...
51
Capítulo 4
Estadística experimental de la
longitud de propagación del
LEPP
4.1. Introducción
52
Construir una malla Γ a partir del conjunto de puntos P , utilizando el algo-
ritmo de triangulación Delaunay.
53
con longitudes de aristas más largas crecientes según la secuencia del LEPP, es
decir, Lepp(t0 ) = {t0 , t1 , t2 , ..., tn }.
t0
t1
t2
t3
t4
...
tn
Figura 4.1: Peor caso de la longitud máxima de propagación LEPP en una malla
(con n + 1 triángulos).
Primero. De cien puntos hasta mil puntos. Con incrementos de cien puntos,
con la finalidad de observar el comportamiento inicial.
Segundo. De mil puntos hasta veinte mil puntos. Con incrementos de mil
puntos.
54
En la figura 4.2 se observa que los experimentos de muestras menores a mil
puntos un LEPP promedio corto, con un crecimiento proporcional al número de
puntos. Desde los mil o más puntos el LEPP llega a su mayor valor donde in-
mediatamente se mantiene estable en un promedio (media).
3.7
Longitud media del LEPP
3.6
3.5
3.4
3.3
10
20
30
40
50
60
70
80
90
10
11
12
13
14
15
16
17
18
19
20
0
0
0
0
0
0
0
0
0
00
00
00
00
00
00
00
00
00
00
00
Puntos
Figura 4.2: Longitud media de propagación del LEPP en una malla Delaunay.
55
Malla Delaunay Malla Refinada (con
Lepp-Delaunay 25o )
Número Lepp Desviación Longitud Lepp Desviación Longitud
de Pun- estándar máxima estándar máxima
tos del Lepp del Lepp
1000 3,602 1,627 11,725 3,46 1,715 15,375
2000 3,604 1,638 13,025 3,464 1,692 15,675
3000 3,611 1,639 13,7 3,454 1,668 15,975
4000 3,598 1,622 13,85 3,475 1,696 16,85
5000 3,596 1,63 14,375 3,469 1,677 17,125
6000 3,59 1,622 14,45 3,474 1,685 18,1
7000 3,583 1,617 14,475 3,467 1,671 17,075
8000 3,579 1,615 15,175 3,471 1,671 17,925
9000 3,58 1,614 14,85 3,47 1,669 17,8
10000 3,581 1,618 15,4 3,472 1,666 17,6
11000 3,574 1,609 15,025 3,478 1,695 18,675
12000 3,579 1,616 15,65 3,473 1,665 17,775
13000 3,573 1,612 16,15 3,472 1,662 18,55
14000 3,575 1,612 15,925 3,47 1,66 17,975
15000 3,571 1,613 16,2 3,477 1,665 17,75
16000 3,573 1,61 15,85 3,474 1,66 18
17000 3,57 1,605 16,075 3,473 1,659 18,05
18000 3,567 1,609 16,8 3,478 1,664 18,05
19000 3,566 1,602 15,85 3,47 1,657 18,125
20000 3,566 1,602 16,575 3,474 1,671 19,225
Promedio: 3,582 1,617 15,056 3,471 1,673 17,584
56
mayores a mil puntos.
3.7
Longitud media del LEPP
3.6
3.5
3.4
3.3
3.2
10
20 0
30 0
40 0
50 0
60 0
70 0
80 0
90 0
10 0
11 00
12 00
13 00
14 00
15 00
16 00
17 00
18 00
19 00
20 00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
0
Puntos
Figura 4.3: Longitud media de propagación del LEPP en una malla Delaunay.
En la figura 4.4 se observa el LEPP máximo de las mallas (de las mismas
muestras de la sección anterior), el LEPP crece proporcionalmente al número de
puntos. A partir de una cantidad de mil puntos mantiene un promedio estable
de aproximadamente quince triángulos, esto se aprecia en la cuarta columna de
tabla 4.1.
57
Longitud máxima del LEPP según puntos
14
Malla Delaunay
13
11
10
8
10
20
30
40
50
60
70
80
90
10
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
20 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
Puntos
58
4.4.1. Longitud media de propagación del LEPP en una ma-
lla refinada con Lepp-Delaunay
3.7
Longitud media del LEPP
3.6
3.5
3.4
3.3
10
20
30
40
50
60
70
80
90
10
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
20 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
Puntos
Figura 4.5: Longitud media de propagación del LEPP en una malla refinada con
Lepp-Delaunay.
59
La reducción del LEPP promedio respecto a la malla inicial no refinada se
explica al efecto de la aplicación del algoritmo Lepp-Delaunay(25) que mejora
la calidad de los triángulos, y en consecuencia la longitud media del LEPP es
menor.
3.6
3.5
3.4
3.3
3.2
10
20 0
30 0
40 0
50 0
60 0
70 0
80 0
90 0
10 0
11 00
12 00
13 00
14 00
15 00
16 00
17 00
18 00
19 00
20 00
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
0
Puntos
Figura 4.6: Longitud media de propagación del LEPP en una malla refinada con
Lepp-Delaunay.
60
4.4.2. Longitud máxima de propagación del LEPP en una
malla refinada con Lepp-Delaunay
16
Longitud máxima del LEPP
14
12
10
8
10
20
30
40
50
60
70
80
90
10
11 0
12 0
13 0
14 0
15 0
16 0
17 0
18 0
19 0
20 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
Puntos
Figura 4.7: Longitud del LEPP máximo en una malla refinada con Lepp-
Delaunay.
61
4.5. Nuevo algoritmo de refinamiento: Lepp-Bisección-
Delimitado
En razón a que la longitud de propagación del LEPP tiene una media pequeña
y considerando que también se dispone de las estadísticas de la longitud máxima
del LEPP para cada tamaño de muestra. En esta sección se elabora y plantea un
nuevo algoritmo de refinamiento denominado Lepp-Bisección-Delimitado, sin el
peor caso de propagación.
62
Por otro lado, tratándose de refinamiento de un sector, el efecto de la inclusión
de un límite en la búsqueda del LEPP no tiene importancia debido a que los
triángulos que pasan el límite pueden no estar en la región de refinamiento, y
si están pueden ser bisectados cuando se examina otro triángulo de la región de
refinamiento.
63
Capítulo 5
Esta sección tiene la finalidad de recordar los conceptos relacionados con las
funciones generatrices y, primordialmente, establecer la terminología y notación
para las mismas (hay textos de referencia por ejemplo [5]). Con igual intención
se ha incluido en la sección de anexos el tema de probabilidades discretas.
64
G(z) = g0 + g1 z + g2 z 2 + · · · = gn z n (5.1)
X
n≥0
Hay dos tipos de “forma cerrada” para las funciones generatrices. Puede
haber una forma cerrada para G(z), expresada en términos de z; o puede haber
una forma cerrada para gn , expresado en términos de n. Por ejemplo, la función
generatriz para los “números Fibonacci” tiene la forma cerrada z/(1 − z − z 2 ) y
√
los números Fibonacci tienen la forma cerrada (φn − φ̂n )/ 5.
Gx (1) = 1 (5.3)
65
La ventaja de las funciones generatrices de probabilidad es que usualmente
simplifican el cálculo de medias y varianzas. La media (promedio o valor espera-
do) se expresa como:
= G0x (1)
E(X 2 ) = k≥0 k
2
.P r(X = k)
P
= k≥0 P r(X = k). k(k − 1)z k−2 + kz k−1 = G00X (1) + G0X (1)
P
z=1
Por lo tanto:
Las ecuaciones (5.4) y (5.5) indican que se puede calcular la media y la va-
rianza si se puede calcular los valores de las dos derivadas, G0X (1) y G00X (1).
66
5.3. Longitud media de propagación del LEPP
Se dice que Ti+1 es vecino de “tipo A” si Ti+1 es vecino de Ti por el lado más
corto de Ti+1 , es decir, por T(i+1)A .
Se dice que Ti+1 es vecino de “tipo B” si Ti+1 es vecino de Ti por el lado medio
de Ti+1 , es decir, por T(i+1)B .
Se dice que Ti+1 es vecino de “tipo C” si Ti+1 es vecino de Ti por el lado más
largo de Ti+1 , es decir, por T(i+1)C .
67
Seguido indistintamente de cero o más triángulos de tipo A o B, y (c) termina con
un triángulo Tn de tipo C. Luego la longitud mínima del LEPP es dos (compuesta
del primer triángulo sin tipo y el último triángulo de tipo C).
Sean:
k≥0
p
G(z) = (5.7)
1 − qz
2
Para cualquier triángulo Ti del LEPP. El triángulo vecino Ti+1 comparte cualquiera de sus
tres lados con igual probabilidad P (Ti+1A ) = P (Ti+1B ) = P (Ti+1C ) = 13 .
68
Si se deriva (5.7) se obtiene:
pq
G0 (z) = (5.8)
(1 − qz)2
2pq 2
00
G (z) = (5.9)
(1 − qz)3
2q 2
De esto G0 (1) = q
p
y G00 (1) = p2
. Luego la media y varianza del número medio
de triángulos de tipo B o C es:
q
E(G) = G0 (1) = =2 (5.10)
p
q
V (G) = G00 (1) + G0 (1) − G0 (1)2 = =6 (5.11)
p2
69
5.4. Desviación estándar de la longitud media de
propagación del LEPP
q √
σ= V (G) = 6 = 2,449 (5.12)
70
Se efectuó en una malla construida con el criterio Delaunay, que es la trian-
gulación más equilátera.
Al menos estos factores hacen que el valor del LEPP promedio del experimen-
to empírico sea menor al teórico.
71
ma 5.2 se ha considerado que las probabilidades de tener un vecino de tipo A, B
o C son las mismas (con equiprobabilidades de 13 ). También se tuvo:
Donde: p = 1
3
q= 2
3
(q representa dos posibilidades).
q
E(G) = G0 (1) = = 1,582644628 (5.13)
p
72
q
V (G) = G00 (1) + G0 (1) − G0 (1)2 = = 4,087408647 (5.14)
p2
q √
σ= V (G) = 6 = 2,021734069 (5.15)
También en este caso los valores empíricos son menores al valor teórico (la
diferencia de los dos resultados es 0,404734069). Estos resultados se presentan en
la tercera columna de la tabla (5.1) como sigue:
73
dades para los vecinos de tipo A, B y C (específicamente con p = 0,3872 que
es la probabilidad de tener un vecino de tipo C).
74
Capítulo 6
Conclusiones
75
Donde L es la longitud inicial de la arista más larga de los triángulos que
intersectan R y es la cota de la longitud de arista más larga a la cual se
deben reducir todos los triángulos que intersectan R.
76
ANEXO A
Probabilidades discretas
Cada valor Pr(ω) debe estar en el intervalo [0. .1]. Se dice a Pr una distribución
de probabilidad, porque distribuye el total de probabilidades (que es uno) entre
los eventos ω.
(1)
X
E(X) = X(ω) Pr(ω)
ω∈Ω
E(αX) = αE(X)
77
V (X) = E(X 2 ) − (E(X))2 (3)
“La varianza es la media de los cuadrados menos el cuadrado de la media”.
78
Bibliografía
[2] Mark de Berg, Marc van Kreveld, Mark Overmars, and Orfried
Schwarzkopf. Computational Geometry Algorithms and Applications.
Springer-Verlang Berlin Heidelberg, 1997, 2000.
[4] Jacob E. Goodman and Joseph O’Rourke. Handbook of Discrete and Compu-
tational Geometry. Discrete Mathematics and Its Applications. CRC Press
LLC, 1997.
[5] Ronald L. Graham, Donald E. Knuth, and Oren Patashnik. Concrete Ma-
thematics: A Foundation for Computer Science. Addison-Wesley Longman
Publishing Co., Inc., Boston, MA, USA, 1994.
[7] María-Cecilia Rivara. Algorithms for refining triangular grids suitable for
adaptative and multigrid techniques. International Journal of Numerical
Methods in Engineering, 20:745–756, 1984.
79
[9] María-Cecilia Rivara. New longest-edge algorithm for the refinement
and/or improvement of unstructured triangulation. International Journal
of Numerical Methods in Engineering, 40:3313–3324, 1997.
[12] María-Cecilia Rivara and Mauricio Palma. New LEPP algorithms for qual-
ity polygon and volume triangulation: Implementation issues and practical
behavior. The 1997 Joint ASME/ASCE/SES Summer Meeting. Northwest-
ern University. Evanston Illinois, June 29 - July 2 1997.
[14] Maria-Cecilia Rivara and Carlo Calderon. Lepp terminal centroid method
for quality triangulation. Computer-Aided Design, November 2008.
[16] Ivo G. Rosenberg and Frank Stenger. A lower bound on the angles of trian-
gles constructed by bisecting the longest side. Mathematics of Computation,
29(130):390–395, 1975.
80
[20] Jonathan Richard Shewchuk. Delaunay refinement algorithms for triangu-
lar mesh generation. Computational Geometry: Theory and Applications,
22:1–3, May 2002.
81