Escolar Documentos
Profissional Documentos
Cultura Documentos
Antônio S. M. Macêdo
Iván Roa González
Março-2019
Apenas para uso acadêmico didático.
1 Introdução
Em 9 de fevereiro de 2019, o matemático holandês Jos Stam, junto com o cofundador da Pixar,
Edwin Catmull, e com Tony DeRose, pesquisador do estúdio, foram os ganhadores de um dos
prêmios Oscar outorgados pela Academia de Artes e Ciencias Cinematográficas. O trio foi
reconhecido pelo trabalho pioneiro na ciência das superfícies de subdivisão, técnica de modelagem
3D que sustenta a mágica visual de filmes como “O Senhor dos Anéis” e “Avatar”. O trabalho de
Stam ajudou a desenvolver um software que permite aos diretores de arte criar formas e efeitos
3D sem mexer com números e equações. Em entrevista ao portal da Universidade de Toronto
(Canadá), onde fez doutorado em Ciência da Computação, o matemático disse que seu trabalho
foi “esconder a Matemática das pessoas mais artísticas”.1 .
Este evento parece justificar perguntarmos se não seriam as ciências exatas uma importante
expressão artistica e criativa do ser humano. Parece claro que sem a criatividade de um número
muito grande de cientistas o mundo contemporâneo não seria muito diferente do mundo medieval.
Da mesma forma, sem a genialidade de matemáticos, como Alan Mathison Turing, a computação
talvez permanecesse apenas um sonho distante. Todos concordam que a sociedade precisa valo-
rizar seus cientistas, mas em contrapartida os cientistas precisam encontrar formas efetivas de se
comunicar com a sociedade. Aqui no Brasil, muitos esforços tem sido feitos nesta direção e o site
Saense (saense.com.br) é um bom exemplo de sucesso com o público leigo.
Este tutorial faz parte do esforço geral de comunicação com um público mais especializado
(estudantes de graduação em ciências exatas) e tem como objetivo mostrar de maneira simples como
os operadores do cálculo exterior podem ser discretizados e levados para algoritmos computacionais,
que poderiam ser usados 2 para modelar diversos tipos de sistemas físicos, como escoamentos em
fluidos, deformações de estruturas, fenômenos de transporte, e animação gráfica, entre outras
aplicações. Apresentaremos um conjunto de definições e exemplos que ajudarão os estudantes a
ganharem familiaridade com os conceitos básicos do cálculo exterior discreto (DEC).
Em geral, os sistemas de interesse apresentam uma certa geometria e um determinado conjunto
de fronteiras que podem ser abertas ou fechadas. A dinâmica do sistema é usualmente descrita
pela ação de operadores sobre objetos (formas diferenciais e campos vetoriais) definidos no espaço
associado ao sistema. Na versão discreta, o espaço é composto por um conjunto de pontos (nós)
que estão conectados através de caminhos denominados ramos. O menor conjunto de ramos que
formam um caminho fechado é chamado de malha. Assim uma pergunta natural é: dado um
sistema contínuo, qual a melhor forma de distribuirmos um conjunto de nós, ramos e malhas para
discretizar nosso sistema?
Matematicamente, a resposta é determinada pela aplicação de dois conceitos fundamentais:
triangulação de Delaunay e células de Voronoi. Apresentamos a seguir uma serie de definições
que ajudarão a entender estes conceitos.
2 Triângulos de Delaunay
Definição 1. Triangulação: Seja S um conjunto de pontos em Rn . Uma triangulação é uma
coleção de triângulos, arestas e vértices conectados de forma a cobrirem todo o espaço.
1 Noticia tirada da página WEB do IMPA
2 pelos que aderirem a esta linha de pesquisa
1
Definição 2. Triângulo de Delaunay: Sejam pi , pj e pk em S. Dizemos que pi , pj , pk são vértices
de um triângulo de Delaunay se e somente se 3 o cı́rculo que passa por pi , pj , pk não contiver
outro ponto de S.
Definição 3. pi pj ∈ K é uma aresta de Delaunay se pertence a um ou dois triângulos de Delaunay.
Teorema 4 (Delaunay). A coleção de triângulos de Delaunay com vértices em S que formam uma
triangulação K de S é chamada de triangulação de Delaunay.
Corolário 5. Dois pontos pi , pj formam uma aresta de Delaunay sse existe um cı́rculo que passa
por pi e pj e não contém outro ponto de S em seu interior.
Suponha que e = pi pj seja uma aresta de uma triangulação não-Delaunay K de S. Admita
que e está contida nos triângulos p\ \
i pj pk e p i pj pl de K, de modo que os quatro pontos formem um
quadrilátero convexo. A operação que remove a aresta e e insere a aresta pk pl é chamada de troca
de arestas (edge flip) e pode ser usada para transformar K em uma triangulação de Delaunay.
3 Célula de Voronoi
Definição 6. Definimos V (pi ), a célula de Voronoi para pi , como o conjunto de pontos q no plano
que estão mais próximos de pi do que de qualquer outro ponto. Formalmente, temos
4 Simplexes e Cadeias
Na versão discreta, os operadores do cálculo exterior atuam como relações entre vertices (nós) e
arestas (ramos) ou entre faces (malha 2D) e tetraedros (malha 3D). Para os propósitos computa-
cionais as formas discretas estão restringidas a 3-dimensões.
A característica fundamental de um objeto no espaço é sua dimensão k. Por exemplo, pontos,
linhas, superficies e volumes têm dimensões espaciais k = 0, 1, 2, 3, respectivamente. Um k-simplex
denotado como σ k , é uma coleção de k + 1 pontos em Rn para n ≥ k com certas propriedades
minimais. Assim, σ 0 , σ 1 , σ 2 , e σ 3 denotam vértices, linhas (arestas), superficies (faces) e volumes,
respectivamente. O i-ésimo ponto, j-ésima linha, e l-ésima superficie em um dado modelo discreto
podem ser denotados como σi0 , σj1 e σl2 . Intuitivamente, podemos pensar os simplexes como tijolos
construtores (peças de Lego) para modelos geométricos discretos. Por exemplo, em um circuito
elétrico, nós e ramos são modelados usando σ 0 e σ 1 respectivamente.
3 Doravante usaremos o acrônimo sse para a expressão se e somente se.
2
Figura 2: Triangulação de uma semi-cardióide. Em preto podemos ver a triangulação primária e
em vermelho mostramos as células de Voronoi.
• Os k-simplexes são orientados por meio de uma escolha de ordenamento dos vértices.
• Um k-simplex orientado é caracterizado como o conjunto de vertices e pode ser representado
por
σ k = [v0 , v1 , ..., vk ]. (2)
5 Cocadeias (Cochains)
Sabemos da algebra linear que cada espaço vetorial Ck tem um espaço vetorial dual C k . For-
malmente, os elementos de C k são funcionais lineares que mapeiam elementos de Ck em números
reais ω : Ck → R, ou seja a aplicação de um funcional linear sobre um vetor é equivalente a um
produto interno. Os elementos do espaço vectorial dual são chamados de cocadeias (cochains).
Uma cocadeia é representada por um vetor coluna de comprimento |Ck |. Portanto, a ação de ω
sobre uma k-cadeia corresponde ao produto interno ω T c = ⟨ω, c⟩. Vamos ilustar esses conceitos
através da teoría de circuitos elétricos.
3
5.1 Circuito Elétricos
Do ponto de vista matemático, um circuito elétrico tem duas caracteristicas principais: (i) a
estrutura topologica, que define a forma na qual varios elementos (nós, ramos e malhas) estão
interconnectados e (ii) a estrutura algébrica, que define a maneira como as varias grandezas elétricas
estão distribuidas nos k-simplexes. Vamos listar abaixo algumas propriedades elementares da teoria
de circuitos elétricos.
Exemplo 1 (Energia Eletrostática): Suponha que temos um sistema com cargas pontuais
fixas em um circuito. Como∑ cada carga está em num nó (vi ), podemos escrever a densidade de carga
como uma 0-cadeia ρ = i ρi vi . Digamos que esta configuração está submetida a um potencial
eletrostático externo Φ, de forma que podemos construir uma 0-cocadeia com Φ. Podemos então
calcular a energia eletrostática devido ao campo externo através do produto interno E = ⟨Φ, ρ⟩,
portanto
∑ ∑
E = ⟨Φ, ρi Vi ⟩ = ρi Φ(vi ). (4)
i i
∑
k
∂[v0 , v1 , . . . , vk ] := (−1)j [v0 , . . . , v̂j , . . . , vk ], (6)
j=0
onde v̂j indica que vi é omitido da soma. O operador limite é representado por uma matriz de
tamanho |Ck+1 | × |Ck |, de modo que a ação de ∂ sobre uma k-cadeia c é a multiplicação matricial
usual ∂c.
Definição 10. Seja ω uma k-cocadeia. Definimos a k-ésima derivada exterior discreta de ω como
a transposta do operador limite
Dk = ∂ T , (7)
que também pode ser chamado de o operador co-limite. A ação de Dk sobre uma k-cadeia c é
a multiplicação matricial usual Dc := ∂ T c.
Na figura 3 apresentamos um exemplo simples do uso da derivada exterior. Para os quatro
vértices ordenados {vi ; i = 0, 1, 2, 3}, definimos uma orientação para as arestas {ei ; i = 0, 1, . . . , 5}
que os conectam, e um sentido de circulação para as faces {fi ; i = 0, 1, 2, 3}. A derivada exterior
da 0-forma associada aos vértices é a matriz com coeficientes de peso {0, ±1}. O valor numérico
identifica se os vertices estão conectados (±1) ou não (0) com uma dada aresta e o sinal (±)
descreve a orientação, sendo positiva quando ingressa no vértice e negativo caso contrario. De
4
Figura 3: Tetraedro composto por 4 vértices, 6 arestas, 4 faces. Mostramos as matrizes que
representam os operadores de derivada exterior discreta: D0 , D1 e D2 .
forma similar, a derivada exterior da 1-forma associada às arestas é representada pela matriz que
indica as conexões ordenadas entre faces-arestas. Por último, o operador derivada exterior discreta
da 2-forma mostra a orientação das faces dentro do tetraedro.
Exercicio: Mostre que para o caso de um triângulo a derivada exterior da 0-forma é a matriz
dada por
vertex↓
z }| {
−1 1 0
D0 = −1 0 1 .
0 −1 1
| {z }
edges→
| ⋆ σik |
(Mk )ii := , (8)
|σik |
onde | ⋆ σik | e |σik | são os módulos dos “volumes”dos respectivos elementos geométricos associados
aos k-simplexes (comprimento para uma aresta, área para uma face), com o valor 1 sendo atribuído
a um vértice. Nas aplicações, nem sempre fazemos uma triangulação primária de Delaunay, nem
as células duais são sempre as de Voronoi. Por completeza, apresentamos abaixo as três principais
formas de construção de células duais a partir uma triangulação arbitrária.
5
• Célula de Voronoi: Conecta o circuncentro do triângulo com os pontos médios das arestas
(mediatriz), onde o raio R é dado por
e0 · e1 · e2 e0 + e1 + e2
R= √ , s= , (9)
4 s(s − e0 )(s − e1 )(s − e2 ) 2
onde e0 , e1 e e2 são os comprimentos das arestas.
• Célula do Baricentro: Conecta o baricentro do triângulo com os pontos médios das arestas.
O baricentro é o ponto de intersecção das medianas de um triângulo. A posição do baricentro
é dado pelo vetor
∑3 ∑
3
Bi r i
r bc = ∑i=1
3 , Bi = 1. (10)
i=1 Bi i=1
• Célula do incentro: Conecta o incentro do triângulo com os pontos médios das arestas. O
incentro de um triângulo é definido como o ponto no qual as três bissetrizes se cruzam.
Figura 4: Construção do circuncentro de um triângulo. Note que para triângulos obtusos o cir-
cuncentro fica em uma posição externa ao triângulo.
Concluímos que o operador estrela de Hodge discreta está necessariamente condicionado à célula
dual escolhida. Se estamos no espaço dual também podemos voltar para a triangulação primária
usando a inversa da estrela de Hodge discreta.
Definição 12. A k-ésima inversa da estrela de Hodge discreta para uma malha primaria K de
dimensão n é o mapa de C n−k (⋆K) em C k (K), representado pela matriz
6
Figura 5: Nesta figura se apresentam as formas geométricas duais aos vértices, construidas a partir
do circuncentro do triângulo
de Hodge é obtida aplicando a eq. (8). O elemento (M1cc )11 é por definição a razão entre o
comprimento da linha ⋆σ11 que é | ⋆ σ11 | = 1/2 e o comprimento da linha σ11 , que é |σ11 | = 1. O
elemento (M1cc )22 é por definição a razão entre o comprimento da linha ⋆σ21 que é | ⋆ σ21 | = 1/2 e
o comprimento da linha σ21 , que é |σ21 | = 1. O elemento (M1cc )33 é por definição a razão entre o
comprimento da linha ⋆σ31 que é | ⋆ σ31 | = 0 e o comprimento da linha σ31 , que é |σ31 | = 1. Temos
portanto 1
2 0 0
M1cc = 0 12 0
0 0 0
Exercicio:
• Mostre que o baricentro do triângulo do exemplo anterior está na posição (1/3, 1/3).
• Considerando que as formas duais são obtidas a partir da figura 7, mostre que o operador
para a 0-forma M0bc é 1
6 0 0
M0bc = 0 16 0
0 0 16
A seguir usaremos este exemplo para ilustrar a construção do operador codiferencial discreto.
7
Figura 6: Ilustração das formas geométricas duais das arestas, construidas a partir do circuncentro
do triângulo.
1
4 0 0 −1 −1 0 2 0 0 2 2 0
δ1cc = −M0−1 D0T M1 = − 0 8 0 1 0 −1 0 1
2 0 = −4 0 0
0 0 8 0 1 1 0 0 0 0 −4 0.
Exercicio:
• Usando nosso exemplo, encontre a coderivada discreta associada ao baricentro δ1bc e ao in-
centro δ1ic .
8
Figura 7: Formas geométricas duais, construidas a partir do baricentro do triângulo
• Definimos a diferença de potencial elétrico ou voltagem entre dois nós como a 1-cocadeia p,
cujos elementos são pij = vi − vj .
• A representação algébrica da voltagem p e da corrente y, é feita através de vetores. Em um
ramo que conecta os nós vi e vj , a componente do vetor de voltagem pij está relacionada
com a componente do vetor de corrente yij através de um determinado elemento de circuito4 .
Assim no caso da lei de Ohm, temos que a resistência rij é a constante de proporcionalidade
entre pij e yij . Podemos escrever a lei de Ohm de forma geral como
p = Gy, (13)
onde G é a matriz diagonal das resistências.
• A matriz G é o análogo do tensor métrico e em geral pode incorporar todo tipo de elementos
passivos de um circuito.
4 Entenda-se capacitores, resistências e indutâncias.
9
9.1 Leis de Kirchhoff
• Lei dos nós: Em qualquer nó em um circuito onde a corrente possa se dividir, a soma das
correntes que chegam no nó é igual à soma das correntes que saem do nó. No cálculo exterior
discreto podemos representar esta lei usando a matriz que conecta os ramos (arestas) aos nós
(vértices), que corresponde ao transposto do operador de derivada exterior D0 agindo sobre
y. Temos portanto a versão discreta da equação da continuidade
DT
0 y = 0. (14)
• Lei das Malhas: Ao percorrer qualquer malha fechada, a soma algébrica das variações no
potencial ao longo da malha é nula.
Vamos agora mostrar como representar esta lei usando formas diferenciais discretas. Sabemos
que a voltagem é a diferença de potencial entre dois nós, a qual é dada por
D0 x = p. (15)
onde Assim podemos representar a lei da malhas como a ação da derivada exterior discreta
D1 sobre p
D1 p = 0. (16)
pT y = (xT DT T T
0 )y = x (D0 y) = 0, (17)
onde usamos (14) na última igualdade. Usando o teorema de Tellegen, a lei de Ohm, e a lei das
correntes de Kirchhoff podemos obter o operador de Laplace - de Rham associado ao circuito. O
procedimento está descrito abaixo.
G−1 p = y. (18)
−1
DT
0G D0 x = DT
0 y = 0. (20)
• O operador
−1
L = DT
0G D0 (21)
é a versão discreta do operador de Laplace - de Rham. Assim, para circuitos elétricos é válida
a versão discreta da equação de Laplace
Lx = 0. (22)
10
onde Ai = [0, 0, Φki , ..., 0, ..., 0]T , é um vetor que mostra o valor da fonte de tensão em um dois
nós que estão conectados 5 . Assim, podemos agrupar todas as fontes deste tipo numa cocadeia
representada algebricamente como ∑
B= bi . (24)
i∈|V |
D0 x + B = p. (25)
Analogamente, se entre dois nós (vi e vj ) temos uma fonte de corrente denotada como fij , então
podemos agrupar todas as fontes de corrente na cocadeia f. Portanto, a lei de Kirchhoff para os
nós pode ser escrita como
DT0 y + f = 0. (26)
Aplicando o operador de Laplace - de Rham em x, obtemos de (25)
−1 −1
Lx = DT
0G p − DT
0G B. (27)
9.2.1 Exemplo 1
Vamos a determinar o valor do potencial elétrico para os cinco nós do circuito da figura 8 que
também mostra os valores das resistências. O primeiro passo é construir o operador derivada
Figura 8: Circuito elétrico formado por dois elementos ativos, neste caso uma fonte de corrente e
uma de voltagem DC. Temos cinco elementos passivos formados por um conjunto de resistências
agrupadas na matriz diagonal G = diag([R1 , R2 , R3 , R4 , R5 ]T ) = diag([0.5, 1, 1, 0.25, 1]T )
.
exterior, que mostra as conexões entre nós e ramos. Neste exemplo usamos a tabela 1 para formar
a matriz D0 . Os nós são os vértices de nossa malha e estão unidos por ramos orientados pela
5 Devemos ter presente o sinal ± dependendo da posição do nó em relação à fonte de tensão
11
direcção da corrente que será positiva se entra no nó e negativa se sai deles, conforme indicado
na figura 8. Note que na tabela 1 estamos usando as letras minúsculas i e v para representar
a configuração geometrica, portanto não devemos interpretá-los como os valores da função de
potencial elétrico sobre cada nó, ou de corrente sobre cada ramo, que são representados pelas
componentes dos vetores x e y, respectivamente.
v1 v2 v3 v4 v5
i1 1 -1
i2 1 -1
i3 1 -1
i4 1 -1
i5 1 -1
G−1
z }| {
1 1 0 0 0 2 0 0 0 0 1 −1 0 0 0 3 −2 0 −1 0
−1 0 1 0 0 0 1 0 0 0 1 0 0 −1 0 −2 3 −1 0 0
L=
0 0 −1 1 1
0 0 1 0 0 0
1 −1 0 0
= 0 −1 6 −4 −1 .
0 −1 0 −1 0 0 0 0 4 0 0 0 1 −1 0 −1 0 −4 5 0
0 0 0 0 −1 0 0 0 0 1 0 0 1 0 −1 0 0 −1 0 1
| {z } | {z }
DT D
12
9.3 Exemplo 2
Neste exemplo vamos a determinar os valores das correntes do circuito de dois malhas da figura
9 usando uma representação das leis Kirchhoff usando operadores de cálculo exterior discreto. O
procedimento é descrito abaixo, etapa por etapa
1 0 −1 0
D0 = 0 −1 1 0 .
0 −1 0 1
Figura 9: Circuito elétrico formado por dois elementos ativos, neste caso duas fontes de voltagem
DC Φ1 = 12V e Φ2 = 5V . Além disso, temos três elementos passivos formados por um conjunto
de resistências agrupadas na matriz diagonal G = diag([R1 , R2 , R3 ]T ) = diag([3, 4, 2]T )
.
• O próximo passo é determinar o vetor das diferenças de potencial p que é a soma do vetor
de voltagem dos elementos passivos com o vetor de voltagem dos elementos ativos . Neste
exemplo, temos
V
1 0 −1 0 0 V0 − V2 ∆x1
V1
D0 x = 0 −1 1 0
V2 = −V1 + V2 = ∆x2 ,
0 −1 0 1 −V1 + V3 ∆x3
V3
e
−Φ
1 0 −1 0 1 −Φ1
0
B = 0 −1 1 0
0 = 0 .
0 −1 0 1 Φ2
Φ2
para o vetor de voltagem dos elementos passivos e o vetor de voltagem dos elementos ativos,
respectivamente. Então, a diferença de potencial é
∆x1 − Φ1
p = D0 x + B = ∆x2
∆x3 + Φ2
13
• Agora construímos o operador derivada exterior para a 1-forma (matriz de incidência entre
ramos e malhas)
( )
1 1 0
D1 = .
0 1 −1
• Usamos a lei de Ohm para encontrar a relação entre as diferenças de potencial e as correntes
D0 x = Gy (29)
∆x1 3I1
∆x2 = 4I2
∆x3 2I3
I1 + I2 + I3 = 0 (30)
14
10 Circuitos RLC
Nesta seção vamos mostrar como construir o operador de Laplace - de Rham para um circuito
RCL. Considere que entre dois pontos i e j de um ramo temos um elemento passivo não resistivo.
Se for um capacitor, a diferença de potencial é dada por
∫
1
pij = yij , dt, (31)
cij
dyij
pij = uij , (32)
dt
onde uij representa a indutância. Num circuito RLC podemos obter uma relação independente do
tempo entre a corrente e a diferença de potencial através da transformada de Fourier
( )
1
iωuij + rij + yij eiωt = pij eiωt . (33)
iωcij
D0 x = p
Ψp = y , (35)
⊤
D0 y = 0
onde Ψ é a matriz diagonal cujos elementos correspondem ao valor da admitância em cada ramo.
De forma analoga ao caso de corrente DC, o operador discreto de Laplace - de Rham é dado por
L = D0 ⊤ ΨD0 (36)
15