Вы находитесь на странице: 1из 0

Geometria de Tringulos e Polgonos

7340 caracteres
Uma parcela importante do trabalho de geometria computacional em GIS realizada
sobre polgonos. Estes tipos de objetos so muito comuns em GIS, e so usados para
representar graficamente entidades bidimensionais, tais como o contorno de edificaes,
propriedades, regies de uso do solo e, genericamente, todo tipo de diviso territorial,
tais como estados, municpios, bairros e setores censitrios.
Assim, considerando o uso intensivo de polgonos em GIS, e a natureza das aplicaes
usuais, os algoritmos empregados para trabalhar com polgonos precisam ser escolhidos
cuidadosamente. Neste sentido, importante conhecer de perto o que se pode conseguir
eficientemente a partir de tringulos, que alm de serem os polgonos mais simples, so
tambm figuras garantidamente planas, muito usadas na representao de superfcies. O
trabalho com tringulos bastante interessante, e facilitado pelo conhecimento de
algumas de suas propriedades e formulaes bsicas.
rea do tringulo
Uma vez que na representao vetorial se trabalha com vrtices e suas coordenadas, a
frmula elementar da geometria para clculo da rea de um tringulo (a rea de um
tringulo igual metade do produto entre sua base e sua altura) no muito prtica.
Em vez dela, so utilizados dois resultados equivalentes da lgebra linear. O primeiro
usa o produto de dois vetores, que determina a rea de um paralelogramo, o dobro da
rea do tringulo que interessa. Outro mtodo calcula a rea diretamente, por meio de
um determinante 3x3.
C
B
A
U
V

Figura 1 - Produto vetorial dos vetores U e V, equivalente ao dobro da rea do
tringulo ABC
O primeiro mtodo pode ser descrito como se segue. Sejam U e V vetores. A rea do
paralelogramo com lados U e V U V (). O produto vetorial pode ser calculado a
partir do seguinte determinante:
$ $
$
( )
$
( )
$
( )
$
i j k
x y z
x y z
y z z y i z x x z j x y y x k
U U U
V V V
U V U V U V U V U V U V
= + +
onde
$
,
$
,
$
i j k so vetores unitrios nas direes x, y e z respectivamente. Como se est
tratando de vetores bidimensionais, temos z
U
= z
V
= 0, e portanto a rea S do tringulo
dada por
S
x y y x
U V U V
=
( )
2

Mas, na realidade, U = B - A, e V = C - A. Portanto, a expresso acima pode ser reescrita
como
S x y y x y x x y x y y x
A B A B A C A C B C B C
= + +
1
2
( ) ()
A rea calculada pela expresso acima ser positiva se os vrtices A, B e C formarem
um circuito em sentido anti-horrio, e negativa se formarem um circuito no sentido
horrio. A rea ser exatamente zero se os trs vrtices estiverem alinhados.
A expresso acima pode ser tambm obtida quando se calcula o determinante dos trs
pares de coordenadas, substituindo a coordenada z por 1:
S
x y
x y
x y
x y y x y x x y x y y x
A A
B B
C C
A B A B A C A C B C B C
= = + +
1
2
1
1
1
1
2
( ) ()
Tambm neste caso a rea ser negativa se a seqncia de vrtices estiver orientada em
sentido horrio, e positiva caso contrrio.
Coordenadas baricntricas e ponto em tringulo
Para determinar se um determinado ponto pertence ou no a um tringulo, utiliza-se um
mtodo baseado em coordenadas baricntricas. Parte-se do fato de que qualquer ponto
p do tringulo pode ser definido a partir das coordenadas de seus trs vrtices, de modo
que p p p p = + +
1 1 2 2 3 3
, onde
1
,
2
e
3
so nmeros reais e
1 2 3
1 + + = . Os
coeficientes
1
,
2
e
3
so denominados coordenadas baricntricas de p em relao a
p
1
, p
2
e p
3
.
Com as coordenadas dos pontos p, p
1
, p
2
e p
3
, e a equao
1 2 3
1 + + = , constri-se
um sistema de trs equaes e trs incgnitas para encontrar as coordenadas
baricntricas:


1 1 2 2 3 3
1 1 2 2 3 3
x x x x
y y y y
p
p
+ + =
+ + =

O sistema acima tem por determinante exatamente aquele apresentado na Equao ,
cujo valor corresponde ao dobro da rea do tringulo p
1
p
2
p
3
. A rea no-nula, pois p
1
,
p
2
e p
3
no so alinhados por hiptese, j que so vrtices de um tringulo. Assim, o
sistema tem soluo nica para cada p.
Os valores de
1
,
2
e
3
podem ser obtidos usando a regra de Cramer, e expressos em
termos de reas de tringulos. Temos, portanto:

1
2 3
1 2 3
=
S pp p
S p p p
( )
( )
,
2
1 3
1 2 3
=
S p pp
S p p p
( )
( )
e
3
1 2
1 2 3
=
S p p p
S p p p
( )
( )

A anlise do sinal das coordenadas baricntricas indica a regio do plano em que se
encontra p, em relao ao tringulo p
1
p
2
p
3
(). Observe-se que, para isso, as reas
devem ser orientadas, ou seja, devem ser calculadas com sinal.
p
1
p
2
p
3

2
=
0

3
=
0

1
=
0

1
>0

2
>0

3
>0

1
<0

2
>0

3
>0

1
>0

2
<0

3
>0

1
>0

2
>0

3
<0

1
<0

2
>0

3
<0

1
<0

2
<0

3
>0

1
>0

2
<0

3
<0

Figura 2 - Sinais das coordenadas baricntricas
Com esse resultado, torna-se simples implementar um algoritmo que determine se um
ponto est contido em um tringulo. Basta obter as coordenadas do ponto e dos vrtices
do tringulo, e calcular as coordenadas baricntricas. Se todas as trs forem positivas, o
ponto pertence ao interior do tringulo. Se todas as trs forem maiores que ou iguais a
zero, o ponto pertence ao interior ou fronteira do tringulo.
Algum poderia imaginar que seria possvel, considerando o algoritmo simples para
determinar se um ponto pertence ou no a um tringulo, simplesmente dividir o
polgono em tringulos e checar o ponto dado contra cada um deles. O problema
justamente dividir o polgono em tringulos, um algoritmo mais complexo que o usado
para determinar diretamente se um ponto pertence a um polgono, apresentado nesta
coluna na edio ??. De qualquer maneira, um algoritmo baseado em coordenadas
baricntricas funciona muito bem quando se tem estruturas com tringulos j definidos,
como TINs (Triangular Irregular Networks).
rea de polgono
A rea de um polgono pode ser calculada usando um somatrio simples, baseado na
soma de reas de tringulos.
O clculo pode ser feito como se segue. Sejam x
i
e y
i
as coordenadas do vrtice v
i
do
polgono P, com n vrtices. A rea do polgono dada por
A P x y y x
i i i i
i
n
( ) ( ) =
+ +
=

1
2
1 1
0
1
()
Observe-se que, na expresso acima, quando se tem i n = 1, necessrio ter x x
n
=
0
e
y y
n
=
0
, de acordo com a definio de polgono, caracterizando o seu fechamento.
O sinal da rea calculada indica o sentido da seqncia de vrtices. A rea ser negativa
se os vrtices estiverem em sentido horrio, ou positiva se em sentido anti-horrio,
exatamente como no caso da rea do tringulo (Equao ). Como j foi dito, a base do
raciocnio para o desenvolvimento do somatrio o mesmo do clculo da rea de um
tringulo. O somatrio da Equao corresponde soma da rea de n tringulos,
formados entre um ponto arbitrrio (no caso, a origem do sistema de coordenadas) e
cada par seqencial de vrtices (v
i
, v
i+1
).
Centride de um polgono
Em muitas situaes prticas, necessrio determinar, dado um polgono qualquer, seu
centro de gravidade ou centro de massa, mais conhecido em GIS como centride. Em
GIS, o centride muitas vezes criado e relacionado ao polgono para viabilizar o
armazenamento de dados alfanumricos associados no banco de dados geogrfico.
tambm usado como ponto de lanamento automtico de textos grficos, para
identificao de elementos em tela e plotados.
O centro de gravidade de um tringulo simplesmente a mdia das coordenadas de seus
vrtices, ou seja, as coordenadas do centro de gravidade de um tringulo ABC seriam:
x
x x x
G
A B C
=
+ +
3
e y
y y y
G
A B C
=
+ +
3

Novamente, seria possvel estender esse resultado para calcular o centride de todo o
polgono a partir de sua diviso em tringulos. No entanto, existe uma soluo mais
simples e independente da triangulao, e que leva em conta tringulos com reas
positivas e negativas, como no clculo da rea do polgono. O mesmo processo de
mdia ponderada pela rea pode ser usado, considerando todos os tringulos formados
entre um ponto fixo, por exemplo (0, 0), e cada par de vrtices sucessivos, (v
i
, v
i+1
).
Assim, temos que

A P x y y x
x
x x x y y x
A P
y
y y x y y x
A P
i i i i
i
n
C
i i i i i i
i
n
C
i i i i i i
i
n
( ) ( )
( ) ( )
( )
( ) ( )
( )
=
=
+
=
+
+ +
=

+ + +
=

+ + +
=

1
2
3
3
1 1
0
1
1 1 1
0
1
1 1 1
0
1
()
Curiosamente, parte dos GIS considera uma definio alternativa de centride, em que
mesmo se situa aproximadamente no centro do polgono. Assim, o centride pode ser
determinado por diversos processos, como o centro do retngulo envolvente mnimo, o
centro de um crculo inscrito ou circunscrito ao polgono, ou mesmo definido
intuitivamente pelo usurio. Uma forma freqentemente usada para determinar um
centride consiste em simplesmente obter a mdia aritmtica das coordenadas x e y dos
vrtices. Embora menos computacionalmente intensivo do que o mtodo apresentado
nesta seo, o processo da mdia tem seus resultados afetados por caractersticas dos
objetos, ou mesmo pelo processo de digitalizao dos polgonos. Como se pode
perceber na , a existncia, por alguma razo, de uma concentrao de vrtices em uma
regio do polgono causa um deslocamento indesejvel do centride. O deslocamento
ocorre justamente em direo regio com maior densidade de vrtices, o que pode
prejudicar aplicaes simples, como o posicionamento de textos grficos.
G
M

Figura 3 - Centrides calculados pela mdia (M) e como centro de gravidade (G)
Aprofunde-se neste assunto em:
Figueiredo, L. H., Carvalho, P. C. P. Introduo Geometria Computacional, Instituto
de Matemtica Pura e Aplicada, 1991.
ORourke, J. Computational Geometry in C, Cambridge University Press, 1994.
Sobre o autor:
Clodoveu Davis engenheiro civil, doutor em Cincia da Computao e Assessor de
Desenvolvimento e Estudos da Prodabel - Empresa de Informtica e Informao do
Municpio de Belo Horizonte.
e-mail: cdavis@uol.com.br

Вам также может понравиться