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

6.

Geometria, Primitivas e Transformaes 3D


At agora estudamos e implementamos um conjunto de ferramentas bsicas que nos permitem modelar, ou representar objetos bi-dimensionais em um sistema tambm di-dimensional. Existem aplicaes que so tipicamente bi-dimensionais, tais como mapas, grficos, etc. No entanto, nosso mundo tri-dimensional e, como j citado anteriormente, a Computao Grfica visa oferecer formas de se observar os modelos computadorizados, seja na arquitetura, indstria, simulao, animao, etc.

Geometria 3D

Iniciamos nosso estudo 3D revendo conceitos da Geometria Analtica, necessrios para a especificao dos objetos. Veremos os elemntos bsicos: pontos, retas e planos no espao 3D. Sistema de Coordenadas Cartesianas 3D Em geral, nas aplicaes no campo da Matemtica e Engenharia, trabalhamos no Sistema de Coordenadas Cartesianas. Podemos definir Coordenadas Cartesianas como sendo um sistema de referncia espacial, a partir do qual, especificamos localizaes e medies. No Espao tri-Dimensional, um Sistema Cartesiano representado por :

onde O a origem dos sistema, e o terceiro elemento (chamado coordenada Z ou cota) representa a distncia de um ponto em relao origem contada sobre o eixo Z. Esse sistema de coordenadas pode tomar duas formas o sistema da mo direita e o sistema da mo esquerda, conforme so apresentados nas figuras abaixo.

Fig. 6.1 O Sistema Cartesiano no Espao 3D.

Os termos mo direita e esquerda derivam da regra da Geometria Analtica que estabelece a orientao do vetor resultante do produto vetorial

ou seja, com os dedos da mo apontando no sentido de X para Y teremos o polegar indicando o sentido do vetor resultante Z. O mais usado o sistema da mo direita. Na comunidade da Computao Grfica normalmente utilizado o sistema da mo direita, no entanto construdo de forma diferente. A razo disto que aprendemos a desenhar em unidades de vdeo bi-dimensionais representando unicamente X e Y e quando se tornou necessrio representar profundidades, a coordenada Z foi acrescentada segundo um eixo perpendicular aos eixos X e Y. Essa representao apresentada nas figuras seguintes.

Fig. 6.2 O Sistema Cartesiano na Computao Grfica.

Observamos que tambm existem as duas formas de sistema mo direita e mo esquerda, dependendo igualmente da orientao do eixo Z. Esses sistemas de coordenadas so idnticos aos sistemas Cartesianos apresentados anteriormente, somente orientados de forma diferente. Pontos no Espao 3D A partir de agora, qualquer ponto no espao 3D deve ser especificado como uma tripla ordenada (x,y,z ).

Fig. 6.3 A especificao de um ponto no sistema cartesiano 3D.

Retas no Espao 3D Conforme aprendemos, uma reta em 2D determinada segunda a seguinte equao:

Esta equao estabelece que Y varia numa proporo constante em relao a X. Em 3D, medida que movemos um ponto ao longo de uma reta, tanto Y quanto Z variam proporcionalmente em relao a X. Assim, uma reta em 3D determinada pelo seguinte par de equaes:

Da mesma forma, so necessrias as coordenadas de dois pontos,

para especificarmos uma reta em 3D. As equaes acima so chamadas de equaes implcitas da reta. Outra forma de descrever uma reta atravs das equaes paramtricas, onde cada coordenada expressa em funo de um parmetro u. Nesta forma de representao, medida que u varia de 0 a 1, x se desloca de x1 at x2, y se desloca de y1 at y2, e z se desloca de z1 at z2. (Fig 6.4) Quando u igual a 0 , x igual a x1, y igual a y1 e z igual a z1.

Fig 6.4. Descrio Paramtrica da reta.

Planos no Espao 3D No espao 3D, tambm necessitamos trabalhar com Planos. Assim como uma reta, um plano pode ser especificado de diversas formas. A partir de uma nica equao, fazendo-se

obtemos

Como requerida a determinao das trs constantes, B1, C1 e D1, resulta que, para especificarmos um plano no espao 3D, necessitamos conhecer as coordenadas de trs pontos, no colineares, que pertenam a esse plano. Assim, dados

podemos encontrar a equao implcita do plano ao resolver o sistema de trs equaes com trs incgnitas,

Outra forma de encontrar a equao implcita de um plano a partir de um ponto contido neste plano e da direo perpendicular ao mesmo (Fig 6.5). Um vetor perpendicular a um plano chamado vetor normal. Sejam (nx, ny, nz) e (xp, yp zp), respectivamente, o vetor normal e as coordenadas de um ponto no plano.

Fig. 6.5 (a) Um vetor 3D; (b) A representao do vetor normal a um plano. Se (x,y,z) um ponto arbitrrio no plano, ento

um vetor tambm contido no plano (Fig 6.5b). Podemos deduzir a equao do plano, a partir do produto escalar entre dois vetores, sendo um deles contido no plano e outro normal a esse plano. Por definio, o produto escalar de dois vetores a soma dos produtos de suas componentes tomadas correspondentemente. Por exemplo, dados os vetores A e B,

ento, seu produto escalar Esse resultado igual ao produto dos comprimentos dos respectivos vetores, multiplicados pelo co-seno do ngulo formado entre eles.

Fig. 6.6 O ngulo entre dois vetores. Dado que o ngulo formado por um vetor contido em um plano e o vetor normal a esse plano 90 (/2 radianos) e que o cosseno de 90 igual a zero, temos que, o produto escalar entre o vetor normal e qualquer outro vetor contido no plano igualmente zero. Considerando que podemos definir um vetor no plano como sendo a diferena entre dois pontos quaisquer contidos no plano, vem que nx.(x-xp)+dy.(y-yp)+dz.(z-zp)=0. que uma equao verdadeira para qualquer ( x, y, z ) contido no Plano. Portanto, esta uma outra forma de equao implcita para o plano. Vimos duas formas de definir a equao implcita de um plano. Agora veremos como definir a equao paramtrica de um plano. Dados trs pontos P1=(x1,y1,z1), P2=(x2,y2,z2) e P3=(x3,y3,z3) do plano, definimos os vetores P2-P1 e P3-P1 (Fig 6.7). Um ponto P = (x,y,z) qualquer do plano pode ser gerado a partir da equao P = P1 + s.(P2-P1) + t.(P3-P1), onde s e t so nmeros reais. Esta equao forma trs outras equaes em x, em y e em z.

x=x1+s.(x2-x1) + t.(x3-x1) y=y1+s.(y2-y1) + t.(y3-y1) z=z1+s.(z2-z1) + t.(z3-z1)

Fig 6.7. Equaes paramtricas do plano.

Primitivas Grficas 3D

Uma vez que conhecemos os fundamentos geomtricos que nos permitem especificar pontos, linhas e planos em trs dimenses, vamos agora comear a pensar em como capacitar um sistema grfico, at ento 2D, a processar objetos definidos no espao 3D. Conforme observamos na fig. 6.7, existe uma rea de transio entre os espaos 2D e 3D, decorrente da necessidade de apresentarmos imagens em um dispositivo bi-dimensional, que a

unidade de vdeo. Observamos, tambm, que todo o processo de criao, desenvolvido no espao do usurio, passa a ser tri-dimensional.

Fig. 6.7 O processo de criao 3D e a representao 2D.

Algumas etapas e adaptaes necessrias para a implementao dos recursos 3D so em nosso sistema grfico: (1) - As estruturas de dados correspondentes s trs primitivas grficas fundamentais devero ser redefinidas para especificar entidades tri-dimensionais: Ponto : { ( x, y, z) } Linha : { P1 (x1, y1, z1) - P2 (x2, y2, z2) } Polgono: { P1 (x1, y1, z1) , P2 (x2, y2, z2) , P3 (x3, y3, z3) , ... , Pn (xn, yn, zn) } (2) As funes que definem o espao do usurio ) devem ser estendidas para o espao 3D. (3) As trs transformaes primitivas devem ser estendidas para o espao 3D: Translao(tx, ty, tz); Escala (sx, sy, sz); Rotao() em torno dos Eixos X, Y e Z . (4) Incluso de novas transformaes (de visualizao), necessrias para conduzir o objeto do espao 3D para o espao 2D.

Transformaes 3D

Uma vez criada a descrio de um objeto 3D, atravs de equaes ou de um arquivo (.txt), executamos transformaes geomtricas que nos permitem definir condies particulares de visualizao, ou seja, posio, tamanho e orientao do objeto. A cada posio particular do objeto, ou, a cada posio particular do observador, corresponde uma diferente visualizao do objeto. Por exemplo, para criar um elipside com raios 2, 3 e 4 nas direes X, Y e Z, respectivamente, centrada no ponto (5,3,6), podemos primeiro criar uma esfera de raio unitrio, centrada na origem, cuja equao relativamente simples (x2+y2+z2=1). Em seguida aplicamos as transformaes de escala nas direes X , Y e Z, com fatores 2, 3 e 4, respectivamente. Por ltimo aplicamos a translao para a posio (5,3,6) (Fig 6.8). Este processo equivale a definir o objeto em relao a um sistema de coordenadas local e em seguida aplicar transformaes, para defin-lo em relao ao sistema global.

Fig. 6.8 Definio de um elipsoide a partir da esfera x2 + y2 + z2=1.

Como visto no caso 2D, as transformaes se baseiam nas operaes de translao, escala e rotao. O que faremos, a partir de agora, estender essas operaes para o espao 3D. Estas Operaes primitivas, constituem o corao das aplicaes em Computao Grfica 3D, por isso, de suma importncia o seu entendimento. Duas importantes propriedades, presentes j nas transformaes 2D, permanecem vlidas: (1) Uma transformao pode ser representada por uma matriz.

(2) Transformaes complexas, reunindo uma seqncia de transformaes elementares, podem ser concatenadas de forma a produzir uma nica matriz de transformao que produzir o mesmo efeito das transformaes elementares. A representao das transformaes 2D, como matrizes 3 x 3, pode ser estendida para as transformaes 3D que so representadas por matrizes 4 x 4. Para isso, um ponto em coordenadas 3D, (x, y, z), representado em coordenadas homogneas como (Wx, Wy, Wz, W), onde W 0. O sistema de coordenadas 3D que usaremos em nosso estudo o sistema da mo direita. Quanto ao sentido das rotaes, convencionamos que so positivas, quando olhando da parte positiva de um eixo para a origem, uma rotao de 90 no sentido anti-horrio, coloca um semi-eixo positivo sobre outro tambm positivo.

Fig. 6.9 A conveno do sentido de rotao positivo. A translao em 3D uma simples extenso do caso 2D:

e portanto

A escala em 3D, da mesma forma, uma extenso do caso 2D:

e portanto

A rotao 3D em torno do eixo Z exatamente a rotao no caso 2D, ou seja, as coordenadas (z) permanecem inalteradas. Assim,

A rotao 3D em torno do eixo X :

A rotao 3D em torno do eixo Y :

Todas essas matrizes de transformao possuem suas Inversas. A inversa para T obtida pelo negativo de seus argumentos (-Dx, -Dy, -Dz); a Inversa para S obtida pelo recproco de seus argumentos (1/Sx, 1/Sy, 1/Sz) e, para cada uma das trs matrizes de rotao, a inversa para R obtida pelo negativo do ngulo de rotao (-). Como j citado, um nmero qualquer de matrizes, envolvendo rotao, escala e translao, pode ser concatenado, ou multiplicado. A matriz resultante ser sempre da forma

onde podemos observar que a sub-matriz (r) resume as operaes de rotao e escala, enquanto (t) as operaes de translao.

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