Computação Gráfica
prof. Edilson Aguiar
Universidade Federal do Espírito Santo
Centro Universitário Norte do Espírito Santo
Eliezer de Souza da Silva
Visualização de objetos 3D.
Animação (key framing):
• Computador faz a interpolação entre os key frames.
Translações podem ser feitas com interpolação linear ou
splines.splines.
Rotações são mais complicadas.
Problema: que estrutura matemática
captura de maneira ideal operações de
rotação no espaço, facilitando a
implementação computacional?
Teorema de Euler [2,3]:
• “Dados dois pontos no espaço existe um eixo no espaço e um ângulo
de rotação que leva um ponto ao outro” ou “o movimento de um corpo
rígido no espaço com um ponto fixo é uma rotação”.
Fórmula de Rodrigues [2,3,5]
Ângulos de Euler utilizando matriz de
rotação: parametrização do espaço
através de três eixos de rotação.
• Esta parametrização é ambígua.• Esta parametrização é ambígua.
Quaternions: encapsula diretamente o
Teorema de Euler.
Euler utilizou inicialmente para resolver as equações
de movimento (separação de variáveis) [1].
• Pressuposto: o espaço de rotações pode ser totalmente
parametrizado por três operações de rotação em eixos
perpendiculares.
Exemplo 2D
Implementação das rotações associadas a
cada eixo através de uma matriz de rotação.
• Coordenadas homogêneas: permite a
representação de transformações afins na forma
matricial (possibilita a composição de rotações e
outras operações afins naturalmente).outras operações afins naturalmente).
Desvantagens:
• A escolha dos eixos é arbitrária e existem diversas
possibilidades de multiplicação das matrizes de rotação e
nem todas são geometricamente intuitivas.
• A representação do espaço de rotações através de
ângulos de Euler é ambígua (problema inverso não é
bem formulado – rotação gerada por diferentes triplas de
ângulos de Euler).ângulos de Euler).
• Gimball-Lock: degeneração dos graus de liberdade.
• A interpolação não é boa, nem fácil (cada eixo é
interpolado de modo independente).
Vantagens:
• Matemática das matrizes é bem conhecida e estudada,
além de ter bastante implementações.
• Coordenadas homogêneas permite representação de
todas as transformações afins básicas
Trata-se de uma álgebra descoberta por
Sir Willian Hamilton como uma
generalização dos complexos para
espaços de ordens maiores.espaços de ordens maiores.
Espaço de Rotações do R3: SO(3) (Matrizes Ortonormais)
Espaço da esfera unitária de quaternions S3 tem um
mapeamente 2 por 1 em SO(3). (q e –q correspondem ao
mesmo ponto)[1,2]
Utilizando a esfera unitária obtemos diretamente a fórmula
de Rodrigues.
Temos uma implementação direta de uma rotação de p em θ
graus ao longo do eixo v utilizando quaternions.
Spherical Linear Interpolation [1]:
• Não-comutativo.
• Velocidade constante na esfera.
• Geodésico (Torque mínimo).• Geodésico (Torque mínimo).
É ótimo somente entre dois pontos [1,2]
• Shoemake sugere um esquema parecido com a geração
de curvas de Bezier sobre a superfície da esfera.
Squad (Spherical Spline Quaternion Interpolation)
[2]
Nlerp (Normalized Quaternion Slerp):
• Comutativo, geodésico, mas não tem velocidade constante.
Quaternions apresentam problemas caso eu
tenho que ser derivado (controle
diferencial, ou otimizador, por exemplo).
• D(q) pertence ao plano tangente à esfera unitária.• D(q) pertence ao plano tangente à esfera unitária.
Preciso controlar para impedir que ele “saia”.[4]
Mapas exponenciais:
• Sabemos onde se encontram as singularidades
(evitamos-as)[4].
• R3 → S3 ; S3 → SO(3)
• Inverso: log map
Representação de rotações:
• Quaternion é superior a ângulos de Euler.
• Mapas Exponenciais podem ser alternativas em
outras situações.outras situações.
Interpolações
commutativ
e
constant
velocity
torque-
minimal
quaternion
slerp
No! Yes Yes
quaternion
nlerp
Yes No! Yes
log-
quaternion
lerp
Yes Yes No!
[1] SHOEMAKE, K. Animating Rotations with Quaternion Curves. Computer Graphics
(SIGGRAPH ’85 Proceedings), volume 19, pages 245-254, July 1985.
[2] DAM, E.B; KOCH, M. and LILLHOLM, M. Quaternions,Interpolation and
Animation.Technical Report DIKU-TR-98/5. University of Copenhagen. 1998.
Denmark.
[3] GOLDSTEIN, H; POOLE, C; SAFKO, J. Classical Mechanics, 3rd Edition.
Addison-Wesley. 2000. New York.
[4] GRASSIA,F.S. Practical parameterization of rotations using the exponential map,[4] GRASSIA,F.S. Practical parameterization of rotations using the exponential map,
Journal of GraphicsTools, volume 3.3, 1998. Disponível em
http://graphics.snu.ac.kr/OpenGL2003/10(1112)/expmap.pdf (31/05/2011)
[5]VINCE, J. RotationTransforms For Computer Graphics. Springer-Verlag. London (UK).
2011.
[6]ANGEL, E. Interactive Computer Graphics –ATop Down Approach Using
OpenGL, 3rd Edition.Addison-Wesley. 2003.
[7] Jonathan Blow. Understanding Slerp,Then Not Using It.Disponível em
http://number-
none.com/product/Understanding%20Slerp,%20Then%20Not%20Using%20It

Rotações

  • 1.
    Computação Gráfica prof. EdilsonAguiar Universidade Federal do Espírito Santo Centro Universitário Norte do Espírito Santo Eliezer de Souza da Silva
  • 2.
    Visualização de objetos3D. Animação (key framing): • Computador faz a interpolação entre os key frames. Translações podem ser feitas com interpolação linear ou splines.splines. Rotações são mais complicadas. Problema: que estrutura matemática captura de maneira ideal operações de rotação no espaço, facilitando a implementação computacional?
  • 3.
    Teorema de Euler[2,3]: • “Dados dois pontos no espaço existe um eixo no espaço e um ângulo de rotação que leva um ponto ao outro” ou “o movimento de um corpo rígido no espaço com um ponto fixo é uma rotação”.
  • 4.
  • 5.
    Ângulos de Eulerutilizando matriz de rotação: parametrização do espaço através de três eixos de rotação. • Esta parametrização é ambígua.• Esta parametrização é ambígua. Quaternions: encapsula diretamente o Teorema de Euler.
  • 6.
    Euler utilizou inicialmentepara resolver as equações de movimento (separação de variáveis) [1]. • Pressuposto: o espaço de rotações pode ser totalmente parametrizado por três operações de rotação em eixos perpendiculares.
  • 7.
  • 8.
    Implementação das rotaçõesassociadas a cada eixo através de uma matriz de rotação. • Coordenadas homogêneas: permite a representação de transformações afins na forma matricial (possibilita a composição de rotações e outras operações afins naturalmente).outras operações afins naturalmente).
  • 9.
    Desvantagens: • A escolhados eixos é arbitrária e existem diversas possibilidades de multiplicação das matrizes de rotação e nem todas são geometricamente intuitivas. • A representação do espaço de rotações através de ângulos de Euler é ambígua (problema inverso não é bem formulado – rotação gerada por diferentes triplas de ângulos de Euler).ângulos de Euler). • Gimball-Lock: degeneração dos graus de liberdade. • A interpolação não é boa, nem fácil (cada eixo é interpolado de modo independente). Vantagens: • Matemática das matrizes é bem conhecida e estudada, além de ter bastante implementações. • Coordenadas homogêneas permite representação de todas as transformações afins básicas
  • 10.
    Trata-se de umaálgebra descoberta por Sir Willian Hamilton como uma generalização dos complexos para espaços de ordens maiores.espaços de ordens maiores.
  • 11.
    Espaço de Rotaçõesdo R3: SO(3) (Matrizes Ortonormais) Espaço da esfera unitária de quaternions S3 tem um mapeamente 2 por 1 em SO(3). (q e –q correspondem ao mesmo ponto)[1,2] Utilizando a esfera unitária obtemos diretamente a fórmula de Rodrigues. Temos uma implementação direta de uma rotação de p em θ graus ao longo do eixo v utilizando quaternions.
  • 12.
    Spherical Linear Interpolation[1]: • Não-comutativo. • Velocidade constante na esfera. • Geodésico (Torque mínimo).• Geodésico (Torque mínimo).
  • 13.
    É ótimo somenteentre dois pontos [1,2] • Shoemake sugere um esquema parecido com a geração de curvas de Bezier sobre a superfície da esfera.
  • 14.
    Squad (Spherical SplineQuaternion Interpolation) [2] Nlerp (Normalized Quaternion Slerp): • Comutativo, geodésico, mas não tem velocidade constante.
  • 15.
    Quaternions apresentam problemascaso eu tenho que ser derivado (controle diferencial, ou otimizador, por exemplo). • D(q) pertence ao plano tangente à esfera unitária.• D(q) pertence ao plano tangente à esfera unitária. Preciso controlar para impedir que ele “saia”.[4] Mapas exponenciais: • Sabemos onde se encontram as singularidades (evitamos-as)[4]. • R3 → S3 ; S3 → SO(3) • Inverso: log map
  • 16.
    Representação de rotações: •Quaternion é superior a ângulos de Euler. • Mapas Exponenciais podem ser alternativas em outras situações.outras situações. Interpolações commutativ e constant velocity torque- minimal quaternion slerp No! Yes Yes quaternion nlerp Yes No! Yes log- quaternion lerp Yes Yes No!
  • 17.
    [1] SHOEMAKE, K.Animating Rotations with Quaternion Curves. Computer Graphics (SIGGRAPH ’85 Proceedings), volume 19, pages 245-254, July 1985. [2] DAM, E.B; KOCH, M. and LILLHOLM, M. Quaternions,Interpolation and Animation.Technical Report DIKU-TR-98/5. University of Copenhagen. 1998. Denmark. [3] GOLDSTEIN, H; POOLE, C; SAFKO, J. Classical Mechanics, 3rd Edition. Addison-Wesley. 2000. New York. [4] GRASSIA,F.S. Practical parameterization of rotations using the exponential map,[4] GRASSIA,F.S. Practical parameterization of rotations using the exponential map, Journal of GraphicsTools, volume 3.3, 1998. Disponível em http://graphics.snu.ac.kr/OpenGL2003/10(1112)/expmap.pdf (31/05/2011) [5]VINCE, J. RotationTransforms For Computer Graphics. Springer-Verlag. London (UK). 2011. [6]ANGEL, E. Interactive Computer Graphics –ATop Down Approach Using OpenGL, 3rd Edition.Addison-Wesley. 2003. [7] Jonathan Blow. Understanding Slerp,Then Not Using It.Disponível em http://number- none.com/product/Understanding%20Slerp,%20Then%20Not%20Using%20It