Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Observe que o objeto gerado um slido, j que determinado por uma superfcie
fechada (contm todos os seus pontos interiores), limitada ( possvel definir uma esfera
aberta que contm toda a superfcie) e sem bordo (todos os pontos da superfcie
localmente possuem a topologia de um disco aberto e no um semidisco aberto).
Como resultado, temos que os bordos do retalho so dados pela soma de cada
uma das curvas originais com a interpolao linear dos respectivos vrtices.
Isto pode ser mostrado observando o que ocorre com a funo C(u,v)
quando consideramos a restrio v=0. Nesse caso temos que C(u,0)=(1-0)pu0(u)
+0pu1(u)+ (1-u)p0v(0)+up1v(0). Observe que a superfcie desejada, quando
restringimos o parmetro v a zero, deveria representar a curva p u0. Entretanto,
possvel verificar que C(u,0) descreve pu0 somada a interpolao linear dos
vrtices p0v(0) e p1v(0). O mesmo efeito ocorre para as demais curvas que definem o
bordo do retalho a ser reconstrudo.
Para resolver tal problema, preservando as curvas originais, subtramos o
retalho obtido C(u,v) da interpolao bilinear dos 4 vrtices que so os pontos
extremos das curvas de definio: C(u,v) = C(u,v)-B(u,v).
I(i,j+1)
I(x,y)
I(i,j)
I(i+1,j)
5) Apresente a equao paramtrica de um toro. Mostre com gerar uma malha para este
objeto grfico (1.0 ponto).
x( , ) ( R r cos ) cos
y ( , ) ( R r cos ) sin
z ( , ) r sin
A topologia do toro dada pelo produto tensorial de dois crculos. Para gerarmos
uma malha tomamos o domnio da funo no espao de parmetros e definimos um
reticulado de resoluo desejada. Sobre o pontos do reticulado definimos uma
triangulao que determina a conectividade da malha. Observe que para termos a
topologia do toro, necessrio identificar os vrtices inferiores aos superiores da malha e
os vrtices no lado direito aos vrtices do lado esquerdo.
A
b
e
B
Lista de vrtices
Vrtices Coord.
v0
(0,0,0)
v1
(0,0,1)
v2
(1,0,0)
v3
(0,1,0)
Lista de arestas
Vrtices Coord.
e0
(v0,v1)
e1
(v0,v2)
e2
(v0,v3)
e3
(v3,v1)
e4
(v1,v2)
e5
(v2,v3)
Lista de faces
Vrtices Coord.
f0
(e3,e4,e5)
f1
(e0,e3,e2)
f2
(e1,e2,e5)
f3
(e0,e1,e4)
Obs.: atentar para a ordenao das arestas nas faces no sentido contrrio aos ponteiros do relgio.
C (u ) Bi, p (u ) Pi , a u b,
i 0
p
p
Bi , p 1 (u )
Bi 1, p 1 (u ),
ui p ui
ui p 1 ui 1
1, u u ui 1
Bi ,0 (u ) i
0, c.c
u
u
u ui
Bi , p (u )
Bi , p 1 (u ) i p 1
Bi 1, p 1 (u )
ui p ui
ui p 1 ui 1
rn
t =C(u)
-rn
O vetor normal n pode ser obtido atravs da rotao do vetor tangente t de 90 graus no
sentido anti-horrio.
De posse do vetor normal n construmos um ponto com coordenadas rn e rn, onde r
uma constante igual a metade da largura desejada para a pista. Fazemos este processo para
uma sequencia de pontos ui e os conectamos formando duas curvas poligonais, uma interna e
outra externa a curva original.
pi+1
10) Explique como construir a superfcie de um terreno usando um mapa de alturas, isto ,
uma imagem digital expressa na forma de um matriz de nm elementos, onde cada
elemento armazena um valor em [0,255], codificando de forma discreta um intervalo de
alturas [hmin, hmax](1.0 ponto).
Para construir um terreno a partir de uma imagem digital basta associar a cada pixel da
imagem a um vrtice da malha que corresponde ao terreno. A estrutura
combinatria(conectividade) da malha obtida triangulando-se os vrtices do reticulado (ver
questo 5). A realizao geomtrica da malha d-se atravs da associao de coordenadas a
cada um dos vrtices do reticulado. As coordenadas x e y podem ser obtidas atravs do
mapeamento linear do intervalo dado por [0,n] no intervalo [xmin, xmax] sendo a
coordenada y obtida de modo anlogo (xmin, xmax, ymin e ymax definem a rea do terreno).
A coordenada z de cada vrtice pode ser determinada mapeando-se linearmente o intervalo
[0,255] no intervalo [hmin,hmax].
Para lidar eficientemente com a malha triangulada no OpenGL pode-se utilizar triangle
strips, uma para cada coluna (ou linha) de tringulos na malha. Uma alternativa costurar as
triangle strips atravs de tringulos falsos que no aparecem na visualizao final.