Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerao de Malhas
16-08-2007
2
Ateno
O contedo desta apostila est em constante atualizao, e pode conter erros de digita-
o e/ou conceituais. O utilizador deste material deve estar ciente que erros provenientes
deste material no podem justicar erros nas provas ou trabalhos implementados du-
rante o curso. Os autores pedem que quaisquer erros encontrados sejam reportados para
correo e melhoria do material.
3
4
Contedo
1 Gerao de Malhas 7
1.1 Conceitos Bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5
6 CONTEDO
Gerao de Malhas
Malhas estruturadas;
Malhas no-estruturadas.
x = r cos
y = r sin
r x
Exemplo 2. Exemplo de uma malha no estruturada. Note que a malha contm trin-
gulos e quadrilteros.
7
8 CAPTULO 1. GERAO DE MALHAS
f
V
DM
R3
R2
M
f
DM V
R3
R2
Denio 6. Uma celula convexa am gerada pelos pontos v 0 , v1 , , vn denida como
sendo o conjunto:
n
X n
X
m
= [v0 , v1 , , vn ] = v R : i vi = v, i = 1 e i 0.
i=0 i=0
satisfazendo:
3. 0 1 () e 0 2 () 0 1 * 0 2 e 02 * 01.
Denio 9. Uma coleo C de clulas convexas ans dia uma decomposio celular
de um conjunto K Rm se:
S
1. K= C
2. Se 1 e 2 C , ento 1 2 = ou 1 2 C
um conjunto K 1 .
S
1. k= C
(a) (b)
1. Mtodos Algbricos;
3. Aplicaes conformes.
3. Ortogonalidade;
13
14 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
Transoformao
Transoformao inversa
formao:
Xnk : Uk nk
x 7 x() (2.1)
Antes de gerar uma malha, o objeto fsico nk deve ser especicado matematicamente
o que pode ser feito atravs de ser bordo.
O bordo de um objeto pode ser especicado de trs maneiras, implicitamente, para-
metricamente ou numericamente.
2.2. TRANSFORMAES E MAPAS 15
1
1111111111
0000000000
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0000000000
1111111111
0
0 1 1
U1 U2
X22
R2
U2
X32
U2
R3
Implicito
4 ok
4 2 not ok 3
1 1
3 1 2
2
4
Figura 2.5: .
2.3. JACOBIANO E INVERTIBILIDADE 17
superfcie. mude esta parametrizao de forma que o quadrado unitrio U2 seja mapeado
Xnk : Uk nk
So indesejveis:
morsmo Xnk : Uk nk .
Considerando que Xnn e Xnk sejam pelo menos difeomorsmos de classe C 1 , podemos
denir a matriz:
xi
Jij = , i = 1, , n e j = 1, , k, (2.2)
j ij
como sendo a matriz Jacobiana da transformao:
Xnk : Uk nk
7 (x) (2.3)
18 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
Exemplo 5.
X32 : U2 32
(, ) 7 (x, y, z) (2.4)
x x
x x
J = y y = (2.5)
y y
z z
z z
Exerccio 3. Escreva as matrizes Jabobiana para X11 ,X21 , X22 , X31 , X32 , X33 .
Observao 3. Uma transformao que tenha a matriz Jacobiana com posto mximo em
somente se J() 6= 0.
det(J) > 0 em Uk ;
Xkn C ;
Ortogonaliadade;
Uniformidade.
2.4. MTODOS ALGBRICOS 19
itens. Alm disso, no caso da matriz no ser quadrada, possvel garantir a vantagem
N N
Y i X
lk () = e x() = lk xk () (2.6)
i=0,6=k
k i k=0
N
X
lk (i ) = ik = x() = ik xk = xi (2.7)
k=0
es entre os valores xi ;
mente feito.
Exemplo 6. N = 1, x0 = 1, x1 = 1, 0 = 0, 1 = 1, x() = 2 1.
20 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
xN
x1
0 1
x0
N
X N
X
x() = Hk0 ()xk + Hk1 ()k , (2.8)
k=0 k=0
onde
x
k = (2.9)
x=xk
0
Hk0 (j ) = kj , H () = 0
k
1
Hk1 (j ) = 0 , H () = kj (2.10)
k
Estes podem ser obtidos a partir dos polinmios de Lagrange, da seguinte forma:
x00 x01
x1
=1
1
0 x0
=0
H00 () = [1 + 2( 0)](1 )2 = 1 3 2 + 2 3
H10 () = [1 2( 1)] 2 = 3 2 2 3
H01 () = (1 )2 = 2 2 + 3
H11 () = ( 1) 2 = 3 2 (2.12)
H00 H10
H00
0
1
=0 =1
H10
Figura 2.8: .
dem;
xn1
x1
xn
x0
A representao das derivadas x pode ser usada para fazer uma malha ortogonal
n!
Bi,n = i (1 )ni (2.14)
i!(n i)!
Propriedades
1. Bi,n () 0, i, m e 0 1;
Pn
2. Partio da unidade: i=0 Bi,n () = 1, [0, 1];
7. Derivadas: Bi,n
0
() = d
B ()
d i,n
= n (Bi1,n1 () Bi,n1 ()), B1,n1 () Bn,n1 ()
0.
Note que:
n n
0 d X X
0
x () = Bi,n ()xi = Bi,n ()xi
d i=0 i=0
n
X
= (n (Bi1,n1 () Bi,n1 ()) xi
i=0
n
X n
X
= nBi1,n1 ()xi nBi,n1 ()xi
i=0 i=0
Xn n1
X
= nBi1,n1 ()xi nBi,n1 ()xi
i=1 i=0
n1
X n1
X
= nBi,n1 ()xi+1 nBi,n1 ()xi
i=0 i=0
n1
X
= n Bi,n1 ()(xi+1 xi ) (2.15)
i=0
Portanto, tem-se:
x0 (0) =
x0 (1) =
2.6 Splines
As transformaes obtidas atravs de interpolaes de Lagrange e Hermite so cont-
nuas em todos os pontos, ao preo de oscilaes para polinmios de grau elevado.
Uma alternativa ajustar polinmios de baixa ordem entre cada um dos pontos inte-
riores especicados, sendo a continuidade das derivadas imposta nos pontos de controle.
Assim, tem-se uma transformao que um polinmio contnuo por partes.
Pontos extremos - 2 equaes
Primeira derivada - 1 equao
3
Segunda derivada - 1 equao
x2 x3
xi 2 xi+1
1
= x00i+1
xi reta
cubica x00i
xi () = a0 + a1 + a2 2 + a3 3 (2.18)
i+1 00 i 00
x00 () = xi + x , i i+1 (2.19)
i+1 i i+1 i i+1
Integrando duas vezes, e avaliando as constantes de integrao de modo que x(i ) = xi
e x(i+1 ) = xi+1 , tem-se:
(i+1 )3 00 ( i )3 00
x() = x + x +
6(i+1 i ) i 6(i+1 i ) i+1
1 i+1 00
+ xi xi (i+1 ) +
i+1 6
1 i+1 00
+ xi+1 xi+1 ( i ), i i+1 . (2.20)
i+1 6
i+1 i 1
x0i = 2x00i + x00i+1 + (2.21)
(xi+1 xi ), i i+1
6 i+1 i
Da mesma forma, no intervalo adjacente i1 i :
2.6. SPLINES 25
x1
x0 (3, 2)
0 1 2 x2
(1, 1)
(5, 1)
0 1/2 1
i i1 1
x0i = (2x00i x00i1 ) + (xi + xi1 ), i1 i (2.22)
6 i i1
Que dene um sistema tridiagonal para x00 nos pontos interiores. necessrio impor
condies sobre x00 nos contornos para resolver este sisetma. Normalmente faz-se x00 (0) =
0 = x00 (1), o que minimiza a curvatura total, dando origem ao que conhecido como
spline natural.
A soluo do Sistema 2.23 acima resulta nos valores de xi , que quando substituidos
na Equao 2.20, fornecem uma expresso do tipo:
N
X
x() = k ()xk . (2.24)
k=0
(1 )3 00 (1 0 )3 00
x0 () = x + x +
6(1 0 ) 0 6(1 0 ) 1
| {z } | {z }
=0 =0
1 1 0 00
+ x0 x0 (1 ) +
1 0 6
1 1 0 00
+ x1 x1 ( 0 )
1 0 6
1
= 2x0 + 2x1 = 1 2 + 6 = 4 + 1. (2.27)
2
1 1
x1 () = x1 (2 ) + x2 ( 1 )
2 1 2 1
1
= 6(1 ) + 10 = 4 + 1 (2.28)
2
1 1
y 0 () = 4( 0)3 + 2( ) + (4 + 1)( 0) = 4 3 + 3 + 1, 0 (2.29)
2 2
1 1
y 1 () = 4(1 )3 + (4 + 1)(1 ) + 2( ) = 4(1 )3 + 3 + 4, 0 (2.30)
2 2
2.7. B-SPLINE 27
C1 ()
3
1
0 1 2 3
0 1 C3 ()
0 = 0 C2 ()
2
Figura 2.11: .
2.7 B-spline
Em todas as formas vistas at agora, a modicao de um ponto de controle afeta
toda a funo de aproximao/interpolao.
Usando-se uma funo de interpolao contnua por partes, e que seja identicamente
nula fora de uma vizinhana de k , pode-se modicar a funo de interpolao localmente,
sem afetar outros lugares. Isto pode ser obtido por uma b-spline.
i i+p+1
Ni,p () = Ni,p1 () + Ni+1,p1 () (2.32)
i+p i i+p+1 i+1
Observao 7. 1. Ni,0 () uma funo constante por partes, diferente de zero so-
mente em [i , i+1 );
2. Para p > 0, Ni,p () uma combinao linear de duas funes base de grau p 1;
0
4. A frmula de recorrncia acima pode resultar no quociente 0 . Neste caso, assume
0
se 0 = 0.
28 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
6. O intervalo [i , i+1 ) chamado de i-simo knot spam e pode ser vazio, j que os
no precisam ser distintos.
grau 0
N0,0 = 0 = N1,0 , R
1 se 0 < 1
N2,0 () = .
0 caso contrrio
N3,0 = 0 = N4,0 , R
grau 1
0 2
N0,1 = N0,0 + N1,0 = 0, R
1 0 2 1
1 3 0 1 1 se 0<1
N1,1 = N1,0 + N2,0 = 0+ N2,0 =
2 1 3 1 00 10 0 caso contrrio
2 4 0 1 se 0<1
N2,1 = N2,0 + N3,0 = N2,0 + N3,0 =
3 2 4 3 10 |1 {z
1 } 0 caso contrrio
=0
3 5 0 1
N3,1 = N3,0 + N4,0 = N3,0 + N4,0 = 0, R
4 3 5 4 10 |1 {z
1 }
=0
grau 2
0 3 0 1 (1 )2 se 0<1
N0,2 = N0,1 + N1,1 = N0,1 + N1,1 =
2 0 3 1 0 0
| {z } 1 0 0 caso contrrio
=0
1 4 0 1
N1,2 = N1,1 + N2,1 = N1,1 + N2,1 =
3 1 4 2 10 10
(1 ) + (1 ) = 2(1 ) se 0 < 1
(2.33)
0 caso contrrio
2.7. B-SPLINE 29
N1,0
N1,1
N2,0 N1,2
N3,0 N2,2
N3,1
N4,0
2 5 0 1
N2,2 = N2,1 + N3,1 = N2,1 + N3,1 = (2.34)
4 2 5 3 10 1 1
| {z }
=0
2 se 0<1
(2.35)
0 caso contrrio
tein de grau 2. Por esta razo, a representao B-spline com um vetor de knots U =
{0, , 0, 1, , 1} a generalizao da representao de Bzier.
| {z } | {z }
p+1 p+1
i i+p+1 i
Ni,p () = Ni,p1 () + Ni+1,p1 ()
i+p i+p+1 i+1
30 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
N0,3
N1,2
N2,1 N1,3
N3,0 N2,2
N3,1 N2,3
N3,2
N3,3
Ni,p () = 0, se
/ [i , i+p ) (Prop. 1) e para [i , i+p ) tem-se: i
i+p i
0.
Ni,p1 () 0 por hiptese de induo.
Analogamente, o segundo termo tambm maior ou igual a zero.
Portanto Ni,p () 0.
4. Para um intervalo arbitrrio [, i+1 ), tem-se:
i
X
Nj,p () = 1, [, i+1 ) (2.36)
j=ip
Prova
k
X
Nj,p () = 1, [k , k+1 )
j=kp
k k k
X X j X j+p+1
Nj,p () = Nj,p1 () + Nj+1,p1 () (2.37)
j+p j j+p+1 j+1
j=kp j=kp j=kp
Note que
Nkp,p1 () = 0, se
/ [kp , kp+p1+1 ) = [kp , k )
Nkp,p1 () = 0, se
/ [k+1 , k+1+p1+1 ) = [k+1 , k+p+1 )
N0,2 : {0, 0, 0, 1}
N1,2 : {0, 0, 1, 2}
N2,2 : {0, 1, 2, 3}
N5,2 : {3, 4, 4, 5}
N6,2 : {4, 4, 5, 5}
N0,2 descontnua
N1,2 C 0
N2,2 C 1
y
x(, 1)
x(1, )
x(0, )
2
x(, 0)
x
U2
N
X
x(, ) = i ()x(i , ) (2.41)
i=0
e
M
X
x(, ) = j ()x(, j ) (2.42)
j=0
x0M xN M
x00 xN 0
Exemplo 10.
N X
X M N X
X M
i (0 )j ()xij = i0 j ()xij =
i=0 j=0 i=0 j=0
M
X
= j ()x0j 6= x(0, ) (2.44)
j=0
N
X M
X
(, ) = i ()x(i , ) + j ()x(, j ) (2.45)
i=0 j=0
M
X
(0, ) = x(0, ) + j ()x(0, j ) (2.46)
j=0
x(0, 1)
x(0, )
PM
j=0 j ()x(0, j )
x(0, 0)
M
X
j ()x(1, j ) (2.47)
j=0
N
" M
#
X X
r(, ) = i () j ()x(i , j ) =
i=0 j=0
N X
X M
= i ()j ()x(i , j ) (produto tensorial). (2.48)
i=0 j=0
Desta forma, a funo r recupera os quatro contornos. Isto dene a forma geral
da interpolao transnita:
N
X M
X
x(, ) = i ()x(i , ) + j ()x(, j ) +
i=0 j=0
N X
X M
= i ()j ()x(i , j ) (2.49)
i=0 j=0
M N
" M
#
X X X
x(, ) = j ()x(, j ) + i () x(, ) j ()x(, j ) . (2.50)
j=0 i=0 j=0
| {z } | {z }
(1) (2)
M
X
F1 (, ) = j ()x(, j ) (interpola em ). (2.51)
j=0
N
X
F2 (, ) = i () [x(i , ) F1 (i , )] (interpola discrepncias nas linhas = i ).
i=0
(2.52)
x(, ) = F1 (, ) + F2 (, ) (2.53)
bitrrias;
o biquadrtica transnita.
2.11 Projetores
Seja P (x) a funo de interpolao unidirecional na direo que recupera x nas
N + 1 linhas = i , i = 0, , N .
Analogamente, dene-se P (x) na direo , que recupera as N + 1 linhas = j , j =
0, , M .
Os projetores P e P so operadores lineares idempotentes.
De fato, para o caso bidirecional, tem-se:
36 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
PN
Figura 2.18: Em 2D. P = i=0 i ()x(i , ).
PM
Figura 2.19: Em 2D. P = j=0 j ()x(, j ).
N
" N
#
X X
P [P (x)] = i () j (i )x(i , ) =
i=0 j=0
N
X N
X N
X
= i () ij x(i , ) = i ()x(i , ) = P (x) (2.54)
i=0 j=0 i=0
Figura 2.20: .
M
P P = P + P P P (2.55)
P
X
P = yk ()x(, , k ) (2.56)
k=0
Note que:
F O produto P P interpola em duas direes as informaes das linhas onde e
so constantes.
38 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
0 , M
N , M
P P P
P
0 , 0 N , 0
L
P P
Figura 2.21: .
x(, , = 1)
P
x(, , = 0)
Figura 2.22: .
2.12. INTERPOLAO TRANSFINITA TRIDIRECIONAL 39
P P
Figura 2.23: .
x(, = 1, )
Figura 2.24: .
N X
X M
P P (x)(, , ) = i ()j ()x(i , j , ) (2.57)
i=0 i=0
Para = i e = j , tem-se:
perando x nas linhas onde e so constantes e tambm nas faces na qual constante.
40 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
x(, , = 1)
x( = 0, , )
Figura 2.25: .
F A soma:
M M M
P P P P P P = (P P + P P P P P P ) P P =
= P P + P P P P P + P P P P P P P P P P P =
= P P + P P + P P 2P P P (2.59)
interpola nas trs direes as informaes das linhas onde dois parmetros so constantes
(inclusive as 12 arestas do cubo)
F O produto triplo P P P interpoola nos oitos vrtices (cantos) do cubo.
A interpolao transnita em trs direes pode ento ser denida como a soma:
M M M
P P P = (P + P P P ) P = P + P P P + P + P P P P + P P P
(2.60)
Esta recupera as superfcies onde , ou so constantes, incluindo-se os contornos.
Mtodos Elpticos;
Mtodos Hiperblicos;
Mtodos Parablicos.
2.13. MTODOS BASEADOS EM EDP 41
y
x(, 1)
x(1, )
x(0, )
x(, 0)
x
Em geral so mais complicados que mtodos algbricos, mas fornecem malhas mais
suaves.
2 2
x2
+ y 2
=0
2 = 0 (2.61)
2 2
x2
+ y 2
=0
ou de Poisson
2 = P. (2.62)
Estas podem ser obtidas por qualquer mtodo numrico iterativo, porm, como s
podem ser resolvidas no domnio lgico, uma transformao de coordenadas necessria.
Considerando-se uma funo f (, ), tem-se:
f
= f x +f x (2.63)
x |{z} |{z}
1 1
onde 1 no se consegue determinar.
Como x e x no so conhecidos, deve-se express-los em termos das derivadas de x
e y.
Considere um vetor innitesimal
42 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
d x dx + y dy x y dx
= = (2.64)
d x dx + y dy x y dy
De maneira anloga:
dx x x d
=
dy y y d
1
d x x dx
=
d y y dy
d y x dx
= 1
(2.65)
d J y x dy
Da, x = J1 y , y = J1 x , x = J1 y , y = J1 x , onde:
x x
J =
= x y y x .
y y
Desta forma,
f
= J 1 (f y f y ) . (2.66)
x
Continuando o procedimento, pode-se determinar
2f
= J 2 y2 f 2y y f + y2 f
x2
+ J 3 y2 y 2y y y + y2 y (x f x f ) +
+ y2 x 2y y x + y2 x (y f y f ) . (2.67)
e similarmente,
2f
= J 2 x2 f 2x x f + x2 f
y 2
+ J 3 x2 y 2x x y + x2 y (x f x f ) +
+ x2 x 2x x x + x2 x (y f y f ) . (2.68)
2.13. MTODOS BASEADOS EM EDP 43
2f 2f
2 f = + = J 2 (af 2bf + cf ) +
x2 y 2
+ J 3 [(ay 2by + cy )(x f x f )
onde
a = x2 + y2
b = x x + y y (2.70)
c = x2 + y2
Reescrevendo:
onde
d = J 1 (y x )
e = J 1 (x y ) (2.72)
= ax 2bx + cx
= ay 2by + cy (2.73)
2 = 0 J 2 e = 0 J 3 (x y ) = 0 (2.74)
Analogamente
2 = 0 J 2 d = 0 J 3 (y x ) = 0 (2.75)
44 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
Da,
y x 0
= (2.76)
y y 0
| {z }
inv.Jac.
Portanto,
ay 2by + cy = 0
(2.77)
ax 2bx + cx = 0
so as equaes que devem ser resolvidas para obter uma distribuio de pontos no domnio
fsico.
+ = P (, )
xx yy
2 = 0 (2.78)
+ = Q(, )
xx yy
ax 2bx + cx = J 2 (P x + Qx )
ay 2by + cy = J 2 (P y + Qy ) (2.79)
onde
a = x2 + y2
b = x x + y y
c = x2 + y2 (2.80)
e
2.14. CONTROLE DA DISTRIBUIO DE PONTOS 45
x x
J = = x y y x
(2.81)
y y
y
y
x
x
Figura 2.27: Direita: Nas linhas de constante tem-se xx > 0 yy < 0 isto implica que
o espao entre as linhas aumentam com y . Esquerda: xx < 0 yy > 0 o espao
entre as linhas diminui com y .
Uma funo de controle de espaamento, segundo Thompson :
n
X m
X
(i )2 +(i )2
P (, ) = ai | i |eci |i | bi | i |edi
i=1 i=1
n
X Xm
(i )2 +(i )2
Q(, ) = ai | i |eci |i | bi | i |edi (2.82)
i=1 i=1
onde:
y y
Q<0 P <0
x x
Figura 2.28: Direita yy mais negativo, isto implica que o espaamento aumenta com
y (para fora do contorno). -lines move to decreasing Esquerda: xx mais negativo?
-lines move to decreasing
46 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
ai e bi so fatores de amplicao
Q = Q1 e(0 ) (2.83)
P1 = J 1 (y R1 x R2 )|=0
Q1 = J 1 (y R1 x R2 )|=0 (2.84)
Desvantagens:
1. Tempo de computao;
ut + aux = 0 (2.86)
Vantagens:
1. Ortogonalidade na malha;
x(, ) + x(, ) x x + y y = 0 (2.87)
Note que, A Equao 2.87 possui duas incgidas, logo precisa-se de mais uma equao.
b) rea no nula
48 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
y x
X22 x
x(, ) x
x x
A = =J
(2.88)
y y
x x + y y = 0
x y x y = J(, ) (2.89)
x y = xk+1
yk + xk yk+1 xk yk (2.90)
xk+1
xk + xk xk+1
xk xk + yk+1 yk + yk yk+1 yk yk = 0
xk+1
yk + xk yk+1 xk yk xk+1 k k k+1
y x y xk yk = J k+1 (2.91)
xk xk + uk yk = 0
xk yk xk yk = J k (2.92)
Portanto:
xk+1
xk + xk xk+1
+ yk+1 yk + yk yk+1 = 0
xk+1
yk + xk yk+1 xk+1 k k k+1
y x y = J k+1 J k (2.93)
Sejam:
k k
x y xk yk x k+1
0
A= , B= , R= , H= (2.94)
yk xk yk xk y k+1 J k+1 + J k
Assim,
AR + BR = H CR + R = B 1 H (2.95)
com:
k k k k k k k k
1 x x y y x y + x y
C = B 1 A = (2.96)
D xk y k + xk y k (xk xk y k y k )
D = (xk )2 + (yk )2 .
O Sistema 2.95 hiperblico se os autovalores de C so reais, ou seja:
" # 12
(xk )2 + (yk )2
= D 6= 0 ou (xk )2 + (yk )2 6= 0 (2.97)
D
Considerando que propagaremos a informao de um contorno = 0, pode-se discre-
tizar as Equaes XXX com diferenas centrais na direo e diferenas regressivas na
direo .
50 CAPTULO 2. GERAO DE MALHAS ESTRUTURADAS
=0
xi+1 xi1 xi xi1
x = 2
x =
Figura 2.32: .
ds
dy
y dx
x
Figura 2.33: .
s2 = (x + x )2 + (y + y )2 = x2 + 2x x + x2 + y2 + 2y y + y2
= x2 + x2 + y2 + y2 (2.99)
x x + y y = 0
x2 + x2 + y 2 + y 2 = s2
onde s especicado.
Para linhas constantes, tem-se s2 = x2 + y2 .
O sistema acima pode ser linearizado de maneira anloga ao que foi feito para o mtodo
do Jacobiano.
Em resumo:
x Ax
= x
y Ay
= y
Observaes:
1. O conjunto de pontos A dito linearmente indepentender (LI) se os vetores x0 x1 ,
x0 x2 , , x0 xm forem LI;
2. Em Rn existem no mximo n + 1 pontos LI;
3. Dado A = {x0 , , xn } Rn LI, um n-simplexo da forma:
m
X m
X
= {x Rn : x = i xi , i = 1, i 0} (3.2)
i=0 i=0
53
54 CAPTULO 3. GERAO DE MALHAS NO-ESTRUTURADAS
x2
A
A1 A0
A2
x0 x1
Figura 3.2: 0 = A0
A
, 1 = A1
A
, 2 = A2
A
.
Exemplos:
Observaes
1. A dimenso de um complexo simplicial K o mximo das dimenses de seus
simplexos;
Rn
2. O espao gerado por K , denotador por |K| a unio de todos os pontos dos
simplexos K :
[
|K| = . (3.3)
K
K, denotado por S() o conjunto dos simplexos de K que contm , ie, S() =
{ K : }.
L F (L)
S()
S()
L()
L()
R2
Figura 3.10: Diagrama de Voronoi: Note que as clulas Vp pode no ser limitadas.
\
Deja Hpq = {x Rn : d(x, p) (x, q)} (semi-plano em R2 ), ento Vp = Hpq .
qAr{p}
Se, para cada ponto p, q A, traarmos um segmento unindo p e q somente se a
interseo Vp Vq for um segmento comum, estabelecemos uma relao de dualidade entre
a triangulao de Delaunay e o Diagrama de Voronoi.
3.2. DIAGRAMA DE VORONOI 59
Voronoi;
de Voronoi;
Voronoi.
de Voronoi.
diagrama de Voronoi em Rn
< apostila.tex
Figura 3.13: Aresta globalmente Delaunay. Note (direita) que toda aresta de bordo de
uma triangulao globalmente Delanay.
mente Delaunay.
w
e
Figura 3.14: Ilustrao da prova do Lema 2. A esquerda ilustra a ida, e a direita ilustra
a volta.
e
t1 v2
v1 t2
=======
mente Delaunay.
Figura 3.16: Aresta globalmente Delaunay. Note (direita) que toda aresta de bordo de
uma triangulao globalmente Delanay.
w
e
Figura 3.17: Ilustrao da prova do Lema 2. A esquerda ilustra a ida, e a direita ilustra
a volta.
() Suponha por absurdo que algum tringulo t T no seja Delaunay. Ento, existe
um ponto w no interior do circuncrculo de t. Seja e a aresta que separa w do interior de
t, e seja v o vrtice oposto a e. Assim, todo crculo passando por e possiu ou w ou v em
seu interior. Isto implica que e no globalmente Delaunay, contradizendo oa hiptese.
e
t1 v2
v1 t2
p
x c (x)
kx ck
r
Lema 3. Seja T uma triangulao onde todas as arestas so localmente Delaunay. Ento
v3
ti+1
ti
x
v1 v2
p
tk
tk1
Figura 3.20: Figuras da demonstrao do Lema 10. Note na ultima imagem que k (p) = 0
pois p est no circuncirculo de tk .
w
w
v e
v e
Prova. Seja (T ) uma funo denida sobre toas as triangulaes de A que retorna
o nmero de pares (v, t) tal que v T , t T , (vrtice e tringulo) e v invade o tringulo
t (est dentro do circuncrculo de t.Como T possui n vrtices e O(n) tringulos, (T )
O(n2 ). Suponha que uma aresta e T ipada, formando uma nova triangulao T 0 .
Sejam t1 e t2 os tringulos de T que contm e e v1 e v2 os vrtices de t1 e t2 opostos a e.
Como e no Delaunay, ento v1 C2 e v2 C1 , onde C1 e C2 so os circuncirculos
de t1 e t2 . Sejam t01 e t02 os tringulos que substituem t1 e t2 aps o ipping. possvel
mostrar que:
1. C10 C20 C1 C2 ;
2. C10 C20 C1 C2 .
e0
e
t01
v1 t1 v2 e0
t2
t02
c c c
xi b
b a b
a a
testar
1.
Observao 13. O algoritmo comea com um tringulo sucientemente grande, que con-
Observao 14. O algoritmo possui duas operaes bsicas que so a insero de pontos
Lema 7. Nenhuma aresta testada mais do que uma vez em um mesmo ciclo. (O(n)
2. Remova tais tringulos e ligue xi com o bordo da regio removida (nos vrtices)
Observao 15. Se xi est fora da triangulao, necessrio lig-lo tambm aos extremos
da aresta que so visveis a xi .
Lema 8. O polgono gerado pela eliminao dos tringulos estrelado com relao a xi .
p
x c (x)
kx ck
r
< apostila.tex
Prova. Vem do fato que o crculo um conjunto convexo. Portanto, xi enxerga todos
os pontos do bordo do crculo.
v3
ti+1
ti
x
v1 v2
p
tk
tk1
Figura 3.30: Figuras da demonstrao do Lema 10. Note na ultima imagem que k (p) = 0
pois p est no circuncirculo de tk .
Lema 10. Seja T uma triangulao onde todas as arestas so localmente Delaunay. Ento
Lema 11. Seja e uma aresta de uma triangulao T . Ento, ou e localmente Delaunay,
ou ipvel e seu ipping e0 localmente localmente Delaunay.
e diagonal. Ento duas situaes podem ocorrer: ou w est dentro ou est fora do
circuncirculo C de ve. Se w est fora de C , ento e localmente Delaunay. Se w est dentro
w
w
v e
v e
e0
e
Prova. Seja (T ) uma funo denida sobre toas as triangulaes de A que retorna
o nmero de pares (v, t) tal que v T , t T , (vrtice e tringulo) e v invade o tringulo
t (est dentro do circuncrculo de t.Como T possui n vrtices e O(n) tringulos, (T )
O(n2 ). Suponha que uma aresta e T ipada, formando uma nova triangulao T 0 .
Sejam t1 e t2 os tringulos de T que contm e e v1 e v2 os vrtices de t1 e t2 opostos a e.
Como e no Delaunay, ento v1 C2 e v2 C1 , onde C1 e C2 so os circuncirculos
de t1 e t2 . Sejam t01 e t02 os tringulos que substituem t1 e t2 aps o ipping. possvel
mostrar que:
1. C10 C20 C1 C2 ;
2. C10 C20 C1 C2 .
t01
v1 t1 v2 e0
t2
t02
Lema 12. O ponto d est dentro do circuncirculo de abc se e somente se o ponto d est
verticalmente abaixo do plano passando por abc.
c c c
xi b
b a b
a a
testar
1.
=======
Teorema 4. A projeo da parte inferior de fecho convexo dos pontos (xi , yi , x2i + yi2 ) de
R3 em R2 a triangulao de Delaunay em R2 .
mente grande, que contm todos os pontos de A (suponha-se vrtices no innito). =======
O teorema acima garante que, para gerar uma triangulao de Delaunay em R2 , basta
Para este problema em particular, existem algoritmos que conseguem encontrar o fecho
Observao 17. O algoritmo possui duas operaes bsicas que so a insero de pontos
=======
Lema 15. Nenhuma aresta testada mais do que uma vez em um mesmo ciclo. (O(n)
2. Remova tais tringulos e ligue xi com o bordo da regio removida (nos vrtices)
78 CAPTULO 3. GERAO DE MALHAS NO-ESTRUTURADAS
Observao 18. Se xi est fora da triangulao, necessrio lig-lo tambm aos extremos
da aresta que so visveis a xi .
Lema 16. O polgono gerado pela eliminao dos tringulos estrelado com relao a xi .
Prova. Vem do fato que o crculo um conjunto convexo. Portanto, xi enxerga todos
os pontos do bordo do crculo.
Lema 18. O ponto d est dentro do circuncirculo de abc se e somente se o ponto d est
verticalmente abaixo do plano passando por abc.
Teorema 5. A projeo da parte inferior de fecho convexo dos pontos (xi , yi , x2i + yi2 ) de
R3 em R2 a triangulao de Delaunay em R2 .
Observao 19.
O teorema acima garante que, para gerar uma triangulao de Delaunay em R2 , basta
Para este problema em particular, existem algoritmos que conseguem encontrar o fecho
1 x1 y1
2 x2 y2
3 x3 y3
4 x4 y4
5 x5 y5
=======
3.7. ESTRUTURAS DE DADOS PARA MALHAS NO-ESTRUTURADAS 81
1 1 2 3
2 2 4 3
3 4 5 3
1 2 -1 -1
2 3 1 -1
3 -1 2 -1
Listas de Adjacncias
> 1.23
1 x1 y1
2 x2 y2
3 x3 y3
4 x4 y4
5 x5 y5
1 1 2 3
2 2 4 3
3 4 5 3
1 2 -1 -1
2 3 1 -1
3 -1 2 -1
b
x
a
restrio L se:
1. a, b L, ou
Denio 29. Seja K uma triangulao restrita por L. Uma aresta ab K dita
1. ab L;
Lema 19 (Delaunay com Restrio). Se toda aresta de uma triangulao K restrita por
Prova: Exerccio.
localmente Delaunay.
TODO
3.10. GERAO DE MALHA DELAUNAY 2D E GARANTIA DE QUALIDADE 85
Figura 3.48: Tipos de tringulos: Ideal (equiltero), ruim (needle), pssimo (cap).
Figura 3.49: = 2.
1. menor ngulo;
2. maior ngulo;
Lema 20. Limitar o ngulo mnimo implica em limitar o ngulo mximo e vice-versa.
Prova. Um limite inferior para longe de zero implica em um limite superior para
(longe de ) e vice-versa.
86 CAPTULO 3. GERAO DE MALHAS NO-ESTRUTURADAS
c
a x
maior aresta
Figura 3.50: Limitante ngulo mnimo e razo maior aresta sobre altura.
Lema 21. Limitar o ngulo mnimo implica em limitar a razo maior aresta sobre altura
e vice-versa.
kb xk = kb ak sin (3.8)
Note que
kb ak kc bk, (3.9)
kc ak
kc ak kc bk + kb ak(por 2) 2kb ak kb ak . (3.10)
2
Assim:
kc ak
kb xk = (por 1)kb ak sin (por 3) sin
2
kb xk sin
kc ak 2
kc ak 2
. (3.11)
kb xk sin
r 1
aresta de t. Ento l = 2 sin
.
3.11. QUALIDADE DE TRINGULOS 87
a
a
x x
c
+
b c
b
l
Prova. Mostremos que bxc = 2. Seja = cax. Como axb e axc so isceles, temos
que axb = 2( + e axc = 2 . Assim:
Observao 22. Se B r
um limite superior para l para todos os tringulos da malha,
segue que:
1 1 1
B sin arcsin . (3.14)
sin 2B 2B
Para gerar uma malha de boa qualidade, queremos que B seja o menor possvel.
Observao 23. r
Um limitante para l no implica em um limitante para ngulos em
Lema 23. r
A incluso do circuncrculo na triangulao melhora a razo l .
Prova. Exerccio.
Idia: Para cada vrtice, traar uma bola de raio lmin
2
. Ento, toda as bolas so
disjuntas. Seja B(T ) a rea da gura que contm T , mas que esteja a uma distncia de
2
lmin
pelo menos lmin
2
de T em todos os lugares. O algoritmo termina poir n. 4
no pode
exceder B(T )
O primeiro algoritmo de Chew produz malhas mais uniformes, por divide todo tri-
ngulo com r > lmin . O segundo algoritmo de Chew relaxa um poco esta restrio,
inserindo o circuncentro de tringulos que tenham o circunraio maior que sua menor
3.12. REFINAMENTO DELAUNAY 89
2 = hmin
Figura 3.54: No possivel incluir o vrtice fora da triangula ]ao. No possvel incluir
na regio hachurada.
aresta r
l
B = 1 r l. Este produz malhas com elementos de diversos tamanhos,
mas com boa suavidade.
Observao 24. r
No nal, l 1, t T . Portanto, nenhnum ngulo da malha menor
que 30o .
De fato. Como r 1
, r 1 1 1
l
= 2 sin l
1 2 sin
1 sin 2
arcsin 2
= 30o
O problema no algoritmo de Chew que as arestas de bordo podem impossibilitar a
incluso do circuncentro.
Observao 25. i) O parmetro h deve ser pequeno o suciente de forma que tal
ii) Desta forma, h no maior que a menor distncia entre dois pontos da partio
resultante (a menor distncia est entre h e 3h).
r d< h
2
b < 3h
Lema 25. Se nenhum subsegmento do PSLG maior que 3h, ento o circuncentro de
qualquer tringulo cujo circunraio escede h (r h) est dentro da malha, a uma distncia
h
de pelo menos 2 de qualquer segmento.
Denio 30. O crculo diametral de um segmento o (nico) menor crculo que contm
o segmento.
Regra 2. r
Todo tringulo ruim l
>B tem o seu circuncentro inserido, e o tringulo
Lema 26. Seja T uma triangulao de Delaunay tal que toda aresta que pertena a
de T.
Prova. Suponha por contradio que v cai fora de T . Seja c o centride de t (obvi-
amente, c est no centro de T ). Como T limitada pelo PSLG, ento a linha cv cruza
algum subsegmento S do PSLG. Como a malha Delaunay, ento o circuncrculo de t
vazio de pontos, e portanto no contm as extremidades de s.
Como v est fora de T , ento o semi-circulo do circuncrculo dentro de T est intei-
ramente contido no crculo diametral de S (estritamente). Assim, dois dos vrtices do
tringulo podem ser as extremidades de s, mas pelo menos um deles est estritamente
contido no crculo diametral de S , o que uma contradio
92 CAPTULO 3. GERAO DE MALHAS NO-ESTRUTURADAS
v
c
fora
dentro
circulo diametral
O Lema 26 nos d uma razo para que a Regra 1 tenha prioridade sobre a Regra 2,
pois se a incluso do circuncrculo for feita somente quando no h segmentos invadidos,
garante-se que estes caiam sempre dentro de T .
ku vk + lf s(u)
lf s(u)
u v
v
Rv
Rv rv
r
v v
Figura 3.60: Casos de insero de um vrtice pelo algoritmo de Ruppert: caso i, ii e iii.
Todo vrtice v (mesmo os considerados para insero, mas negados por invadirem
segmento) possui um pai p(v ) que o responsvel por sua insero. O pai p(v )
denido como segue:
A idia principal da prova que o algoritmo de Ruppert termina est no fato que
nenhum vrtice da malha possui raio de insero menor que seu pai. Desta forma, no
sero criadas arestas menores que a menor caracterstica do PSLG da entrada.
Lema 28. Seja v um vrtice da malha e p=p(v ) o seu pai, se existir. Ento, ou rv
lfs(v ), ou rv crp onde:
tringulo ruimi;
3.14. PROVA DE QUE O ALGORITMO DE RUPPERT TERMINA 95
B 2
circuncentro de
tringulos
x 12
ponto mdio
de segmentos
1
2 cos
1
3. c= 2 cos
se v e p esto em segmentos incidentes separados por um ngulo , onde,
Teorema 6. Seja lf smin a menor distncia entre duas entidades no incidentes (vrtices
r
l
B 2. O algoritmo de Ruppert ir terminar, com arestas maiores que lf smin .
Prova. Exerccio.
22 13
r 1
da malha satisfazem l < B. No nal no h ngulos menores que arcsin 2B . Se B= 2,
o menor ngulo garantido 20.7o .
3.15 Flipping 3D
A projeo de um tetraedro em R3 no R2 ou um quadriltero ou um tringulo.
A projeo de um 4-simplexo em R3 ou uma pirmide dupla ou um tetraedro.
Em um 4-simplexo, as faces so compostas por tetraedros. No caso da pirmide
dupla, as projees podem resultar em uma aresta compartilhada por trs tetraedros ou
um tringulo compartilhado por dois tetraedros, cada uma destas guras est em lados
opostos do 4-simplexo.
Se a aresta ae cruza bcd, ento podemos trocar abcd e bcde por aebd, aecd e aebc. Se a
aresta ae no intersecta bcd ento no podemos adicionar ae, pois esta pode cruzar outros
tringulos. Neste caso, a unio dos dois tetraedros no convexa. Assumindo s.p.g. que
bc a aresta no convexa, existem duas possiblidades.
23
14
d
b
c
a e
d
b
c
a e
edro, ou quando compartilhado por dois tetraedros abcd e bcde, a circunsfera de abcd
no contm e em seu interior (e vice-versa).
Exerccio 9. Mostre que o ipping 2-3 torna as faces envolvidas em localmente Delaunay.
1 1 1 11 1 2 121 13 22
sliver ou cunha
circunraio
aresta ?
grande
pequena circunraio
grande
No primeiro caso, chamados de tetraedros magros (do ingles skinny) possvel dis-
tinguir cinco tipois:
O segundo, chamado de tetraedros chatos (at) podem ser de quatro tipos:
Seja r = r(abcd) o raio de um tetraedro abcd, e l o comprimento de sua menor aresta.
Uma medida de qualidade para um tetraedro pode ser dada por = (abcd) = rl .
O problema com o critrio que ele no capaz de detectar tetraedros slivers.
Observe que se tomarmos a mesma medida para as faces do tetraedro, a razo do
tetraedro maior ou igual a razo da suas faces.
Um tringulo abc minimiza a razo se e somente se ele equiltero. Neste caso, o
baricentro o circuncentro, e ele pode ser calculado como:
1 2 (a + b) 1 2 1
y = (a + b + c) = + c= x+ c (3.16)
3 3 2 3 3 3
100 CAPTULO 3. GERAO DE MALHAS NO-ESTRUTURADAS
1
y
a x= a+b b
2
onde x = a+b
2
.
Supondo que as trs arestas tm comprimento 1, a razo = R pode ser calculada
como:
1 kc xk
r
2 2 1 3 1
kc yk = kc xk = 11 = 0.5777 2 (3.17)
3 3 4 3
Um tetraedro abcd minimiza a razo se e somente se ele regular, e neste caso:
z
a c
y
1 3a+b+c 1 3 1 b
z = (a + b + c + d) = + d= y+ d (3.18)
4 4 3 4 4 4
d
1
y c
r
3 3 3 6 3
kd zk = kd yk = 1 = 0.612 3 (3.19)
4 4 9 4
Lema 29. Seja K uma malha Delaunay com a propriedade da razo 0 . Ento
1
ka bk ka ck 20 ka bk
20
para todo tringulo abc de K.
Lema 30. Seja K uma malhal Delaunay com a propriedade da razo 0 . Se o ngulo
y
b
R
a p
Prova. x Sejam ab e ap duas arestas de K e y = (y, R2 ), o crculo de
interseco do plano denido por abp com a circunsfera de um tetraedro que contm ab.
102 CAPTULO 3. GERAO DE MALHAS NO-ESTRUTURADAS
f f
f (R) = R R2 c2
f (R) = R
c
f (R) = R 2 c2
c R c R
Assim, se
r r
ka bk2 1
R 0 ka bk f (R) f (0 ka bk) R R2 (0 20 )ka bk.
4 4
a
ka bk/2
O ngulo entre ab e ax x v
r !
2kx vk 2kx vk 1
tan(bax) = bax = atan atan 20 20 = 0
ka bk ka bk 4
x v
1
ka bk < ka pk < mu0 ka bk (3.22)
0
0 1
onde 0 = sm0 1 m
0 e m0 = 2
1cos( 40 )
Lema 32 (do grau). Todo vrtice a K, onde K uma triangulao de Delaunay com
Observao 29. Se 0 = 1 0 =
12
m0 = 934.1 0 muito grande.
Denio 34. A esfera equatorial de uma face triangular a nica menor esfera que
Denio 35. Dizemos que um segmento (face) invadido se sua esfera diametral (equa-
Seja X um poliedro que seja um complexo linear por partes (PLC), ou seja:
Considere ainda que os ngulos entre dois segmentos, duas face e entre um segmento
e uma face no seja inferior a 2 .
O objetivo do Renamento Delaunay 3D contruir uma triangulao de Delaunay D
tal que um subcomplexo K D subdivida X , e D possua a propriedade da razo 0
(subdividir X signica que toda face (ou segmento) de X pode ser recuperada pela unio
de subfaces (ou subsegmentos) de K ).
O algoritmo de renamento comea com a tetraedralizao de Delaunay (sem restrio)
e insere vrtices segundo trs regras:
Observao 30. A primeira regra tem prioridade sobre as demais. A segunda regra tem
Rotulemos os vrtices de acordo com a regra que o inseriu (ou o considerou para
insero).
invadidos. Este fato suciente para garantir que os vrtices Tipo 3 esto no interior da
triangulao.
Lema 33. Seja x um vrtice de D e p(x) o seu pai (caso exista). Ento se rx lf s(x) ou
rx c.rp (x), onde c= 1 se x Tipo 1 ou 2 e c = 0 se x Tipo 3 (verso simplicada
2
de Shewchuck).
Teorema 7. Seja lf smin a menor distncia entre duas entidades no-incidentes (vrtices,
separados por um ngulo de no mnimo 60o , quaisquer duas faces incidentes satisfazem a
condio de projeo e qualquer segmento incidente a uma face por um vrtice separado