Computação Gráfica Conteúdo. Objetivo do Curso Proporcionar o aprendizado de técnicas e...

Preview:

Citation preview

Computação Gráfica

Conteúdo

Objetivo do Curso

• Proporcionar o aprendizado de técnicas e conceitos básicos de computação gráfica 2D e 3D, para o desenvolvimento, avaliação ou uso de aplicativos gráficos.

Ementa• Introdução à computação grafica• Hardware: arquiteturas de terminais gráficos• Projetos de pacotes gráficos• Padrões• Interface Humano/Computador• Aspectos Geométricos: gráficos 2D e 3D• Aspectos Humanos: . realismo na apresentação . Intensidade e coloração• Modelos e hierarquia de objetos• Representação de superfícies 3D e de sólidos• Uso de computador para projetos e ensaios de pacotes

Tópicos

• Conceituação de computação gráfica e áreas de aplicação

• Dispositivos gráficos e arquiteturas de terminais gráficos• Conceituação de aplicativos gráficos• Portabilidade e evolução de bibliotecas gráficas • Algoritmos de transformação de primitivas gráficas 2D e

3D (coordenadas homogêneas, rotação, translação, escalamento, e projeções)

• Curvas Bezier e Spline• Biblioteca OpenGL para o desenvolvimento de gráficos

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. – Computação Gráfica – Volume 1.IMPA, RJ, 1998

• Jacobs, J.Q. – Delphi Developer’s Guide to OpenGL. Wordware Pub., Texas, 1999

• Tori,R.; Arakaki,R.; Massola,A.M.A.; Filgueiras,L.V.L. – Fundamentos de Computação Gráfica. LTC, RJ, 1987

• Mason Woo, Jackie Neider, Tom Davis & Dave Shreiner – OpenGL Programming Guide, 3rd. Ed. Addison-Wesley, 1999.

Avaliação

• Nota final = 0.5 x Prova + 0.5 x Trabalho

Prova: escrita, sobre a parte teórica

Trabalho: criação, implementação e visualização de um gráfico 3D com animação

- em grupo de no máximo 4 alunos - apresentação do trabalho em sala de aula

Introdução

• Computação gráfica – conjunto de algoritmos, técnicas e metodologias para o tratamento e a representação gráfica de informações através da criação, armazenamento e manipulação de desenhos, utilizando computadores e periféricos gráficos.

• Em termos de aplicação, ela pode ser dividida nas seguintes áreas:– CAD (Computer Aided Design)– Gráficos Ilustrativos – Arte por Computador– Entretenimento– Educação e Treinamento– Visualização Científica

Interação com outras áreas

ComputaçãoGráfica

Outras ...

Física

Medicina

Psicologia

Artes

Matemática

Eng.Eletrônica

Conceito de Aplicativo GráficoAplicativo Gráfico: um sistema composto de um ou mais programas, para a geração de uma determinada apresentação gráfica que pode ser composta de recursos 2D e/ou 3D e/ou imagem.

DataBase

ApplicationProgram

MetafileReader

Metafile

DeviceDriver

DeviceDriver

MetafileWriter

VirtualDevice

Interface

VirtualDeviceMetafile

CurrentTerminal

Future “VDI”Terminal

CurrentPlotter

Device - IndependentGraphics Package

Biblioteca GráficaA biblioteca gráfica contem as funções que o aplicativo aciona para a

geração de primitivas gráficas.

Portabilidade – independência em relação aos dispositivos gráficos

Device Drivers – comunicação da biblioteca gráfica com os dispositivos

Exemplos de bibliotecas gráficas: Core, Dore, XFDI, Starbase, GKS, PHIGS, GL, OpenGL e DirectX

OpenGL – evolução do GL (Silicon Graphics)

- grandes produtores de software e hardware tem priorizado o

seu uso

DirectX – suportada pela Microsoft

Conceitos de CADCAD (Computer Aided Design) - utilizar o computador para auxiliar nos

projetos tais como: edifício, automóvel, navio, espaçonave, eletrodoméstico, tapete, roupa, etc.

São envolvidos conceitos de computação gráfica, com recursos de interação, técnicas de gráficos 2D ou 3D, rendering, animação, 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 fabricação do produto com o auxílio do computador.

Atualmente os sistemas CAD/CAM sofisticados fazem parte de um conjunto maior de programas denominado de sistema de Informação gerencial MIS (Management Information System), cuja função é gerenciar todas as etapas de produção, o que envolve controle de estoque, controle de máquinas de montagem, controle de inspeção de qualidade, etc.

Dispositivos de Visualização Gráfica com o uso de CRTs (Cathode Ray Tubes)

Antigamente, o modo de operação destes dispositivos era semelhante a um osciloscópio. A exibição no CRT era feita na sequência e posição dos pontos correspondentes às

primitivas gráficas a serem exibidas. Essas primitivas eram contidas numa memória denominada de Refresh Buffer .

Controladorde Exibição

.

.

.MOVE1015LINE400300...

Terminalde Vídeo

CPU

RefreshBuffer

TecladoMouse

Terminais de Vídeo VetoriaisDevido a sequência de traçado de primitivas gráficas ( na maioria - linhas) , os

primeiros terminais de vídeo foram chamados de terminais vetoriais.

Devido a persistência luminosa do material que reveste a tela do tubo de raios catódicos – CRTs, a imagem se mantinha até o próximo ciclo de redesenho.

Os refresh buffer continha os comandos de primitivas que indicavam ao controlador de exibição onde traçar as linhas.

Problemas: - o tempo de geração de uma imagem completa é proporcional ao número de primitivas. Isso faz com que uma imagem complexa leva um tempo excessivo para o próximo ciclo do redesenho, e a imagem começa a piscar (flicker).

FisiologiaÉ necessária uma frequência maior que 16 Hz para que o redesenho

possibilite sensação de continuidade de movimento, em animação.Porém, para evitar a sensação tremeluzente (flicker) é necessária uma

frequência bem maior.

Nos filmes: a frequência de quadros é de 24 Hz, porém, cada quadro é iluminada duas vezes, dando uma sensação de 48 Hz para a exibição.

Na televisão (brasileira/americana ): A frequência de quadros completos é de 30 Hz, porém, cada quadro completo é composto de campo de linhas impares e de linhas pares, que são entrelaçados, dando uma sensação de 60 Hz para exibição.

Televisão européida: 25 Hz para quadro completo, 50 Hz para campos.

Terminais de Vídeo 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

01

Controladorde Vídeo

Terminal

Controladorde Exibição

TecladoMouse

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 Memória do Sistema

CPU

Memóriado Sistema

BUS

MonitorControladorde Vídeo

DispositivosPeriféricos

Arquitetura Comumente Usada

- Para animação é importante a existência de mais um frame buffer (double buffer).

- Enquanto o controlador exibe o conteúdo de um frame buffer, o conteúdo do outro é atualizado pela CPU

CPU

FrameBuffer

Memóriado Sistema

BUS

MonitorControladorde Vídeo

DispositivosPeriféricos

Arquitetura com uso do Processador Gráfico

Processador Gráfico: - scan conversion – determinação de endereço de memória de um pixel

- traçado de primitivas gráficas – linhas, arcos, linhas com anti-aliasing, rendering, etc.

CPU

Memóriado Sistema

BUS

MonitorControladorde Vídeo

DispositivosPeriféricos

ProcessadorGráfico

FrameBuffer

Memória doProcessadorGráfico

Arquiteturacom Proces.Gráfico

Operação com tabela de cores (LUT - Look Up Table)

01000011

0 Xmax0

Ymax

100110100001

0

255

67

Look-up Table

1001 1010 0001

Red Green Blue

Pixel -> 67(x’,y’)

FrameBuffer

Monitor

Pixel exibidoem (x’,y’)

Organização da Look-UpTable de um Terminal

Olho Humano

Retina: - 6 a 7 milhões de cones – sensíveis a níveis altos de luminosidade e cores

- 75 a 150 milhões de bastonetes – sensíveis a níveis baixos de luminosidade

Percepção do olho humano:

- Terminais gráficos de 1280 x 1024 pixels

- Para a transição suave de tons num dégradé, sem distinção das linhas da mudaça de tons é necessário no mínimo 100 tons.

- Para satisfazer essa exigência, os terminais modernos permitem a exibição simultânea de 128 ou 256 cores

Transformações Afins

• Uma transformação de coordenadas é denominada uma transformação 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 espaço, são uma

função linear de (x,y,z) do vetor v, e aij e bi são constantes que determinam a

transformação

Transformações afins• Transformações afins tem a função de modificar a posição dos

pontos no espaço, ou de objetos contidos no espaço.

• Tem a característica de transformar linhas paralelas em linhas paralelas e mapear pontos finitos em pontos finitos.

• O grupo de transformações afins do espaço define a geometria afim, que estuda as razões e proporções entre objetos geométricos.

• Note-se que em geometria afim, paralelismo é um conceito importante, sendo relações entre linhas paralelas uma parte substancial da geometria e os teoremas da geometria afim são idênticos aos da geometria euclidiana.

• Rotação, translação, escalamento, espelhamento e cisalhamento são exemplos de transformações afins detalhados a seguir.

Translação de um pontoz

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

Translação

• A translação – alteração da posição dos pontos através da soma do vetor de

deslocamento às suas coordenadas.

É aplicada sobre todos os pontos da figura para a sua translação no espaço.

O exemplo clássico em computação gráfica de aplicação desta transformação é a função pan, disponível em vários sistemas gráficos.

• Em termos de transformação afim, a translação corresponde à soma de um vetor de deslocamento b ao vetor que define o ponto que se deseja deslocar.

Mudança de Escala (Scaling)

A Mudança de Escala corresponde à multiplicação 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 dimensão ou então distorcer a sua forma geométrica.

O uso clássico desta operação em computação gráfica é a função zoom in (ampliação) ou zoom out (redução).

x'

y'

z'

=

ex 0 0

0 ey 0

0 0 ez

x

y

z

Rotação

• A rotação é o giro de um determinado ângulo de um ponto em torno de um ponto de referência, sem alteração da distância entre eles.

• Esta operação é aplicada normalmente sobre todos os pontos de uma figura, o que possibilita que ela seja rotacionada sem sofrer deformação.

Rotação em torno do eixo zz

y

x

P = (x,y,z)

P' = (x',y',z')

..D

y

xz .

P = (x,y,z)

P' = (x',y',z')..

x D/ cos( )

y D sen( )

y D/ sen( )

)cos(Dx

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( )

y x y/ sen( ) cos( )

x'

y'

z'

=

cos ( ) - sen () 0

sen () cos () 0

0 0 1

x

y

z

x D/ cos( ) y D/ sen( )

Rotação em torno do eixo xz

y

x

P = (x,y,z)

P' = (x',y',z')..D

z

yx .

P = (x,y,z)

P' = (x',y',z')..

)cos(/ Dy

)(Dsenz

)(/ Dsenz

)cos(Dy

)()cos(/ zsenyy

)cos()(/ zysenz

x'

y'

z'

=

0 sen ( ) cos()

0 cos () -sen ()

1 0 0 x

y

z

)cos(/ Dy )(/ Dsenz

Rotação em torno do eixo yz

y

x

P = (x,y,z)

P' = (x',y',z')

.

.D

x

zy .

P = (x,y,z)

P' = (x',y',z')..

)(/ Dsenx

)cos(Dz

)cos(/ Dz

)(Dsenx

)()cos(/ zsenxx

)cos()(/ zxsenz

x'

y'

z'

=

-sen ( ) 0 cos()

cos () 0 sen ( )

0 1 0

x

y

z

)(/ Dsenx )cos(/ Dz

Rotação em torno de um eixo genérico

• A matriz de rotação em torno de um eixo genérico não é complexa, porém trabalhosa em termos de dedução, assim, será apresentado apenas a matriz MGR que permite esta operação.

• Sendo N um vetor unitário de coordenadas (x,y,z) e o ângulo de rotação, 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() s = sin() c = cos()

Nn

i

j

k

Q

P*P

S

x, x*

y, y*

O

z, z*

Espelhamento• Uma operação bastante conhecida em

computação gráfica é o espelhamento, a qual consiste em rotacionar um objeto em torno de um eixo de tal maneira que os pontos do objeto na posição original e na rotacionada mantenham a mesma distância em relação a um linha de referência, caso bidimensional, ou a um plano de referência, caso tridimensional.

• As figuras mostram o espelhamento de um objeto:

a) em torno do eixo y em relação ao plano xy e

b) em torno do eixo z em relação ao plano xz.

z

y

x

z

y

x

Cisalhamento (shear)• Outra transformação afim importante de ser estudada é o cisalhamento (shear), cujo

exemplo clássico para o sistema de coordenadas bidimensional que explica a sua função é o da italização de um caracter.

• Neste caso, há uma variação no valor da coordenada x em função do valor da y, sendo MTS_1 a matriz de transformação correspondente.

• Pode-se associar uma outra transformação a de cisalhamento, como, por exemplo, o escalamento da coordenada y, conforme exemplificado em MTS_2.

• A matriz MTS_3 ilustra o uso desta transformação para o caso tridimensional.

i_1 i_2 i_3

MTS_1 =

1

0 1xsh

MTS_2 =

1

0x

y

she

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

Composição das transformações• Uma importante questão que sempre deve ser considerada com

relação as transformações afins se refere a sua composição. • Neste caso, a ordem em que elas são executadas pode alterar o

resultado final esperado. • Considere-se então duas transformações afins, uma somente de

rotação de 45 em torno do eixo z e outra somente de translação de valor x ao longo do eixo x.

• A aplicação primeiro da rotação e depois da translação tem resultados distintos.

y

x

z

y y

zz

x x

• Neste sentido, caso se deseje rotacionar um objeto no espaço em torno de um ponto interno a ele, deve se primeiramente deslocar o centro de rotação (origem dos eixos) para este ponto, proceder a rotação e posteriormente voltar o centro de rotação à sua posição 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

Projeções

Projeções Planares

• Dado que a exibição 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, operações de projeção são requeridas. Em geral, entende-se como projeção, o processo de mapear um sistema de coordenadas de dimensão “n” em um de dimensão menor ou igual a “n-1”.

• O objetivo deste curso é conceituar projeções planares (para um plano, 2D), apresentando a sua classificação e formas algébricas de manipulá-las. Com base nestes conceitos, será ilustrado o funcionamento do esquema de transformações em bibliotecas e sistemas gráficos que manipulam primitivas tridimensionais.

HISTÓRICO

2150 A.C. - desenho de planta de um prédio da cidade de Lagash na Mesopotâmia.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 filósofos Anaxagoras e Demócrito a escrever sobre perspectiva.14 AC - primeira evidência real do uso de desenhos para guiar edificações foi encontrado nos textos de Vitruvius, um arquiteto e engenheiro romano.1300 - formalização destas técnicas surgiu na Renascença. Os pintores Duccio, de “A Última Ceia”, e Giotto empreenderam esforços no sentido de representar a terceira dimensão através da perspectiva. 1400 - Filippo Brunelleschi foi o primeiro artista a desenvolver um sistema matemático para a perspectiva. 1435 - publicação do primeiro tratado sobre perspectiva, Della Pittura, por Leone Battista Alberti. No mesmo período, a técnica da perspectiva continuou a seraperfeiçoada por Piero della Francesca através do texto De Prospettiva Pingendi e por Leonardo da Vinci que pintou a sua versão de “A Última Ceia”.1801 – publicação do livro Geometrie Descriptive, de Gasparad Monge, um desenhista de fortificações militares francesas. Foi o primeiro a descrever de forma organizada o uso de projeções em engenharia, o que lhe valeu o título de “pai da geometria descritiva”.

As técnicas de projeções continuaram a ser estudadas e aperfeiçoadas e se popularizaram entre profissionais e estudantes de engenharia, artes e arquitetura.

Com o surgimento da computação gráfica e com a popularização de sistemas e bibliotecas gráficas, o número de interessados nas técnicas de projeções se ampliou acentuadamente.

Geralmente, os usuários de sistemas ou bibliotecas gráficas se deparam com operações relacionadas a posicionamento e especificação de câmeras, ou então, a ajuste de transformações 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 gráfico para outro.

Projeções em superfícies planares, cilíndricas e cônicas

Proj.Planar

Proj.Cilindrica

Proj.Cônica

Projeções em superfícies planares

Proj. Planares

Paralelas Perspectivas

Ortográficas Oblíquas

V. Lateral

V. Frontal

Planta

Axonométricas

IsométricasDimétricasTrimétricas

Cabinet

Cavalier

Um-Ponto

Dois-Pontos

Três-Pontos

Projeções paralelas e perspectivasAs projeções planares paralelas e perspectivas diferem com relação a

distância do plano de projeção ao centro de projeção:

- se a distância é finita, a projeção é perspectiva, e

- se a distância é infinita, a projeção é paralela

A’

B’

A

B

Raios Projetores

C. de Projeçãono Infinito

C. de Projeçãono Finito

A’

B’

A

B

Projeções planares paralelas• Projeções planares paralelas são subclassificadas em ortográficas e

oblíquas dependendo da relação entre a direção dos raios projetores e a normal ao plano de projeção. - projeções ortográficas, as direções são as mesmas (raios perpendiculares ao plano de projeção). - projeções oblíquas, são diferentes.

(a) Ortográfica (b) oblíqua

N

N

rr

Projeções ortográficas: vistas lateral, frontal e planta

• As projeções ortográficas vista lateral, vista frontal e planta constituem as projeções normalmente utilizadas em desenho técnico.

• Os vetores normais aos planos de projeção coincidem com a direção dos eixos cartesianos, e a direção dos raios de projeção.

• Elas oferecem uma visão parcial do objeto, no entanto, mantém sem alteração as relações de dimensões e ângulos do objeto projetado. Estas projeções são geralmente utilizadas em conjunto, contando também com uma projeção axonométrica ou perspectiva.

VistaLateral

VistaFrontal

Planta

Projeções ortográficas axonométricas• As projeções paralelas ortográficas axonométricas tem a direção dos

raios projetores e a normal ao plano de projeção coincidentes, porém distintas da direção dos eixos cartesianos. Permitem a visualização de várias faces paralelas aos planos cartesianos de uma única vez.

Projeções ortográficas axonométricas: dimétricas, isométricas e trimétricas

• Projeções axonométricas distorcem os objetos, alterando as relações de ângulos e dimensões de lados dos objetos, no entanto, mantém as relações de paralelismo entre eles.

• A alteração da dimensão dos lados é relacionada com a alteração da dimensão dos versores (vetores unitários) em cada um dos eixos x, y e z, quando projetados no plano.

• Assim, projeções axonométricas se subdividem em: dimétricas, quando dois versores variam a dimensão igualmente

quando projetados no plano; isométricas, quando três versores variam na mesma proporção; e trimétricas, os três versores variam de forma diferenciada.

Exemplos de projeções ortográficas axonométricas

x

y

z

x’

y’

x’

y’

Dimétrica Isométrica

Projeções paralelas oblíquas• As projeções paralelas oblíquas tem a direção da normal ao plano de

projeção distinta da direção dos raios projetores.

Projeções paralelas oblíquas: cavalier e cabinetAs projeções paralelas oblíquas se subdividem em cavalier e cabinet.

Na cabinet há um encolhimento na dimensão do versor perpendicular ao plano de projeção para corrigir a ilusão de que o objeto exibido é maior na direção deste versor.

CavalierCabinet

CavalierCabinet

Projeções planares perspectivas

• O efeito visual de uma projeção perspectiva é bastante realista, pois as dimensões de um objeto projetado variam inversamente com relação ao centro de projeção, o que está de acordo com o modo de funcionamento do sistema visual humano.

• Como as projeções axonométricas, elas permitem a visualização conjunta de várias faces normais aos eixos x, y, e z, de um objeto.

• As projeções perspectivas não são úteis para documentar precisamente as formas de um objeto, dado que as dimensões e os ângulos dos seus lados podem sofrer alterações após a projeção.

• Em especial, pode haver perda do paralelismo entre as linhas.

Projeções perspectivas: ponto de fuga• Como a projeção perspectiva tem o centro de projeção localizado em

um ponto finito, ocorre uma distorção no objeto projetado que faz com que qualquer conjunto de linhas que sejam paralelas ao plano de projeção convirjam para um mesmo ponto denominado ponto-de-fuga. O surgimento do ponto-de-fuga pode ser melhor compreendido observando-se as figuras.

pXYpf

l_A

l_B

z

CP

pRP

pXY

z

pf

A

B

RP1RP2

CP

l_A

l_B

• Na figura à esquerda, um raio projetor parte do centro de projeção 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 alcançado 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 projeção, não tem ponto-de-fuga. A explicação 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 contrário, 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 projeção perspectiva do retângulo vai apresentar apenas um ponto-de-fuga.

• Para que a projeção deste retângulo apresente mais de um ponto-de-fuga basta rotacioná-lo, o que faz com que as suas linhas paralelas fiquem inclinadas em relação ao plano xy.

pXY

z

pf_1pf_2

AB

CP

• Para melhor se compreender a relação entre os pontos-de-fuga e o centro de projeção, a figura abaixo apresenta a forma de se obter a projeção perspectiva de um paralelepípedo com lados paralelos ao eixo x e centro de projeção sobre o eixo z.

• O objeto é projetado do sistema de coordenadas 3D xyz no sistema de coordenadas 2D x’y’.

• Dado que a dimensão dos lados AB, CD, EF e GH não são visíveis, a dimensão dos lados A’B’, C’D’, E’F’ e G’H’ 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 projeções perspectivas

• Nota-se que cada conjunto de linhas paralelas no espaço pode ter associado um ponto-de-fuga. Assim, com o objetivo de definir um critério de classificação, somente as linhas paralelas aos eixos são consideradas.

• Em função do número de pontos-de-fuga associados às linhas paralelas aos três eixos cartesianos, as projeções perspetivas se subdividem em projeções de um ponto-de-fuga, de dois pontos-de-fuga e de três pontos-de-fuga.

• Projeções perspectivas de três pontos-de-fuga são usadas menos frequentemente, dado que elas acrescentam pouco realismo ao já alcançado pelas projeções de dois pontos-de-fuga.

Projeção perspectiva com um ponto de fuga

z

x

y y

x

Projeção perspectiva com dois pontos de fuga

PF-1 PF-2

Projeção perspectiva com três pontos de fuga

PF-1

PF-2

PF-3

Coordenadas Homogêneas

Uma transformação afim segue a forma:(eq. 3.1)

Esta formulação é, em termos de cálculo, bastante inconveniente para se determinar as coordenadas do vetor final, após uma série de transformações de um vetor inicial. A formulação da equação 3.4 é muito mais conveniente porque permite que o cálculo de múltiplas transformações seja realizado calculando-se a matriz de transformação 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 vn n 1 1...

A solução usual para este problema é a alteração do espaço de coordenadas de dimensão 3 para 4, de forma controlada, de maneira que a dimensão da matriz M se altere de 3x3 para 3x4 e, assim, ela possa incorporar a transformação de translação (eq. 3.6).

Como é inconveniente operar uma matriz não quadrada por não permitir, por exemplo, o cálculo da inversa, a matriz MT pode ser novamente

modificada pela inserção de mais uma linha que não altere o resultado final (eq. 3.7).

(eq. 3.6) (eq. 3.7)

MT =

x

y

z

l

m

n

x

y

z

x l

y m

z n

1

1

0

0

0

1

0

0

0

11 1

1 0 0

0 1 0

0 0 1

0 0 0 1

l

m

n

Considerando-se uma matriz M genérica de dimensão 4x4, quando ela é aplicada sobre o vetor , em coordenadas homogêneas, gera o vetor

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

Assim, supondo-se , tem-se .

v

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 homogêneas se refere a representação 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 aplicação de uma matriz de transformação em coordenadas homogêneas 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 serão, em especial, usados na determinação de pontos-de-fuga no caso de projeções 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 transformação M de dimensão 4x4, pode ser particionada em 4 quatro partes:

onde

1x3: produz projeção perspectiva

1x1: produz escalamento global

3x3: produz uma transformação afim do tipo rotação e mudança de escala

3x1: produz translação

Mx x

x x

3 3 3 1

1 3 1 1

Álgebra das projeções planares paralelas

Para que as projeções possam ser geradas em computador é necessário se definir matrizes de transformações que, aplicadas ao conjunto de pontos de um objeto tridimensional, permita a obtenção da figura projetada do objeto.

Assim, a seguir, para cada tipo de projeção serão determinadas as matrizes de transformação.

Este capítulo cobre a álgebra das projeções planares paralelas.

Álgebra das Projeções Planares Paralelas

Ortográficas

Álgebra das Projeções Paralelas Ortográficas: vista lateral, frontal e planta

As projeções planares ortográficas vista lateral, frontal e planta são obtidas através de transformações ortogonais, de acordo com as regras abaixo, e projeção no plano xy através de raios projetores perpendiculares a este plano.

vista lateral- rotação de -90 no eixo x, eliminação da coordenada z

vista frontal- rotação de -90 no eixo z, rotação de –90 no eixo x, e eliminação da coordenada z

vista superior (planta)- rotação de -90 no eixo z, translação no eixo y no maior valor na coordenada x, e eliminação da coordenada z .

A seguir é detalhada a geração da vista lateral. Assim, partindo-se da equação de rotação em torno do eixo x,

determina-se a matriz de projeção da vista lateral Mpvl

sendo = -90 e considerando-se a projeção no plano x’y’, coincidente com o plano xy.

XR

1 0 0 0

0 0

0 0

0 0 0 1

cos( ) sen( )

sen( ) cos( )

1000

0000

0100

0001

MPVL

Álgebra das projeções planares paralelas ortográficas axonométricas

As projeções vista lateral, frontal e planta permitem uma observação parcial do objeto projetado, em especial, caso se observe apenas uma delas, não é possível se conceber corretamente a forma do objeto.

Isso acontece principalmente quando as faces do objeto são 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 projeções vista lateral, frontal e planta, mais uma projeção axonométrica, a qual permite que se tenha uma visão mais integrada do objeto.

As projeções paralelas ortográficas axonométricas tem a direção de projeção e a normal ao plano de projeção não coincidentes com a direção de um dos eixos principais. Isto é equivalente a se rotacionar adequadamente o objeto e considerar a direção de projeção e a normal ao plano de projeção coincidentes com a direção de um dos eixos principais.Nas projeções axonométricas há uma alteração da dimensão das faces do objeto quando projetadas sobre o plano. O tipo de rotação do objeto e as considerações sobre a alteração das dimensões permitem que se determine as matrizes de projeção. Neste sentido, o cálculo destas matrizes vai partir de uma rotação do objeto em torno do eixo y e posteriormente do eixo x.

X YR 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( )

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

X YR R

cos( ) sen( )

sen( )sen( ) cos( ) cos( ) sen( )

sen( )cos( ) sen( ) cos( )cos( )

0 0

0

0

0 0 0 1

X

X

X

XX Yu

x

y

zR R

1

1

0

0

1 1

cos( )

sen( )sen( )

sen( )cos( )

Y

Y

Y

YX Yu

x

y

zR R

1

0

1

0

1

0

1

cos( )

sen( )

Z

Z

Z

ZX Yu

x

y

zR R

1

0

0

1

1 1

sen( )

cos( ) sen( )

cos( ) cos( )

Considerando-se apenas as componentes x e y dos versores rotacionados, tem-se as projeções destes vetores sobre os plano xy. De forma a se estipular condições para o encolhimento da dimensão destes vetores, são calculados os seus módulos, como ilustrado a seguir. Assim, para o caso da projeção do versor sobre o eixo x tem-se:

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

XYxu xx xy 2 2

XYxu cos ( ) (sen ( )sen ( ))2 2 2

XYyu cos( )

XYzu (sen ( ) cos ( ) sen ( )2 2 2

Considerando-se que no momento da projeção 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 equação:

aplicando-se esta relação, tem-se:

e finalmente,

XYx XYyu u

cos ( ) sen ( )sen ( ) cos ( )2 2 2 2

cos ( ) sen ( )2 2 1

sen ( ) sen ( ) sen ( ) sen ( )2 2 2 2

sen ( ) sen ( ) / ( sen ( ))2 2 21

Uma maneira simples de se calcular os ângulos e é considerar um valor fixo para o encolhimento no eixo z. Assim, inicialmente será suposto que a dimensão do versor projetado será 1/2, ou seja, encolherá pela metade. Logo, da equação

tem-se que

Aplicando-se a equação anteriormente obtida

e rearranjando, tem-se:

sen ( ) cos ( )sen ( ) /2 2 2 21 2

8 9 1 04 2sen ( ) sen ( )

XYzu (sen ( ) cos ( ) sen ( )2 2 2

sen ( ) sen ( ) / ( sen ( ))2 2 21

Fazendo-se , tem-se:

Resolvendo-se essa equação, tem-se x=1/8 e x=1. A segunda raiz é inválida porque origina valor zero no denominador da equação anteriormente obtida

Usando-se a primeira raiz tem-se:

e

xsen )(2

8 9 1 02x x

sen ( ) /2 1 8 sen ( ) /2 1 7

20 705.

22 208.

sen ( ) sen ( ) / ( sen ( ))2 2 21

Desta maneira aplicando-se os valores obtidos, tem-se a seguinte matriz:

que zerando os valores da coordenada z, tem-se a matriz de projeção axonométrica dimétrica:

X YR R

0 925820 0 0 377964 0

0133631 0 935414 0 327321 0

0 353553 0 353553 0 866025 0

0 0 0 1

. . .

. . .

. . .

. . .

DMP

0 925820 0 0 377964 0

0133631 0 935414 0 327321 0

0 0 0 0

0 0 0 1

. . .

. . .

. . .

. . .

A projeção isométrica permite o encolhimento por igual de todas as coordenadas. Logo:

Isso significa que , além da equação

resultante de

tem-se a seguinte equação:

resultante de

o que resulta em:

e ,

Portanto e

XYx XYy XYzu u u

sen ( ) cos ( ) sen ( ) cos ( )2 2 2 2

Projeção axonométrica isométrica

sen ( ) sen ( ) / ( sen ( ))2 2 21

uu yxXYXY

uu yzXYXY

sen ( ) ( sen ( )) / ( sen ( ))2 2 21 2 1

sen ( ) sen ( )2 21 2 sen ( ) /2 1 3

sen( ) / sen( ) / 1 3 1 2 35 26429.

450.

Substituindo os valores, tem-se a matriz

que permite a projeção isométrica, após se zerar a coordenada “z”:

X YR R

0 707107 0 0 707107 0

0 408248 0 816597 0 408248 0

0 577353 0 577345 0 577353 0

0 0 0 1

. . .

. . .

. . .

. . .

IMP

0 707107 0 0 707107 0

0 408248 0816597 0 408248 0

0 0 0 0

0 0 0 1

. . .

. . .

. . .

. . .

Um fato interessante advém da análise do ângulo que o versor no eixo x faz com o eixo x’, quando projetado no plano x’y’ .Tem-se:

Este resultado é bem conhecido de desenhistas, pois é com um esquadro de 30 e 60 que eles desenham a projeção de um objeto em uma folha de projeto.

Xu

cos( )

sen( )sen( )

tan( ) (sen( )sen( )) / cos( )

tan( ) ( / / ) / / / 1 2 1 3 1 2 3 3

Uma outra consideração importante sobre projeções isométricas se refere ao fato que:

ou

ou

Logo, a projeção isométrica pode ser estruturada de outras formas.

sen ( ) /2 1 3 3526. 144 74.

2/1)(2 sen 00.45 135 00.

I IP 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 é esboçado um exemplo de obtenção de uma projeção Axonométrica de um objeto, cujos vértices estão explicitados através da matriz IP

Álgebra das Projeções Planares Paralelas Oblíquas

• As projeções paralelas oblíquas tem a direção do plano de projeção distinta da direção dos raios projetores.

• As projeções paralelas obliquas se subdividem em cavalier e cabinet, sendo que na projeção cabinet há uma distorção na dimensão do versor perpendicular ao plano de projeção, em geral, um encurtamento de 1/3 ou de 1/2.

• Além disto, em ambos os casos, o ângulo () 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 dilatação da dimensão do versor ( =45.0 não há alteração de dimensão e se =60 há um encurtamento pela metade ). Ângulo formado pela projeção da linha P1-P1’ com o eixo x - não tem influência sobre o tamanho do versor e o seu valor é arbitrário.

P z P d d1 0 0 11 ( , , ) ( cos( ), sen( ))

P z P z z d z z d2 0 0 22 2 1 2 1 ( , , ) (( / ) * )cos( ),(( / ) * )sen( ))

A generalização da formulação para qualquer ponto pode também 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 d2 0 2 ( , , ) ( * cos( ), ( * )sen( )) P a z P a z d z d3 0 3 ( , , ) ( ( * )cos( ),( * )sen( ))

d

Em representação matricial:

Para exemplificar a aplicação da matriz de projeção oblíqua, seja d=1, sem alteração da dimensão do versor, o que significa (=45.0), e =45.0, o que define uma matriz de projeção 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( ))

OM

1 0 2 2 0

0 1 2 2 0

0 0 0 0

0 0 0 1

/

/

Exemplo:OM

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

EG

HO OP 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

/ /

OP

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

CGF

E

HB

X'

Y'

Álgebra das Projeções 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 projeção localizado no ponto C (0,0,k).

Aplicando-se a semelhança de triângulos e considerando-se que a coordenada z tem valor negativo obtém-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 projeção, desconsidera-se o valor de z’.

• Nota-se que nesta equação se , então e , o que origina uma projeção paralela, com raios projetores perpendiculares ao plano de projeção 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 projeção 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 classificação da projeção 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 projeções são obtidas por:

e quando resulta em:

v

at

b

cv

a

bt

cv

a

b

ct1 2 3

1 1 1

, ,

v1

v2

v3

t

v

at c k

b c k

c c kv

a c k

bt c k

c c kv

a ct k

b ct k

ct ct k1 2 3

1

1

1

1

1

1

1

1

1

1

1

1

/ (( / ) )

/ (( / ) )

/ (( / ) ),

/ (( / ) )

/ (( / ) )

/ (( / ) ),

/ (( / ) )

/ (( / ) )

/ (( / ) )

vB

Cv

A

Cv

k11

12

2

23

1 1

0

0

1

• Mesmo sendo B1, C1, A2 e C2 constantes finitas, e resultam em pontos que no espaço tendem ao infinito, ou seja, não 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 contém o centro-de-projeção.

• A transformação perspectiva de resulta em um ponto finito no espaço, ou seja, há ponto-de-fuga.

vB

Cv

A

Cv

k11

12

2

23

1 1

0

0

1

v1

v2

v1

v2

v3

x

y

z

a

b

c v1

v2

v3

• Os pontos A’ e B’ são as projeções no plano xy dos pontos AB da linha A-B perpendicular ao plano de projeção.

• Nota-se que considerando a coordenada z, os pontos A* e B* mostram como a transformação perspectiva força a convergência 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* estão 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

xk

-k

PI

B*

A*

B’

A’

A

B

PF

Nota-se que estes mesmos resultados são obtidos quando se aplica a matriz de transformação perspectiva sobre pontos infinitos:

Aplicando-se as equações:

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 v1 2 3

1

0

0

0

0

1

0

0

0

0

1

0

, ,

v v vk1 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 certificação do número de pontos-de-fuga das matrizes é obtida através da aplicação dos pontos infinitos em coordenadas homogêneas.

• 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 transformação 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 transformação perspectiva de três pontos-de-fuga.

v

r

vs

v1 2 3

0

0

1

0

0

1

0

0

1

0

, ,

v

r

vs

vk1 2 3

0

0

1

0

0

1

0

0

1

, ,

• O objetivo primordial em se utilizar uma projeção perspectiva é a obtenção de uma visão realística de um objeto.

• A simples aplicação da projeção perspectiva não garante este objetivo. • Por exemplo, a figura abaixo mostra o resultado de uma projeção

perspectiva com pontos-de-fuga (3,0,0) e (0,3,0). • Neste caso, a qualidade visual desta projeção deixa muito a desejar.

z

x

y

x’

y’

• Uma maneira de resolver este problema é utilizar a projeção perspectiva associada às transformações de mudança de escala e rotação.

• A figura abaixo mostra uma nova visão do objeto quando ele é rotacionado em torno dos eixos x e y e posteriormente projetado através de uma matriz de projeção perspectiva de dois pontos-de-fuga.

• Neste caso, é possível se ter uma visão completa do objeto e dos pontos-de-fuga.

• Nota-se, em especial, como as linhas paralelas convergem para o mesmo ponto-de-fuga após a projeção.

PF-1 PF-2

• Em termos de computação gráfica, o foco de interesse é a projeção de um ponto no espaço sobre o plano da tela.

• Neste sentido, para ilustrar uma forma mais intuitiva de se obter as equações anteriores, será deduzido a matriz de projeção perspectiva a partir da consideração de que a tela do computador está sobre o plano xy e que o centro de projeção (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 equação 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 uc c ( )1y y y y uc c ( )1

z z z z uc c ( )1

CP

P2

P1

x

y

z

u z z zc c / ( )1

x x z x x z zc c c c2 1 1 ( ) / ( )y y z y y z zc c c c2 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 não se altera o resultado da sua aplicação sobre um vetor em coordenadas homogêneas. 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 transformação perspectiva MTPz, deduzida anteriormente, no caso do centro de projeção 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

zc

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 geração de mais pontos-de-fuga pode-se associar MP com matrizes de rotação.

Nota-se que, caso se rotacione um objeto é possível obter um número maior de pontos-de-fuga. Assim, fazendo-se a multiplicação da matriz MP pela matriz RxRy

tem-se a equação:

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( )

0

0

0 0 0 0

1 1 1 1

X YR 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( )

X YR R

cos( ) sen( )

sen( )sen( ) cos( ) cos( )sen( )

sen( )cos( ) sen( ) cos( )cos( )

0 0

0

0

0 0 0 1

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

Assim, utilizando-se a matriz MPR tem-se o controle simultâneo do centro de projeção e dos pontos-de-fuga. Esta matriz pode ser modificada para incorporar rotações no eixo z.

PFxx z

y z

c c

c c

(cos( ) / (sen( ) cos( )))

(sen( ) / cos( ))

PFyx

y z

c

c c

(cos( ) / sen( ))

PFzx z

y z

c c

c c

(sen( ) / (cos( ) cos( )))

(sen( ) / cos( ))

Recommended