rojecção Computação Gráfica CG, JS & ND @ 26 ISEL/DEETC/S Computação Gráfica
ietro erugino's usage of perspective in this fresco at the Sistine Chapel (48 82) helped bring the Renaissance to Rome. 2
Sumário aradigma da câmara fotográfica Distância focal, profundidade de campo, abertura rojecção Tipos de superfícies: lanas e Curvas aralelas Ortognal Axonométrica Oblíqua erspectiva ontos de fuga Visualiação em 3D Câmara sintética Sistema de coordenadas da câmara Transformações: visualiação, normaliação e perspectiva 3
aradigma da câmara fotográfica 4
Câmara fotográfica Distância focal f Abertura Fonte: http://www.cambridgeincolour.com/tutorials/depth-of-field.htm 5
6
Câmara fotográfica rofundidade de campo vs abertura f-# Impacto Abertura Velocidade da objectiva rofundidade de campo Grande equena Lenta Amplo equeno Maior Rápida Estreito 7
Câmara fotográfica Fonte: http://www.cambridgeincolour.com/tutorials/depth-of-field.htm 8
Câmara fotográfica rofundidade de campo Fonte: http://www.cambridgeincolour.com/tutorials/depth-of-field.htm 9
Câmara fotográfica f/8. f/5.6 f/2.8 Fonte: http://www.cambridgeincolour.com/tutorials/depth-of-field.htm
Sumário aradigma da câmara fotográfica Distância focal, profundidade de campo, abertura rojecção Tipos de superfícies: lanas e Curvas aralelas Ortognal Axonométrica Oblíqua erspectiva ontos de fuga Visualiação em 3D Câmara sintética Sistema de coordenadas da câmara Transformações: visualiação, normaliação e perspectiva
rojecção rojecção é o processo de transformar pontos num sistema de coordenadas de dimensão n, em pontos de um sistema de coordenadas de dimensão inferior Tipicamente é feita uma projecção de pontos 3D num plano 2D (ecrã) Na projecção intervêm, entre outros lano de projecção lano onde será projectada a representação dos objectos rojectores linhas que intersectam o plano de projecção e que passam por cada ponto dos objectos Centro de projecção onto de onde partem os projectores rojectores lano de rojecção Centro de rojecção infinito 2
rojecção não realista 3
rojecção realista Vermee s: The Music Lesson and the Geographer, c.668-669 4
rojecção em CG Em computação gráfica, o objectivo é representar objectos tridimensionais em dispositivos 2D A escolha da representação adequada depende de um conjunto de factores, designadamente Objectivo da representação O efeito visual pretendido Forma do objecto Alguns conceitos envolvidos rojectores Volume de visão Centro de projecção lano de projecção 5
Tipos de planos As superfícies de projecção podem ser lanos Curvos Estes últimos são utiliados, por exemplo, em Cartografia e no formato de filmes Omnimax Ficaremos apenas pelas projecções geométricas planas 6
Tipos de projecções As projecções geométricas planas podem ser divididas em duas grandes classes aralela erspectiva Centro de projecção no infinito Centro de projecção 7
Tipos de projecções Taxionomia de projecções geométricas planares Fonte: Foley Viewing in 3D 8
Sumário aradigma da câmara fotográfica Distância focal, profundidade de campo, abertura rojecção Tipos de superfícies: lanas e Curvas aralelas Ortognal Axonométrica Oblíqua erspectiva ontos de fuga Visualiação em 3D Câmara sintética Sistema de coordenadas da câmara Transformações: visualiação, normaliação e perspectiva 9
rojecção paralela Na projecção paralela, o centro de projecção encontra-se no infinito Os projectores são paralelos entre si Sendo um ponto, o centro de projecção pode ser representado pelas suas coordenadas homogéneas (x, y,, ) Na projecção paralela é necessário especificar a direcção de projecção Uma direcção é um vector, logo, resulta da diferença entre dois pontos d = (x, y,, ) - (x 2, y 2, 2, ) = (a, b, c, ) Direcções e pontos no infinito têm uma correspondência natural 2
rojecção paralela A projecções paralelas são divididas em duas classes, de acordo com: o ângulo, a direcção de projecção e o plano de projecção Ortogonal Oblíqua Direcção de projecção é a mesma que a normal do plano de projecção ou têm sentidos contrários Direcção de projecção é diferente da normal do plano de projecção 2
rojecção ortogonal Ex. Seis projecções ortogonais (multiview) fonte: Wikipedia O plano de projecção é sempre perpendicular a um dois 3 eixos do sistemas de coordenadas Útil em desenho técnico 22
rojecção ortogonal y Ex. ara um plano de projecção em = y x y x 23
rojecção ortogonal rojectar num plano xy, onde =, leva a uma matri de transformação bastantes simples Ex. ara um plano de projecção em = Atenção que em computação gráfica, a matri de projecção é normalmente mais complexa, envolvendo mais variáveis, as quais serão abordadas mais adiante 24
rojecção ortogonal Características Cada projecção representa a forma exacta do objecto projectado É preservado o paralelismo entre rectas, as dimensões e os ângulos Áreas de aplicação Desenho técnico de máquinas ou partes, arquitectura roblemas São necessárias várias projecções para detalhar um objecto, que podem varias consoante a complexidade do objecto Difícil a concepção 3D do objecto projectado a partir das projecções 25
rojecção axonométrica A projecção paralela axonométrica pretende dar uma noção tridimensional do objecto projectado A classificação da projecção axonométrica depende do ângulo que o plano de projecção fa como os eixos de coordenadas Só as faces paralelas ao plano de projecção têm a forma e as dimensões reais, tendo as outras rácios bem conhecidos lano de rojecção O tipo de projecção determina o número de rácios existentes y Normal do plano de projeção x 26
rojecção axonométrica SimCity 2 (993) Age of Empires (997) 27
rojecção axonométrica Isométrica r=r2=r3= rácio, :: r r2 = = 3º r3 Dimétrica 3/4 rácio :3/4 3/4 36,5º 36,5º 6,2º 36,5º r=r2=, r3=3/4 r=r3=, r2=3/4 28
rojecção axonométrica Trimétrica 7/8 7/8 3/4 2/3 23,6º 54,6º 7º 24,46º r r2 r3 7/8 2/3 7/8 2,28º 23,6º 3/4 24,46º 48,4º rácio, 7/8::2/3 rácio, :3/4:7/8 29
rojecção axonométrica Características O paralelismo de linhas é preservado, mas não os ângulos, nem as dimensões Captura da tridimensionalidade do objecto, particularmente para objectos rectangulares Áreas de aplicação Desenho mobiliário, jogos, ilustrações, entre outros roblemas Os objectos projectados parecem distorcidos, uma ve que onas distantes têm a mesma dimensão de onas chegadas Círculos são normalmente apresentados como elipses Ângulos rectos não são, normalmente, projectados como rectos 3
rojecção axonométrica ilusão óptica As duas esferas estão à mesma altura do solo? 3
rojecção axonométrica ilusão óptica 32
rojecção obliqua A projecção paralela obliqua difere da anterior, na relação existente entre o plano de projecção e a direcção de projecção Esta não é normal ao plano, apresentando um ângulo diferente de 9º y Têm a vantagem de dar a sensação de profundidade, continuando a preservar o paralelismo entre as linhas lano de rojecção A face do objecto paralela ao plano de projecção é projectada com as mesmas dimensões e ângulos x Normal do plano de projeção 33
rojecção obliqua Quando o ângulo formada pelos projectores e a normal do plano de projecção é de 45º, designa-se a projecção de cavaleira. Note-se que as dimensões são preservadas y Quando o ângulo formada pelos projectores e a normal do plano de projecção igual ao arctan(2) 63,4º, designa-se a projecção de gabinete As dimensões das linhas perpendiculares ao plano de projecção são reduidas para metade /2 y f 45º ou 3º Cavaleira x f 45º ou 3º x Gabinete 34
Resumo projecções paralelas Vamos assumir que a face que nos interessa está num plano principal, i.e., paralelo a xy, y, ou x. DO = Direction of rojection, VN = View lane Normal ) Ortogonal (Multiview ) VN a um eixo de coordenada principal DO VN Mostra uma face, medidas exactas 2) Axonométrica VN a um eixo de coordenada principal DO VN Faces adjacentes, nenhuma exacta, com rácios uniformes (função do ângulo entre DO e a normal à face) 3) Oblíqua VN a um eixo de coordenada principal DO VN Faces adjacentes, uma exacta, outras com rácios uniformes fonte: van Dam 35
Sumário aradigma da câmara fotográfica Distância focal, profundidade de campo, abertura rojecção Tipos de superfícies: lanas e Curvas aralelas Ortognal Axonométrica Oblíqua erspectiva ontos de fuga Visualiação em 3D Câmara sintética Sistema de coordenadas da câmara Transformações: visualiação, normaliação e perspectiva 36
Uma diferente noção de perspectiva 37
erspectiva O primeiro tratado sobre perspectiva, Della ittura, foi publicado por Alberti em 435 A painting [the projection plane] is the intersection of a visual pyramid [view volume] at a given distance, with a fixed center [center of projection] and a defined position of light, represented by art with lines and colors on a given surface [the rendering]. (Leono Battista Alberti (44-472), On ainting, pp. 32-33) 38
The last supper, Leonardo da Vinci (século 5) 39
rojecção erspectiva Na projecção perspectiva os projectores partem de um ponto finito centro de projecção y Como tal, existe uma sensação de profundidade e de realismo nos objectos projectados lano de rojecção Note-se que o rácio dos objectos projectados (foreshortening) não é constante nem linear x Centro de projecção 4
rojecção erspectiva Num sistema de mão direita, onde as normais das faces são perpendiculares aos eixos, o número de pontos de fuga é igual ao número de eixos intersectados pelo plano de projecção Um ponto de fuga (eixo ) Três pontos de fuga (eixo x,y,) Dois pontos de fuga (eixo x,) 4
rojecção erspectiva Variáveis em jogo. A orientação do plano de projecção (Ex: os ângulos entre este e os eixos de coordenadas). A posição da linha de horionte em relação ao objecto 2. A distância entre o centro de projecção ao objecto 3. A distância do plano de projecção ao objecto 4. O afastamento horiontal entre o centro do objecto e o centro de projecção 42
rojecção erspectiva y. A orientação do plano de projecção 2) ) x y Um ponto de fuga ( ao plano xy) y 2) 2) ) Três pontos de fuga x ) x Dois pontos de fuga ( ao eixo y) ) Objecto a projectar 2) lano de projecção 43
rojecção erspectiva 2. A posição da linha de horionte em relação ao objecto linha do horionte acima do objecto linha do horionte centrada com o objecto linha de horionte abaixo do objecto Fonte: Carlbom 44
rojecção erspectiva 3. A distância entre o centro de projecção ao objecto Centro e projecção próximo do objecto DO(distância do ponto de observação Centro de projecção pouco afastado do objecto Centro de projecção afastado do objecto Fonte: Carlbom 45
rojecção erspectiva lano de projecção próximo do objecto 4. A distância do plano de projecção ao objecto lano de projecção pouco afastado do objecto lano de projecção afastado do objecto Fonte: Carlbom 46
rojecção erspectiva 5. O afastamento horiontal entre o centro do objecto e o centro de projecção Centro de projecção deslocado para a esquerda Centro de projecção centrado como objecto lano de projecção deslocado para a direita Fonte: Carlbom 47
rojecção erspectiva Matri lano de projecção em Z=-d Y Q Z=-d Z ara um plano de projecção em =-d Q Qx x X Q x d x X Z Y y Qy Q Q y d y Z Z=-d 48
49 rojecção erspectiva Matri x x d Q ara um plano de projecção em =-d y y d Q d Q d d Q d d Q y y y x x x e Sendo M Q per.. y x y x Q Q Q?
5 rojecção erspectiva Matri ara um plano de projecção em =-d d Q d d Q d d Q y y y x x x d Q d Q d Q d Q. ).( a Q i i, sendo d a
5 rojecção erspectiva Matri ara um plano de projecção em =-d M Q per.. y x y x Q Q Q? a Q i i a Q x x a Q y y a Q.? y x a y x Usando coordenadas homogéneas d a Com: d
rojecção erspectiva Características Linhas paralelas, que não são paralelas ao plano de projecção convergem As dimensões dos objectos diminuem com o aumento da distância Rácio não uniforme que depende da distância Dá uma sensação realista e tridimensional ao objecto Áreas de aplicação Arte, Arquitectura, Engenharia, entre outros roblemas Não preserva a forma dos objectos 52
Visualiação em 3D Fonte: Zisserman 53
rojecção Demos Exploratories: Viewing Techniques (ver ) http://www.cs.brown.edu/exploratories/freesoftware/catalogs/viewing_techniques.html NateRobins: OpenGL Tutors (ver ) http://www.xmission.com/~nate/tutors.html Arman Uguray's WebGL Demo (ver ) http://www.cs.brown.edu/people/auguray/spacemonkey/ 54
Sumário aradigma da câmara fotográfica Distância focal, profundidade de campo, abertura rojecção Tipos de superfícies: lanas e Curvas aralelas Ortognal Axonométrica Oblíqua erspectiva ontos de fuga Visualiação em 3D Câmara sintética Sistema de coordenadas da câmara Transformações: visualiação, normaliação e perspectiva 55
Visualiação em 3D Câmara sintética osição da câmara Alguns Conceitos... Orientação Ângulo de visão rofundidade de campo Distância focal Soa familiar? 56
Visualiação em 3D Volume de visão O volume de visão contém os objectos visíveis Ao volume formado pelo volume de visão, aproximado a um cone rectangular dá-se o nome de frustum (perspectiva) Funciona bem com janelas rectangulares Facilidade no clipping Olho Volume cónico. Aproximação de como nós vemos Câmara Sintética Frustum, volume de visão aproximado Fonte: van Dam 57
Visualiação em 3D arâmetros necessários para definir uma visualiação Up vector Width angle Look vector Height angle osition Front clipping plane Back clipping plane 58
Visualiação em 3D Orientação da câmara Look Vector A direcção segundo a qual a câmara aponta; um ponto em 3D Up Vector (ou view Up vector VU) determina como a câmara é rodada em torno do look vector (e.g vertical ou horiontal) A projecção do up vector tem de estar num plano perpendicular ao look vector rojection of up vector Up vector Look vector osition Fonte: van Dam 59
Visualiação em 3D Width e Height angle Determinam a quantidade de distorção de perspectiva na projecção nenhuma (projecção paralela) muita (lentes grande-angular) Width angle Height angle Fonte: van Dam 6
Visualiação em 3D lanos Near e Far O volume entre estes planos definem o que a câmara vê Tudo o resto é descartado ou apenas retida a parte que se encontra entre os dois planos Não projectar objectos atrás da câmara Não projectar objectos muito próximos da câmara Não projectar objectos muito distantes da câmara Fonte: van Dam 6
Visualiação em 3D Volume de visualiação rojecção aralela Far distance Width Near distance Look vector Height Up vector osition aralelepípedo Fonte: van Dam 62
Visualiação em 3D Volume de visualiação rojecção erspectiva rojection of up vector Up vector osition frustum Fonte: van Dam 63
Visualiação em 3D Coordenadas da câmara A localiação do volume de visão é dado pela especificação da posição e orientação da câmara: osição, Look e Up vectors Forma do volume é dada pelos planos far e near e pelos ângulos Sistemas de coordenadas world coordinates xy viewing reference coordinates sistema da mão direita formado por (u,v,n), com o ponto (,,) coincidente com a posição da câmara Fonte: van Dam 64
Visualiação em 3D Matri de transformação Colocar a câmara na origem Ou seja é necessário transformar o ponto (p x,p y,p ), que representa a posição da câmara, em (,,), na origem ' T T pos pos pos pos x y 65
Visualiação em 3D Matri de transformação Uma matri rotação transforma vectores perpendiculares, noutros, igualmente perpendiculares O objectivo é criar uma matri rotação que transforme (u,v,n) em (x,y,) Se M for uma matri de transformação, sabe-se que as colunas formam vectores unitários e perpendiculares M T M Caminho: encontrar u, v, e n utiliando a posição da câmara e aplicar M t para obter x, y,. A matri M tem como colunas u, v e n Alinhar uvn com xy 66
Visualiação em 3D Matri de transformação Alinhar uvn com xy assos necessários: Encontrar n através de Look Encontrar u através de n e Up Encontrar v através de n e u n é um vector, normaliado, com direcção oposta a Look v n Look Look Up Look u u é um vector perpendicular a n (produto externo) n u Up n Up n v é um vector que forma uma base ortonormada com v e n logo v = n x u (utilia-se novamente o produto externo) 67
Referências Computer Graphics: rinciples and ractice in C, James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes, Addison-Wesley rofessional; 2nd edition (995) Real-Time Rendering, Tomas Moller, Eric Haines, AK eters, Ltd.; 2nd edition (July 22) Multiple View Geometry, Richard Hartley, Andrew Zisserman, Cambridge Univ. ress (2) Carlbom,I. e aciorek j., lanar Geometric rojections and Viewing Transformations, Computing Surveys, December 978, 465-52 Andries van Dam, From 3D to 2D: Orthographic and erspective rojection, CS23, Brown University, 26 Wikipedia, http://en.wikipedia.org/, 26 M. róspero, FCT-UNL, Documentação da cadeira de computação gráfica, 25 Cambridgeincolour, http://www.cambridgeincolour.com/tutorials.htm, 26 68