Sie sind auf Seite 1von 107

Computao Grfica

Contedo
Objetivo do Curso


Proporcionar o aprendizado de tcnicas e
conceitos bsicos de computao grfica
2D e 3D, para o desenvolvimento,
avaliao ou uso de aplicativos grficos.
Ementa
Introduo computao grafica
Hardware: arquiteturas de terminais grficos
Projetos de pacotes grficos
Padres
Interface Humano/Computador
Aspectos Geomtricos: grficos 2D e 3D
Aspectos Humanos:
. realismo na apresentao
. Intensidade e colorao
Modelos e hierarquia de objetos
Representao de superfcies 3D e de slidos
Uso de computador para projetos e ensaios de pacotes


Tpicos
Conceituao de computao grfica e reas de
aplicao
Dispositivos grficos e arquiteturas de terminais grficos
Conceituao de aplicativos grficos
Portabilidade e evoluo de bibliotecas grficas
Algoritmos de transformao de primitivas grficas 2D e
3D (coordenadas homogneas, rotao, translao,
escalamento, e projees)
Curvas Bezier e Spline
Biblioteca OpenGL para o desenvolvimento de grficos


Bibliografia
Foley,J.D.; van Dam,A.; Feiner,S.K.; Hughes,J.F.- Computer
Graphics Principles and Practice, 2.ed. Addison Wesley
Pub.Co.,USA, 1992
Hearn,D. & Baker, M.P. Computer Graphics, 2.ed. Prentice Hall,
NJ,1997
Gomes,J.& Velho, L. Computao Grfica Volume 1.IMPA, RJ,
1998
Jacobs, J.Q. Delphi Developers Guide to OpenGL. Wordware
Pub., Texas, 1999
Tori,R.; Arakaki,R.; Massola,A.M.A.; Filgueiras,L.V.L.
Fundamentos de Computao Grfica. LTC, RJ, 1987
Mason Woo, Jackie Neider, Tom Davis & Dave Shreiner OpenGL
Programming Guide, 3rd. Ed. Addison-Wesley, 1999.

Avaliao
Nota final = 0.5 x Prova + 0.5 x Trabalho

Prova: escrita, sobre a parte terica

Trabalho: criao, implementao e
visualizao de um grfico 3D com animao
- em grupo de no mximo 4 alunos
- apresentao do trabalho em sala de aula

Introduo
Computao grfica conjunto de algoritmos, tcnicas e
metodologias para o tratamento e a representao
grfica de informaes atravs da criao,
armazenamento e manipulao de desenhos, utilizando
computadores e perifricos grficos.
Em termos de aplicao, ela pode ser dividida nas
seguintes reas:
CAD (Computer Aided Design)
Grficos Ilustrativos
Arte por Computador
Entretenimento
Educao e Treinamento
Visualizao Cientfica



Interao com outras reas
Computao
Grfica
Outras ...
Fsica
Medicina
Psicologia
Artes
Matemtica
Eng.
Eletrnica
Conceito de Aplicativo Grfico
Aplicativo Grfico: um sistema composto de um ou mais programas, para a
gerao de uma determinada apresentao grfica que pode ser composta de
recursos 2D e/ou 3D e/ou imagem.
Data
Base
Application
Program
Metafile
Reader
Metafile
Device
Driver
Device
Driver
Metafile
Writer
Virtual
Device
Interface
Virtual
Device
Metafile
Current
Terminal
Future VDI
Terminal
Current
Plotter
Device - Independent
Graphics Package
Biblioteca Grfica
A biblioteca grfica contem as funes que o aplicativo aciona para a
gerao de primitivas grficas.
Portabilidade independncia em relao aos dispositivos grficos

Device Drivers comunicao da biblioteca grfica com os dispositivos

Exemplos de bibliotecas grficas: Core, Dore, XFDI, Starbase, GKS,
PHIGS, GL, OpenGL e DirectX

OpenGL evoluo do GL (Silicon Graphics)
- grandes produtores de software e hardware tem priorizado o
seu uso

DirectX suportada pela Microsoft

Conceitos de CAD
CAD (Computer Aided Design) - utilizar o computador para auxiliar nos
projetos tais como: edifcio, automvel, navio, espaonave,
eletrodomstico, tapete, roupa, etc.
So envolvidos conceitos de computao grfica, com recursos de interao,
tcnicas de grficos 2D ou 3D, rendering, animao, etc.

Os sistemas CAD podem funcionar de forma integrada aos sistemas CAM
(Computer Aided Manufacturing), quando os dados do projeto resultantes
do CAD podem ser incorporados no controle da fabricao do produto
com o auxlio do computador.

Atualmente os sistemas CAD/CAM sofisticados fazem parte de um conjunto
maior de programas denominado de sistema de Informao gerencial MIS
(Management Information System), cuja funo gerenciar todas as etapas
de produo, o que envolve controle de estoque, controle de mquinas de
montagem, controle de inspeo de qualidade, etc.

Dispositivos de Visualizao Grfica com o uso de
CRTs (Cathode Ray Tubes)
Antigamente, o modo de operao destes dispositivos era semelhante a um osciloscpio.
A exibio no CRT era feita na sequncia e posio dos pontos correspondentes s
primitivas grficas a serem exibidas.
Essas primitivas eram contidas numa memria denominada de Refresh Buffer .

Controlador
de Exibio
.
.
.
MOVE
10
15
LINE
400
300
.
.
.
Terminal
de Vdeo
CPU
Refresh
Buffer
Teclado
Mouse
Terminais de Vdeo Vetoriais
Devido a sequncia de traado de primitivas grficas ( na maioria - linhas) , os
primeiros terminais de vdeo foram chamados de terminais vetoriais.

Devido a persistncia luminosa do material que reveste a tela do tubo de raios
catdicos CRTs, a imagem se mantinha at o prximo ciclo de
redesenho.

Os refresh buffer continha os comandos de primitivas que indicavam ao
controlador de exibio onde traar as linhas.

Problemas: - o tempo de gerao de uma imagem completa proporcional ao
nmero de primitivas. Isso faz com que uma imagem complexa leva um
tempo excessivo para o prximo ciclo do redesenho, e a imagem comea a
piscar (flicker).
Fisiologia
necessria uma frequncia maior que 16 Hz para que o redesenho
possibilite sensao de continuidade de movimento, em animao.
Porm, para evitar a sensao tremeluzente (flicker) necessria uma
frequncia bem maior.

Nos filmes: a frequncia de quadros de 24 Hz, porm, cada quadro
iluminada duas vezes, dando uma sensao de 48 Hz para a
exibio.

Na televiso (brasileira/americana ): A frequncia de quadros
completos de 30 Hz, porm, cada quadro completo composto de
campo de linhas impares e de linhas pares, que so entrelaados,
dando uma sensao de 60 Hz para exibio.

Televiso europida: 25 Hz para quadro completo, 50 Hz para
campos.

Terminais de Vdeo por Varredura (Raster)
Frame Buffer
0
0
0
0
0
0
0
0 0 0 0 0 0 0
1
0
1
1
1
0
0 1
0
0
0
0
1
Controlador
de Vdeo
Terminal
Controlador
de Exibio
Teclado
Mouse
CPU
0
1
1
0
0
1
1 0
0
0
1
0
0
0
1
1
1
0
0
0
0
Arquitetura Simples
Frame Buffer na
Memria do Sistema
CPU
Memria
do Sistema
BUS
Monitor
Controlador
de Vdeo
Dispositivos
Perifricos
Arquitetura Comumente Usada
- Para animao importante a existncia de mais um
frame buffer (double buffer).
- Enquanto o controlador exibe o contedo de um frame
buffer, o contedo do outro atualizado pela CPU
CPU
Frame
Buffer
Memria
do Sistema
BUS
Monitor
Controlador
de Vdeo
Dispositivos
Perifricos
Arquitetura com uso do Processador Grfico
Processador Grfico:
- scan conversion determinao de endereo de memria de um pixel
- traado de primitivas grficas linhas, arcos, linhas com anti-aliasing,
rendering, etc.
CPU
Memria
do Sistema
BUS
Monitor
Controlador
de Vdeo
Dispositivos
Perifricos
Processador
Grfico
Frame
Buffer
Memria do
Processador
Grfico
Arquitetura
com Proces.
Grfico
Operao com tabela de cores (LUT - Look Up Table)
01000011
0 Xmax
0
Ymax
100110100001
0
255
67
Look-up Table
1001 1010 0001
Red Green Blue
Pixel -> 67
(x,y)
Frame
Buffer
Monitor
Pixel exibido
em (x,y)
Organizao da Look-Up
Table de um Terminal
Olho Humano
Retina:
- 6 a 7 milhes de cones sensveis a
nveis altos de luminosidade e cores

- 75 a 150 milhes de bastonetes
sensveis a nveis baixos de luminosidade

Percepo do olho humano:

- Terminais grficos de 1280 x 1024 pixels

- Para a transio suave de tons num
dgrad, sem distino das linhas da
mudaa de tons necessrio no mnimo
100 tons.

- Para satisfazer essa exigncia, os
terminais modernos permitem a exibio
simultnea de 128 ou 256 cores


Transformaes Afins
Uma transformao de coordenadas denominada uma transformao afim, se em:
x
y
z
a a a
a a a
a a a
x
y
z
b
b
b
/
/
/

(
(
(
=

(
(
(

(
(
(
+

(
(
(
11 12 13
21 22 23
31 32 33
1
2
3
' = +


v A v b
as coordenadas (x,y,z) do vetor v, que definem um ponto no espao, so uma
funo linear de (x,y,z) do vetor v, e a
ij
e b
i
so constantes que determinam a
transformao
Transformaes afins
Transformaes afins tem a funo de modificar a posio dos
pontos no espao, ou de objetos contidos no espao.

Tem a caracterstica de transformar linhas paralelas em linhas
paralelas e mapear pontos finitos em pontos finitos.

O grupo de transformaes afins do espao define a geometria
afim, que estuda as razes e propores entre objetos geomtricos.

Note-se que em geometria afim, paralelismo um conceito
importante, sendo relaes entre linhas paralelas uma parte
substancial da geometria e os teoremas da geometria afim so
idnticos aos da geometria euclidiana.

Rotao, translao, escalamento, espelhamento e cisalhamento
so exemplos de transformaes afins detalhados a seguir.
Translao de um ponto
z
y
x
. (x,y,z)
. (x',y',z')
b
v
v'
x'
y'
z'
=
1 0 0
0 1 0
0 0 1
x
y
z
+
b1
b2
b3
Translao
A translao
alterao da posio dos pontos atravs da soma do vetor de
deslocamento s suas coordenadas.

aplicada sobre todos os pontos da figura para a sua translao
no espao.

O exemplo clssico em computao grfica de aplicao desta
transformao a funo pan, disponvel em vrios sistemas
grficos.

Em termos de transformao afim, a translao
corresponde soma de um vetor de deslocamento b ao
vetor que define o ponto que se deseja deslocar.
Mudana de Escala (Scaling)
A Mudana de Escala corresponde multiplicao das
coordenadas de um ponto por valores iguais ou
distintos.
normalmente aplicada sobre todos os pontos de uma
figura com o objetivo de ampliar ou reduzir a sua
dimenso ou ento distorcer a sua forma geomtrica.
O uso clssico desta operao em computao grfica
a funo zoom in (ampliao) ou zoom out (reduo).
x'
y'
z'
=
e
x
0 0
0 e
y
0
0 0 e
z
x
y
z
Rotao
A rotao o giro de um determinado ngulo
de um ponto em torno de um ponto de
referncia, sem alterao da distncia entre
eles.

Esta operao aplicada normalmente sobre
todos os pontos de uma figura, o que
possibilita que ela seja rotacionada sem sofrer
deformao.
Rotao em torno do eixo z
z
y
x
|
o
P = (x,y,z)
P' = (x',y',z')
.
.
D
y
x
z
.
|
o
P = (x,y,z)
P' = (x',y',z')
.
.
x D
/
cos( ) = + o |

y D = sen( ) |

y D
/
sen( ) = + o |

) cos(| D x =
cos( ) cos( ) cos( ) sen( ) sen( ) a b b a b a + =
sin a b b a b a ( ) cos( ) sen( ) sen( ) cos( ) + = +
x x y
/
cos( ) sen( ) = o o
y x y
/
sen( ) cos( ) = + o o
x'
y'
z'
=
cos ( o ) - sen (o ) 0
sen (o) cos (o) 0
0 0 1
x
y
z
x D
/
cos( ) = + o | y D
/
sen( ) = + o |
Rotao em torno do eixo x
z
y
x
|
o
P = (x,y,z)
P' = (x',y',z')
.
.
D
z
y
x
.
|
o
P = (x,y,z)
P' = (x',y',z')
.
.
) cos(
/
| o + = D y

) (| Dsen z =

) (
/
| o + = Dsen z

) cos(| D y =
) ( ) cos(
/
o o zsen y y =
) cos( ) (
/
o o z ysen z + =
x'
y'
z'
=
0 sen ( o ) cos(o)
0 cos (o) -sen (o)
1 0 0
x
y
z
) cos(
/
| o + = D y ) (
/
| o + = Dsen z
Rotao em torno do eixo y
z
y
x
|
o
P = (x,y,z)
P' = (x',y',z')
.
.
D
x
z
y
.
|
o
P = (x,y,z)
P' = (x',y',z')
.
.
) (
/
| o + = Dsen x

) cos(| D z =

) cos(
/
| o + = D z

) (| Dsen x =
) ( ) cos(
/
o o zsen x x + =
) cos( ) (
/
o o z xsen z + =
x'
y'
z'
=
-sen ( o ) 0 cos(o)
cos (o) 0 sen (o)
0 1 0
x
y
z
) (
/
| o + = Dsen x ) cos(
/
| o + = D z
Rotao em torno de um eixo
genrico
A matriz de rotao em torno de um eixo genrico no complexa,
porm trabalhosa em termos de deduo, assim, ser apresentado
apenas a matriz MGR que permite esta operao.
Sendo N um vetor unitrio de coordenadas (x,y,z) e u o ngulo de
rotao, tem-se:
MGR
tx c txy sz txz sy
txy sz ty c tyz sx
txz sy tyz sx tz c
=
+ +
+ +
+ +

(
(
(
2
2
2

Onde:

x,y,z = coordenadas de N t = 1 - cos(u)
s = sin(u)
c = cos(u)
N
n

i
j

k
o
|

Q
P*
P
S
x, x*
y, y*
O
|
u
z, z*
Espelhamento
Uma operao bastante conhecida em
computao grfica o espelhamento, a
qual consiste em rotacionar um objeto
em torno de um eixo de tal maneira que
os pontos do objeto na posio original
e na rotacionada mantenham a mesma
distncia em relao a um linha de
referncia, caso bidimensional, ou a um
plano de referncia, caso tridimensional.
As figuras mostram o espelhamento de
um objeto:
a) em torno do eixo y em relao ao
plano xy e
b) em torno do eixo z em relao ao
plano xz.
z
y
x
z
y
x
Cisalhamento (shear)
Outra transformao afim importante de ser estudada o cisalhamento (shear), cujo
exemplo clssico para o sistema de coordenadas bidimensional que explica a sua
funo o da italizao de um caracter.
Neste caso, h uma variao no valor da coordenada x em funo do valor da y,
sendo MTS_1 a matriz de transformao correspondente.
Pode-se associar uma outra transformao a de cisalhamento, como, por exemplo,
o escalamento da coordenada y, conforme exemplificado em MTS_2.
A matriz MTS_3 ilustra o uso desta transformao para o caso tridimensional.
i_1 i_2 i_3
MTS_1 =
1
0 1
x
sh

(
MTS_2 =
1
0
x
y
sh
e

(
MTS_3 =
1 0
0 1
0 0 1
x
y
s
s

(
(
(
Exemplo de cisalhamento no caso 3D
z
y
x
z
y
x
Composio das transformaes
Uma importante questo que sempre deve ser considerada com
relao as transformaes afins se refere a sua composio.
Neste caso, a ordem em que elas so executadas pode alterar o
resultado final esperado.
Considere-se ento duas transformaes afins, uma somente de
rotao de 45 em torno do eixo z e outra somente de translao de
valor Ax ao longo do eixo x.
A aplicao primeiro da rotao e depois da translao tem
resultados distintos.
y
x
z
y
y
z
z
x x
Neste sentido, caso se deseje rotacionar um objeto no espao em
torno de um ponto interno a ele, deve se primeiramente deslocar o
centro de rotao (origem dos eixos) para este ponto, proceder a
rotao e posteriormente voltar o centro de rotao sua posio
inicial.
Note-se que isto equivale a deslocar o objeto para o centro de
coordenadas.
y
x
z
y
x
z
y
z
x
y
x
z
y
z
x
Projees
Projees Planares
Dado que a exibio de um objeto 3D em uma tela de
computador ou em uma folha de papel exige o
mapeamento de um sistema de coordenadas 3D em um
2D, operaes de projeo so requeridas. Em geral,
entende-se como projeo, o processo de mapear um
sistema de coordenadas de dimenso n em um de
dimenso menor ou igual a n-1.
O objetivo deste curso conceituar projees planares
(para um plano, 2D), apresentando a sua classificao e
formas algbricas de manipul-las. Com base nestes
conceitos, ser ilustrado o funcionamento do esquema
de transformaes em bibliotecas e sistemas grficos
que manipulam primitivas tridimensionais.
HISTRICO

2150 A.C. - desenho de planta de um prdio da cidade de Lagash na Mesopotmia.
500 AC. - o pintor Agatharchus foi o primeiro a usar perspectivas em larga escala e
escreveu um livro sobre pintura de cenas, o que inspirou os filsofos Anaxagoras e
Demcrito a escrever sobre perspectiva.
14 AC - primeira evidncia real do uso de desenhos para guiar edificaes foi
encontrado nos textos de Vitruvius, um arquiteto e engenheiro romano.
1300 - formalizao destas tcnicas surgiu na Renascena. Os pintores
Duccio, de A ltima Ceia, e Giotto empreenderam esforos no sentido de
representar a terceira dimenso atravs da perspectiva.
1400 - Filippo Brunelleschi foi o primeiro artista a desenvolver um sistema
matemtico para a perspectiva.
1435 - publicao do primeiro tratado sobre perspectiva, Della Pittura, por
Leone Battista Alberti. No mesmo perodo, a tcnica da perspectiva continuou a ser
aperfeioada por Piero della Francesca atravs do texto De Prospettiva Pingendi e
por Leonardo da Vinci que pintou a sua verso de A ltima Ceia.
1801 publicao do livro Geometrie Descriptive, de Gasparad Monge, um
desenhista de fortificaes militares francesas. Foi o primeiro a descrever de forma
organizada o uso de projees em engenharia, o que lhe valeu o ttulo de
pai da geometria descritiva.

As tcnicas de projees continuaram a ser estudadas e aperfeioadas e se
popularizaram entre profissionais e estudantes de engenharia, artes e
arquitetura.

Com o surgimento da computao grfica e com a popularizao de sistemas e
bibliotecas grficas, o nmero de interessados nas tcnicas de projees se
ampliou acentuadamente.

Geralmente, os usurios de sistemas ou bibliotecas grficas se deparam com
operaes relacionadas a posicionamento e especificao de cmeras, ou
ento, a ajuste de transformaes que permitam o correto posicionamento de
um objeto em uma cena.

Outro problema nesta mesma linha o transporte dos objetos criados em um
determinado sistema grfico para outro.




Projees em superfcies planares,
cilndricas e cnicas
Proj.
Planar
Proj.
Cilindrica
Proj.
Cnica
Projees em superfcies planares
Proj. Planares
Paralelas Perspectivas
Ortogrficas Oblquas
V. Lateral
V. Frontal
Planta
Axonomtricas
Isomtricas
Dimtricas
Trimtricas
Cabinet
Cavalier
Um-Ponto
Dois-Pontos
Trs-Pontos
Projees paralelas e perspectivas
As projees planares paralelas e perspectivas diferem com relao a
distncia do plano de projeo ao centro de projeo:
- se a distncia finita, a projeo perspectiva, e
- se a distncia infinita, a projeo paralela
A
B
A
B
Raios Projetores
C. de Projeo
no Infinito
C. de Projeo
no Finito
A
B
A
B
Projees planares paralelas
Projees planares paralelas so subclassificadas em ortogrficas e
oblquas dependendo da relao entre a direo dos raios projetores e a
normal ao plano de projeo.
- projees ortogrficas, as direes so as mesmas
(raios perpendiculares ao plano de projeo).
- projees oblquas, so diferentes.

(a) Ortogrfica (b) oblqua

N

N

r
Projees ortogrficas: vistas lateral, frontal e planta
As projees ortogrficas vista lateral, vista frontal e planta constituem as
projees normalmente utilizadas em desenho tcnico.
Os vetores normais aos planos de projeo coincidem com a direo dos eixos
cartesianos, e a direo dos raios de projeo.
Elas oferecem uma viso parcial do objeto, no entanto, mantm sem alterao
as relaes de dimenses e ngulos do objeto projetado. Estas projees so
geralmente utilizadas em conjunto, contando tambm com uma projeo
axonomtrica ou perspectiva.
Vista
Lateral
Vista
Frontal
Planta
Projees ortogrficas axonomtricas
As projees paralelas ortogrficas axonomtricas tem a direo dos
raios projetores e a normal ao plano de projeo coincidentes, porm
distintas da direo dos eixos cartesianos. Permitem a visualizao
de vrias faces paralelas aos planos cartesianos de uma nica vez.
Projees ortogrficas axonomtricas: dimtricas,
isomtricas e trimtricas
Projees axonomtricas distorcem os objetos, alterando as relaes de
ngulos e dimenses de lados dos objetos, no entanto, mantm as
relaes de paralelismo entre eles.

A alterao da dimenso dos lados relacionada com a alterao da
dimenso dos versores (vetores unitrios) em cada um dos eixos x, y e z,
quando projetados no plano.

Assim, projees axonomtricas se subdividem em:
dimtricas, quando dois versores variam a dimenso igualmente
quando projetados no plano;
isomtricas, quando trs versores variam na mesma proporo; e
trimtricas, os trs versores variam de forma diferenciada.
Exemplos de projees ortogrficas
axonomtricas
x
y
z
x
y
x
y
Dimtrica Isomtrica
Projees paralelas oblquas
As projees paralelas oblquas tem a direo da normal ao plano de
projeo distinta da direo dos raios projetores.
Projees paralelas oblquas: cavalier e cabinet
As projees paralelas oblquas se subdividem em cavalier e cabinet.
Na cabinet h um encolhimento na dimenso do versor perpendicular ao plano de
projeo para corrigir a iluso de que o objeto exibido maior na direo deste
versor.
Cavalier
Cabinet
Cavalier
Cabinet
Projees planares perspectivas
O efeito visual de uma projeo perspectiva bastante
realista, pois as dimenses de um objeto projetado
variam inversamente com relao ao centro de projeo,
o que est de acordo com o modo de funcionamento do
sistema visual humano.
Como as projees axonomtricas, elas permitem a
visualizao conjunta de vrias faces normais aos eixos
x, y, e z, de um objeto.
As projees perspectivas no so teis para
documentar precisamente as formas de um objeto, dado
que as dimenses e os ngulos dos seus lados podem
sofrer alteraes aps a projeo.
Em especial, pode haver perda do paralelismo entre as
linhas.
Projees perspectivas: ponto de fuga
Como a projeo perspectiva tem o centro de projeo localizado em
um ponto finito, ocorre uma distoro no objeto projetado que faz com
que qualquer conjunto de linhas que sejam paralelas ao plano de
projeo convirjam para um mesmo ponto denominado ponto-de-fuga.
O surgimento do ponto-de-fuga pode ser melhor compreendido
observando-se as figuras.
pXY pf
l_A
l_B
z
CP
p
RP
pXY
z
pf
A
B
RP1
RP2
CP
l_A
l_B
Na figura esquerda, um raio projetor parte do centro de projeo e
incide sobre um ponto p da linha l_A. Quando p tende ao infinito, o raio
projetor vai encontrar este ponto no infinito, o que significa que a linha
RP vai ficar paralela a linha l_A, cruzando, assim, o plano x sempre no
mesmo ponto pf. Nota-se que um ponto sobre a linha l_B, paralela a
linha l_A, vai ser alcanado no infinito de forma similar ao ponto sobre a
linha l_A, ou seja, o raio projetor corta o eixo x no mesmo ponto pf.

Quando o raio projetor incide sobre uma linha paralela ao eixo de
projeo, no tem ponto-de-fuga. A explicao para este caso simples.
Considere o ponto A da figura direita que est sobre a linha l_A,
paralela ao plano xy. Assim, quando A tender a infinito, o raio projetor
RP1 vai encontr-lo no infinito e, neste caso, estar paralelo ao plano xy,
o que evita o surgimento do ponto-de-fuga. Ao contrrio, o raio projetor
RP2 que incide sobre o ponto B sobre a linha l_B, perpendicular ao
plano xy, vai tender origem quando B tender a infinito. Neste caso, a
projeo perspectiva do retngulo vai apresentar apenas um ponto-de-
fuga.
Para que a projeo deste retngulo apresente mais de
um ponto-de-fuga basta rotacion-lo, o que faz com que
as suas linhas paralelas fiquem inclinadas em relao
ao plano xy.
pXY
z
pf_1 pf_2
A
B
CP
Para melhor se
compreender a relao
entre os pontos-de-fuga e o
centro de projeo, a figura
abaixo apresenta a forma
de se obter a projeo
perspectiva de um
paraleleppedo com lados
paralelos ao eixo x e centro
de projeo sobre o eixo z.
O objeto projetado do
sistema de coordenadas
3D xyz no sistema de
coordenadas 2D xy.
Dado que a dimenso dos
lados AB, CD, EF e GH no
so visveis, a dimenso
dos lados AB, CD, EF e
GH foram definidas
arbitrariamente.
y
CP
PF_1 PF_2
z
A,B
C,D
E,F
G,H
A
B
G
H
E
F
C
x
y
Tipos de projees perspectivas
Nota-se que cada conjunto de linhas paralelas no
espao pode ter associado um ponto-de-fuga. Assim,
com o objetivo de definir um critrio de classificao,
somente as linhas paralelas aos eixos so
consideradas.
Em funo do nmero de pontos-de-fuga associados s
linhas paralelas aos trs eixos cartesianos, as projees
perspetivas se subdividem em projees de um ponto-
de-fuga, de dois pontos-de-fuga e de trs pontos-de-
fuga.
Projees perspectivas de trs pontos-de-fuga so
usadas menos frequentemente, dado que elas
acrescentam pouco realismo ao j alcanado pelas
projees de dois pontos-de-fuga.
Projeo perspectiva com um
ponto de fuga
z
x
y y
x
Projeo perspectiva com dois
pontos de fuga
PF-1 PF-2
Projeo perspectiva com trs
pontos de fuga
PF-1
PF-2
PF-3
Coordenadas Homogneas
Uma transformao afim segue a forma:
(eq. 3.1)

Esta formulao , em termos de clculo, bastante inconveniente para se
determinar as coordenadas do vetor final, aps uma srie de transformaes de
um vetor inicial.
A formulao da equao 3.4 muito mais conveniente porque permite que o
clculo de mltiplas transformaes seja realizado calculando-se a matriz de
transformao resultante e aplicando-se esta matriz sobre o vetor (eq. 3.5).

(eq. 3.2)


(eq. 3.3)


(eq. 3.4)


(eq. 3.5)

' = +


v M v b
1 1 1


v M v b
= +
2 2 1 2 1 2


v M M v M b b
= + +
' =

v M v
'
=


v M M M v
n n 1 1
...
A soluo usual para este problema a alterao do espao de
coordenadas de dimenso 3 para 4, de forma controlada, de maneira
que a dimenso da matriz M se altere de 3x3 para 3x4 e, assim, ela
possa incorporar a transformao de translao (eq. 3.6).

Como inconveniente operar uma matriz no quadrada por no permitir,
por exemplo, o clculo da inversa, a matriz M
T
pode ser novamente
modificada pela insero de mais uma linha que no altere o resultado
final (eq. 3.7).

(eq. 3.6) (eq. 3.7)




M
T
=

'
'
'

(
(
(
(
=

(
(
(

(
(
(
(
=
+
+
+

(
(
(
(
x
y
z
l
m
n
x
y
z
x l
y m
z n
1
1
0
0
0
1
0
0
0
1
1 1
1 0 0
0 1 0
0 0 1
0 0 0 1
l
m
n

(
(
(
(
Considerando-se uma matriz M genrica de dimenso 4x4, quando ela
aplicada sobre o vetor , em coordenadas homogneas, gera o vetor

Para se calcular o vetor desejado, normaliza-se o vetor .


Assim, supondo-se , tem-se .





v *

v *
H= 0

' v

v M
x
y
z
X
Y
Z
H
* =

(
(
(
(
=

(
(
(
(
1

' =

(
(
(
(
v
X H
Y H
Z H
/
/
/
1
Neste contexto, uma propriedade interessante e bastante til das coordenadas
homogneas se refere a representao de um ponto no infinito.

Considere o ponto sobre o eixo x indicado pelo vetor e :













quando ,

v *

' v

v
A
H
* =

(
(
(
(
0
0

' =

(
(
(
(
v
A H /
0
0
1
H 0 A H /
A aplicao de uma matriz de transformao em coordenadas homogneas
resulta em um ponto no infinito quando o seu vetor posicional for do tipo
descrito a seguir.







Os pontos no infinito dos eixos x,y e z, seriam representados respectivamente
por:








Estes vetores infinitos sero, em especial, usados na determinao de pontos-
de-fuga no caso de projees planares perspectivas.

v *

v
A
B
C
* =

(
(
(
(
0

(
(
(
(
*

x
1
0
0
0

(
(
(
(
*

y
0
1
0
0

(
(
(
(
*

z
0
0
1
0
A matriz de transformao M de dimenso 4x4, pode ser particionada em 4
quatro partes:





onde

1x3: produz projeo perspectiva

1x1: produz escalamento global

3x3: produz uma transformao afim do tipo rotao e mudana de escala

3x1: produz translao

M
x x
x x
=

(
3 3 3 1
1 3 1 1
lgebra das projees planares paralelas
Para que as projees possam ser geradas em
computador necessrio se definir matrizes de
transformaes que, aplicadas ao conjunto de pontos de
um objeto tridimensional, permita a obteno da figura
projetada do objeto.

Assim, a seguir, para cada tipo de projeo sero
determinadas as matrizes de transformao.

Este captulo cobre a lgebra das projees planares
paralelas.

lgebra das Projees
Planares Paralelas
Ortogrficas
lgebra das Projees Paralelas Ortogrficas:
vista lateral, frontal e planta
As projees planares ortogrficas vista lateral, frontal e planta so obtidas
atravs de transformaes ortogonais, de acordo com as regras abaixo, e
projeo no plano xy atravs de raios projetores perpendiculares a este
plano.

vista lateral- rotao de -90 no eixo x, eliminao da coordenada z

vista frontal- rotao de -90 no eixo z, rotao de 90 no eixo x, e eliminao da
coordenada z

vista superior (planta)- rotao de -90 no eixo z, translao no eixo y no maior
valor na coordenada x, e eliminao da coordenada z .

A seguir detalhada a gerao da vista lateral. Assim, partindo-se da
equao de rotao em torno do eixo x,








determina-se a matriz de projeo da vista lateral Mp
vl








sendo u = -90 e considerando-se a projeo no plano xy, coincidente
com o plano xy.
X
R =

(
(
(
(
1 0 0 0
0 0
0 0
0 0 0 1
cos( ) sen( )
sen( ) cos( )
u u
u u
(
(
(
(

=
1 0 0 0
0 0 0 0
0 1 0 0
0 0 0 1
MPVL
lgebra das projees planares paralelas
ortogrficas axonomtricas
As projees vista lateral, frontal e planta permitem uma observao
parcial do objeto projetado, em especial, caso se observe apenas uma
delas, no possvel se conceber corretamente a forma do objeto.

Isso acontece principalmente quando as faces do objeto so
posicionadas paralelamente aos planos cartesianos xy, yz e xz.

De forma a solucionar este problema, usual a folha de projeto de um
objeto conter as projees vista lateral, frontal e planta, mais uma
projeo axonomtrica, a qual permite que se tenha uma viso mais
integrada do objeto.

As projees paralelas ortogrficas axonomtricas tem a direo de
projeo e a normal ao plano de projeo no coincidentes com a direo de
um dos eixos principais.
Isto equivalente a se rotacionar adequadamente o objeto e considerar a
direo de projeo e a normal ao plano de projeo coincidentes com a
direo de um dos eixos principais.
Nas projees axonomtricas h uma alterao da dimenso das faces do
objeto quando projetadas sobre o plano.
O tipo de rotao do objeto e as consideraes sobre a alterao das
dimenses permitem que se determine as matrizes de projeo.
Neste sentido, o clculo destas matrizes vai partir de uma rotao do objeto
em torno do eixo y e posteriormente do eixo x.


X Y
R R
=

(
(
(
(

(
(
(
(
1 0 0 0
0 0
0 0
0 0 0 1
0 0
0 1 0 0
0 0
0 0 0 1
cos( ) sen( )
sen( ) cos( )
cos( ) sen( )
sen( ) cos( )
u u
u u
| |
| |

Aplicando-se esta matriz sobre os vetores unitrios (1,0,0), (0,1,0) e
(0,0,1), versores nos eixos x, y, e z respectivamente, tem-se:


X Y
R R =

(
(
(
(
cos( ) sen( )
sen( ) sen( ) cos( ) cos( ) sen( )
sen( ) cos( ) sen( ) cos( ) cos( )
| |
| u u | u
| u u | u
0 0
0
0
0 0 0 1
X
X
X
X
X Y
u
x
y
z
R R

' =
'
'
'

(
(
(
(
=

(
(
(
(
=

(
(
(
(
1
1
0
0
1 1
cos( )
sen( ) sen( )
sen( ) cos( )
|
| u
| u
Y
Y
Y
Y
X Y
u
x
y
z
R R

' =
'
'
'

(
(
(
(
=

(
(
(
(
=

(
(
(
(
1
0
1
0
1
0
1
cos( )
sen( )
u
u
Z
Z
Z
Z
X Y
u
x
y
z
R R

' =
'
'
'

(
(
(
(
=

(
(
(
(
=

(
(
(
(
1
0
0
1
1 1
sen( )
cos( ) sen( )
cos( ) cos( )
|
| u
| u
Considerando-se apenas as componentes x e y dos versores
rotacionados, tem-se as projees destes vetores sobre os plano
xy.
De forma a se estipular condies para o encolhimento da
dimenso destes vetores, so calculados os seus mdulos, como
ilustrado a seguir.
Assim, para o caso da projeo do versor sobre o eixo x tem-se:





Similarmente, para os versores sobre os eixos y e z tem-se:

( ) ( )
XY
x
u
x
x
x
y

= ' +
'
2
2
XY
x
u

= + cos ( ) (sen ( )sen ( ))


2 2 2
| | u
XY
y
u

= cos( ) u
XY
z
u

= + (sen ( ) cos ( )sen ( )


2 2 2
| | u
Considerando-se que no momento da projeo de um objeto 3D sobre o
plano xy, ocorra um encolhimento por igual das coordenadas x e y dos
pontos deste objetos, tem-se:





Como da trigonometria tem-se a equao:



aplicando-se esta relao, tem-se:



e finalmente,

XY
x
XY
y
u u

=
cos ( ) sen ( ) sen ( ) cos ( )
2 2 2 2
| | u u + =
cos ( ) sen ( )
2 2
1 o o + =
sen ( ) sen ( ) sen ( ) sen ( )
2 2 2 2
| u | u =
sen ( ) sen ( ) / ( sen ( ))
2 2 2
1 | u u =
Uma maneira simples de se calcular os ngulos u e | considerar um
valor fixo para o encolhimento no eixo z. Assim, inicialmente ser suposto
que a dimenso do versor projetado ser 1/2, ou seja, encolher pela metade.
Logo, da equao


tem-se que




Aplicando-se a equao anteriormente obtida



e rearranjando, tem-se:


( ) sen ( ) cos ( )sen ( ) /
2 2 2
2
1 2 | | u + =
8 9 1 0
4 2
sen ( ) sen ( ) u u + =
XY
z
u

= + (sen ( ) cos ( )sen ( )


2 2 2
| | u
sen ( ) sen ( ) / ( sen ( ))
2 2 2
1 | u u =
Fazendo-se , tem-se:



Resolvendo-se essa equao, tem-se x=1/8 e x=1. A segunda
raiz invlida porque origina valor zero no denominador da
equao anteriormente obtida



Usando-se a primeira raiz tem-se:


e


x sen = ) (
2
u
8 9 1 0
2
x x + =
sen ( ) /
2
1 8 u =
sen ( ) /
2
1 7 | =
u = 20705 .

| = 22 208 .

sen ( ) sen ( ) / ( sen ( ))
2 2 2
1 | u u =
Desta maneira aplicando-se os valores obtidos, tem-se a seguinte
matriz:







que zerando os valores da coordenada z, tem-se a matriz de projeo
axonomtrica dimtrica:


X Y
R R =

(
(
(
(
0 925820 0 0 377964 0
0133631 0 935414 0 327321 0
0 353553 0 353553 0866025 0
0 0 0 1
. . .
. . .
. . .
. . .
D
MP =

(
(
(
(
0 925820 0 0 377964 0
0133631 0 935414 0 327321 0
0 0 0 0
0 0 0 1
. . .
. . .
. . .
. . .
A projeo isomtrica permite o encolhimento por igual de todas as
coordenadas. Logo:


Isso significa que , alm da equao


resultante de

tem-se a seguinte equao:


resultante de

o que resulta em:

e ,

Portanto e

XY
x
XY
y
XY
z
u u u

= =
sen ( ) cos ( ) sen ( ) cos ( )
2 2 2 2
| | u u + =
Projeo axonomtrica isomtrica
sen ( ) sen ( ) / ( sen ( ))
2 2 2
1 | u u =
u u
y x
XY
XY

=
u u
y z
XY
XY

=
sen ( ) ( sen ( )) / ( sen ( ))
2 2 2
1 2 1 | u u =
= sen ( ) sen ( )
2 2
1 2 u u sen ( ) /
2
1 3 u =
sen( ) / sen( ) / u | = = 1 3 1 2 u = 3526429 .

| = 450 .

Substituindo os valores, tem-se a matriz








que permite a projeo isomtrica, aps se zerar a coordenada z:



X Y
R R =

(
(
(
(
0 707107 0 0 707107 0
0 408248 0816597 0 408248 0
0577353 0577345 0577353 0
0 0 0 1
. . .
. . .
. . .
. . .
I
MP =

(
(
(
(
0 707107 0 0 707107 0
0 408248 0816597 0 408248 0
0 0 0 0
0 0 0 1
. . .
. . .
. . .
. . .
Um fato interessante advm da anlise do ngulo o que o versor no eixo
x faz com o eixo x, quando projetado no plano xy .
Tem-se:






Este resultado bem conhecido de desenhistas, pois com um esquadro
de 30 e 60 que eles desenham a projeo de um objeto em uma folha
de projeto.
X
u

(
cos( )
sen( )sen( )
|
| u
= tan( ) (sen( )sen( )) / cos( ) o | u |
tan( ) ( / / ) / / / o = = 1 2 1 3 1 2 3 3
Uma outra considerao importante sobre projees isomtricas se
refere ao fato que:

ou

ou

Logo, a projeo isomtrica pode ser estruturada de outras formas.
sen ( ) /
2
1 3 u =
u = 3526 .

u =144 74 .

2 / 1 ) (
2
= | sen

00 . 45 = |
| = 13500 .

I
I P
M
A B C D E F G H

(
(
(
(
(
(
1 1 1 1 0 0 0 0
0 1 1 2 0 0 1 1 2 0
0 0 1 1 0 0 1 1
1 1 1 1 1 1 1 1
/ /
Exemplo
A seguir esboado um exemplo de obteno de uma projeo
Axonomtrica de um objeto, cujos vrtices esto explicitados
atravs da matriz
I P

lgebra das Projees


Planares Paralelas Oblquas
As projees paralelas oblquas tem a direo
do plano de projeo distinta da direo dos
raios projetores.
As projees paralelas obliquas se subdividem
em cavalier e cabinet, sendo que na projeo
cabinet h uma distoro na dimenso do
versor perpendicular ao plano de projeo, em
geral, um encurtamento de 1/3 ou de 1/2.
Alm disto, em ambos os casos, o ngulo (o)
que este versor forma com o eixo x pode ser de
30 ou 45.
ngulo | formado pela linha P1-P1 com o plano xy - determina o grau de
encurtamento ou de dilatao da dimenso do versor ( |=45.0 no h
alterao de dimenso e se |=60 h um encurtamento pela metade ).

ngulo o formado pela projeo da linha P1-P1 com o eixo x - no tem
influncia sobre o tamanho do versor e o seu valor arbitrrio.
P z P d d 1 0 0 1
1
= ' = ( , , ) ( cos( ), sen( )) o o
P z P z z d z z d 2 0 0 2
2 2 1 2 1
= ' = ( , , ) (( / ) * )cos( ),(( / ) * )sen( )) o o
A generalizao da formulao para qualquer ponto pode tambm ser feita
facilmente. Assim, supondo-se z1 igual a 1 e z2 igual a z, tem-se:
P b z P z d b z d 2 0 2 = ' = + ( , , ) ( * cos( ), ( * )sen( )) o o
P a z P a z d z d 3 0 3 = ' = + ( , , ) ( ( * )cos( ),( * )sen( )) o o
d
Em representao matricial:






Para exemplificar a aplicao da matriz de projeo oblqua, seja d=1,
sem alterao da dimenso do versor, o que significa (|=45.0), e
o=45.0, o que define uma matriz de projeo obliqua cavalier.
'
'
'

(
(
(
(
=

(
(
(
(

(
(
(
(
=
+
+

(
(
(
(
x
y
z
d
d
x
y
z
x z d
y z d
1
1 0 0
0 1 0
0 0 0 0
0 0 0 1 1
0
1
cos( )
sen( )
(( * ) cos( ))
(( * ) sen( ))
o
o
o
o
O
M =

(
(
(
(
(
1 0 2 2 0
0 1 2 2 0
0 0 0 0
0 0 0 1
/
/
Exemplo:
O
M =

(
(
(
(
(
1 0 2 2 0
0 1 2 2 0
0 0 0 0
0 0 0 1
/
/
X
Y
Z
A
B
C
D
F
E
G
H
O
O P
M
A B C D E F G H

(
(
(
(
(
(
1 1 1 1 0 0 0 0
0 1 1 2 0 0 1 1 2 0
0 0 1 1 0 0 1 1
1 1 1 1 1 1 1 1
/ /
O
P
A B C D E F G H

=
+ +
+ +

(
(
(
(
(
(
1 1 2 2 2 2 2 2 0 0 2 2 2 2
0 1 1 2 2 2 2 0 1 1 2 2 2 2
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
( ) / ( ) / / /
( ) / / ( ) / /
A
D
C G
F
E
H
B
X'
Y'
lgebra das Projees Planares
Perspectivas
O ponto P (x,y,z) projetado no ponto P (x,y,0), contido no plano xy, a partir de
um centro de projeo localizado no ponto C (0,0,k).
Aplicando-se a semelhana de tringulos e considerando-se que a coordenada z
tem valor negativo obtm-se:
Z
X
Y
x'
y'
x
y
z
CP
k
P
P
' = + ' = + x k x z k x x z k / / ( ) / (( / ) ) 1
' = + ' = + y k y z k y y z k / / ( ) / (( / ) ) 1
X
Y
Z
H k
x
y
z
x
y
z
z k

(
(
(
(
=

(
(
(
(

(
(
(
(
=
+

(
(
(
(
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1 1 1 1 / ( / )
'
'
'

(
(
(
(
=

(
(
(
(
=
+
+
+

(
(
(
(
x
y
z
X H
Y H
Z H
x z k
y z k
z z k
1 1
1
1
1
1
/
/
/
/ (( / ) )
/ (( / ) )
/ (( / ) )

Quando se adota o plano xy como o plano de projeo, desconsidera-se o
valor de z.
Nota-se que nesta equao se , ento e , o que
origina uma projeo paralela, com raios projetores perpendiculares ao
plano de projeo xy.
Considerando-se x = at, y = bt e z = -ct, com a, b, e c maiores que zero:

e se tem-se:



O ponto (ka/c, kb/c, -k) constitui um ponto-de-fuga, dado que ele um ponto
finito para o qual converge a projeo de uma linha infinita. Dependendo do
valor de a, b e c, dado k fixo, infinitos pontos-de-fuga podem ser
determinados.
'
'
'

(
(
(
(
=
+
+
+

(
(
(
(
x
y
z
at ct k
bt ct k
ct ct k
1
1
1
1
1
/ (( / ) )
/ (( / ) )
/ (( / ) )
'
'
'

(
(
(
(
=

(
(
(
(
=
+
+
+

(
(
(
(
x
y
z
X H
Y H
Z H
x z k
y z k
z z k
1 1
1
1
1
1
/
/
/
/ (( / ) )
/ (( / ) )
/ (( / ) )
k ' x x
' y y
'
'
'

(
(
(
(
=

(
(
(
(
x
y
z
ka c
kb c
k
1 1
/
/
t
Em termos de classificao da projeo perspectiva interessa apenas os
pontos-de-fuga associados s linhas paralelas aos eixos cartesianos.
Assim, considere-se: , e que definem, respectivamente,
linhas paralelas aos eixos x, y e z.




cujas projees so obtidas por:







e quando resulta em:

v
at
b
c
v
a
bt
c
v
a
b
ct
1 2 3
1 1 1
=

(
(
(
(
=

(
(
(
(
=

(
(
(
(
, ,

v
1

v
2

v
3
t

' =
+
+
+

(
(
(
(
' =
+
+
+

(
(
(
(
' =
+
+
+

(
v
at c k
b c k
c c k
v
a c k
bt c k
c c k
v
a ct k
b ct k
ct ct k
1 2 3
1
1
1
1
1
1
1
1
1
1
1
1
/ (( / ) )
/ (( / ) )
/ (( / ) )
,
/ (( / ) )
/ (( / ) )
/ (( / ) )
,
/ (( / ) )
/ (( / ) )
/ (( / ) )
(
(
(

' =

(
(
(
(
' =

(
(
(
(
' =

(
(
(
(
v
B
C
v
A
C
v
k
1
1
1
2
2
2
3
1 1
0
0
1
Mesmo sendo B1, C1, A2 e C2 constantes finitas, e resultam em
pontos que no espao tendem ao infinito, ou seja, no h pontos-de-fuga
associados s linhas paralelas aos eixos x e y.
Este resultado esperado, pois e definem linhas perpendiculares ao
eixo z que contm o centro-de-projeo.
A transformao perspectiva de resulta em um ponto finito no espao, ou
seja, h ponto-de-fuga.









' =

(
(
(
(
' =

(
(
(
(
' =

(
(
(
(
v
B
C
v
A
C
v
k
1
1
1
2
2
2
3
1 1
0
0
1
'

v
1
'

v
2

v
1

v
2

v
3
x
y
z
a
b
c
v
1
v
2
v
3
Os pontos A e B so as projees no plano xy dos
pontos AB da linha A-B perpendicular ao plano de
projeo.

Nota-se que considerando a coordenada z, os pontos
A* e B* mostram como a transformao perspectiva
fora a convergncia dos pontos transformados para
o ponto-de-fuga.

Para t=0, resulta no ponto PI (a, b, 0), que o ponto
que a linha AB estendida intercepta o plano.

Os pontos A* e B* esto na linha PI-PF e, assim,
quando B, B*PF e B(0,0), o que faz com que
todos os pontos projetados no plano estejam na linha
limitada pelos pontos (a,b) e (0,0).
z
y
x
k
-k
PI
B*
A*
B
A
A
B
PF

Nota-se que estes mesmos resultados so obtidos quando se aplica a matriz de
transformao perspectiva sobre pontos infinitos:





Aplicando-se as equaes:





resulta em:
X
Y
Z
H k
x
y
z
x
y
z
z k

(
(
(
(
=

(
(
(
(

(
(
(
(
=
+

(
(
(
(
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1 1 1 1 / ( / )

v v v
1 2 3
1
0
0
0
0
1
0
0
0
0
1
0
=

(
(
(
(
=

(
(
(
(
=

(
(
(
(
, ,

' =

(
(
(
(
' =

(
(
(
(
' =

(
(
(
(
v v v
k
1 2 3
1
0
0
0
0
1
0
0
0
0
1
, ,
'
'
'

(
(
(
(
=

(
(
(
(
=
+
+
+

(
(
(
(
x
y
z
X H
Y H
Z H
x z k
y z k
z z k
1 1
1
1
1
1
/
/
/
/ (( / ) )
/ (( / ) )
/ (( / ) )
A certificao do nmero de pontos-de-fuga das matrizes obtida atravs
da aplicao dos pontos infinitos em coordenadas homogneas.
Assim, inicialmente, utilizando-se a matriz MTPxy e os pontos definidos
pelos vetores infinitos, tem-se:




Como foram gerados dois pontos-de-fuga, a matriz MTPxy uma matriz de
transformao perspectiva de dois pontos-de-fuga.
Similarmente, aplicando-se a matriz MTPxyz sobre os pontos no infinitos
tem-se:





Logo, a matriz MTPxyz uma matriz de transformao perspectiva de trs
pontos-de-fuga.

' =

(
(
(
(
' =

(
(
(
(
' =

(
(
(
(
v
r
v
s
v
1 2 3
0
0
1
0
0
1
0
0
1
0
, ,

' =

(
(
(
(
' =

(
(
(
(
' =

(
(
(
(
v
r
v
s
v
k
1 2 3
0
0
1
0
0
1
0
0
1
, ,
O objetivo primordial em se utilizar uma projeo perspectiva a obteno
de uma viso realstica de um objeto.
A simples aplicao da projeo perspectiva no garante este objetivo.
Por exemplo, a figura abaixo mostra o resultado de uma projeo
perspectiva com pontos-de-fuga (3,0,0) e (0,3,0).
Neste caso, a qualidade visual desta projeo deixa muito a desejar.
z
x
y
x
y
Uma maneira de resolver este problema utilizar a projeo perspectiva
associada s transformaes de mudana de escala e rotao.
A figura abaixo mostra uma nova viso do objeto quando ele rotacionado
em torno dos eixos x e y e posteriormente projetado atravs de uma matriz
de projeo perspectiva de dois pontos-de-fuga.
Neste caso, possvel se ter uma viso completa do objeto e dos pontos-de-
fuga.
Nota-se, em especial, como as linhas paralelas convergem para o mesmo
ponto-de-fuga aps a projeo.
PF-1 PF-2
Em termos de computao grfica, o foco de interesse a projeo
de um ponto no espao sobre o plano da tela.
Neste sentido, para ilustrar uma forma mais intuitiva de se obter as
equaes anteriores, ser deduzido a matriz de projeo
perspectiva a partir da considerao de que a tela do computador
est sobre o plano xy e que o centro de projeo (observador) est
fora deste plano e em alguma parte positiva do eixo z.
CP
P2
P1
x
y
z

Supondo-se conhecido P1 e CP, pode-se escrever a equao de
reta que passa por estes dois pontos:




Logo, o valor de u para P2, com coordenadas (x2,y2,0), :

Portanto,



e tem-se a matriz:




x x x x u
c c
= + ( )
1
y y y y u
c c
= + ( )
1
z z z z u
c c
= + ( )
1
CP
P2
P1
x
y
z
u z z z
c c
= / ( )
1
x x z x x z z
c c c c 2 1 1
= ( ) / ( )
y y z y y z z
c c c c 2 1 1
= ( ) / ( )
MP
z x
z y
z
c c
c c
c
=

(
(
(
(
0 0
0 0
0 0 0 0
0 0 1






Dividindo-se todos os elementos da matriz MP por um mesmo valor no se
altera o resultado da sua aplicao sobre um vetor em coordenadas
homogneas. Assim, dividindo-se todos os elementos por 1/zc tem-se:
MP
z x
z y
z
c c
c c
c
=

(
(
(
(
0 0
0 0
0 0 0 0
0 0 1
MP
x z
y z
z
c c
c c
c
=

(
(
(
(
1 0 0
0 1 0
0 0 0 0
0 0 1 1
/
/
/

Considerando-se xc e yc iguais a zero na MP , tem-se:





que a matriz de transformao perspectiva MTPz, deduzida
anteriormente, no caso do centro de projeo estar no ponto (0,0,zc).
MP
x z
y z
z
c c
c c
c
=

(
(
(
(
1 0 0
0 1 0
0 0 0 0
0 0 1 1
/
/
/
MP
z
c
=

(
(
(
(
1 0 0 0
0 1 0 0
0 0 0 0
0 0 1 1 /
A matriz MP gera apenas um ponto-de-fuga. Para a gerao de mais pontos-de-fuga
pode-se associar MP com matrizes de rotao.

Nota-se que, caso se rotacione um objeto possvel obter um nmero maior de
pontos-de-fuga. Assim, fazendo-se a multiplicao da matriz MP pela matriz
RxRy







tem-se a equao:








MPR
xc zc xc zc xc zc
yc zc yc zc yc zc
zc zc zc
=
+
+

(
(
(
(
(
cos( ) ( / ) sen( ) cos( ) ( / ) sen( ) sen( ) ( / ) cos( ) cos( )
sen( ) sen( ) ( / ) sen( ) cos( ) cos( ) ( / ) sen( ) cos( ) sen( ) ( / ) cos( ) cos( )
( / ) sen( ) cos( ) ( / ) sen( ) ( / ) cos( ) cos( )
| | u u | | u
| u | u u u | u | u
| u u | u
0
0
0 0 0 0
1 1 1 1
X Y
R R =

(
(
(
(

(
(
(
(
1 0 0 0
0 0
0 0
0 0 0 1
0 0
0 1 0 0
0 0
0 0 0 1
cos( ) sen( )
sen( ) cos( )
cos( ) sen( )
sen( ) cos( )
u u
u u
| |
| |
X Y
R R =

(
(
(
(
cos( ) sen( )
sen( ) sen( ) cos( ) cos( ) sen( )
sen( ) cos( ) sen( ) cos( ) cos( )
| |
| u u | u
| u u | u
0 0
0
0
0 0 0 1
Supondo-se zc, sen(|), sen(u), cos(|), cos(u) diferentes de zero,
deriva-se os seguintes pontos-de-fuga:












Assim, utilizando-se a matriz MPR tem-se o controle simultneo do
centro de projeo e dos pontos-de-fuga.
Esta matriz pode ser modificada para incorporar rotaes no eixo z.
PFx
x z
y z
c c
c c
=
+
+

(
(cos( ) / (sen( ) cos( )))
(sen( ) / cos( ))
| | u
u u
PFy
x
y z
c
c c
=

(
(cos( ) / sen( )) u u
PFz
x z
y z
c c
c c
=

+

(
(sen( ) / (cos( ) cos( )))
(sen( ) / cos( ))
| | u
u u

Das könnte Ihnen auch gefallen