mapas exponenciais

23
Mapas Exponenciais por Rafael Vieira CRAb – Grupo de Computação Gráfica Departamento de Computação UFC

Upload: rafael-siqueira-telles-vieira

Post on 05-Jul-2015

714 views

Category:

Technology


1 download

DESCRIPTION

Apresentação sobre rotação com mapas exponenciais. Cita quaternions.

TRANSCRIPT

Page 1: Mapas Exponenciais

Mapas Exponenciaispor Rafael Vieira

CRAb – Grupo de Computação Gráfica

Departamento de Computação

UFC

Page 2: Mapas Exponenciais

Sumário

1. Definições

2. Método de Rotação

3. Prova

4. Matriz de Rotação

5. Reparametrização

6. Mapas Exponenciais e Quaternions

7. Referências

Page 3: Mapas Exponenciais

Definição: R3

É o espaço Euclidiano tridimensional. Todo ponto P em R3 possui três coordenadas, tal que se P está em R3 então P é a tupla (x, y, z). Todo ponto em R3 pode ser visto como um vetor Vp que parte da origem do sistema O (0,0,0) até o ponto

ĵ

î

kO(0,0,0)

P(x¹,y¹,z¹) Q(x²,y²,z²)

Por definição:

Vp = P – 0 = (x¹ – 0, y¹ – 0, z¹ – 0)Vp = (x¹, y¹, z¹)Análogamente, Vq = (x², y², z²)

Page 4: Mapas Exponenciais

Definição: Special Orthogonal Group

SO(3) é o conjunto das transformações lineares ou matrizes que preservam o produto interno de dois vetores no R3 No espaço Euclidiano, o produto interno é o produto escalar de dois vetores. Para toda matriz R do grupo SO(3), R.Rt = I.

Exemplos:

Rx=(cosθ sinθ 0

−sinθ cosθ 00 0 1) R y=(

cosθ 0 −sinθ0 1 0sin θ 0 cosθ ) Rz=(

1 0 00 cosθ sinθ0 −sin θ cosθ)

Rotação nos eixos x, y e z segundo um eixo unitário.

Obs: Se P é um ponto em R3 , P.Ri rotaciona P em torno do eixo x, y ou z em θ

graus pela regra da mão direita e Ri .P rotaciona P em torno do eixo x, y ou z

em θ graus pela regra da mão esquerda (sentido contrário).

Page 5: Mapas Exponenciais

Definição: Quaternions

É um conjunto de vetores com 4 dimensões. São considerados uma generalização do espaço complexo.

Se q é um quaternion, û é o vetor eixo de rotação, v é um vetor do espaço R3, θ é o ângulo de rotação e R é a função de rotação por um eixo v, então estão definidos:

q=s+x∗i+y∗ j+z∗k

q=s−x∗i−y∗ j−z∗k

q=cos( θ2)+sin( θ

2) u , û=(x , y , z)

R v=q∗v∗q ou R v=q∗v∗q⁻1

v=x∗ i+y∗ j+z∗k , v=(x , y , z) ou θ=180°

ĵ

î

k

Atenção! Existem 4 direções que um quaternion pode se mover, mas queremos apenas 3 DOFs (degrees of freedom).

Page 6: Mapas Exponenciais

Definição: 3-Sphere

S3 é uma esfera de 4º dimensão análoga a uma esfera com raio unitário. Ela é um conjunto de pontos equidistantes de um ponto central a partir do espaço 4D dos quaternions.

Projeção de uma hiperesfera em 3D fonte: Claudio Rocchini.

Page 7: Mapas Exponenciais

Definição: Skew-Simetric Matrices (Matriz antisimétrica)

so(3) é o conjunto das transformações lineares ou matrizes que são skew simetric. Para toda matriz R do grupo so(3) e R = -Rt.

Exemplos:

w=(0 −w3 w2

w3 0 −w1−w2 w1 0 )

Obs: Se w e v são um vetores em R3 , ŵv é o produto vetorial de w por v, isto é w x v.

Page 8: Mapas Exponenciais

Definição: A função exponencial ex(2), pode ser aproximada pela série de Taylor(1) da seguinte maneira:

(1) f (x)=∑n=0

an(x−a)n na qual an=f n(a)

n!

(2) ex=∑n=0

∞ xn

n!=1+x+

x2

2!+

x3

3 !+

x4

4 !+⋯

(3) eiπ+1=0

(4) eiθ=cosθ+sin θ i

(3) define a identidade de Euler e (4) é uma expansão da identidade para análise complexa (3).

Page 9: Mapas Exponenciais

Definição: Geodésica é a menor distância entre dois pontos em uma superfície n-dimensional.

Fonte: UOL, http://ciencia.hsw.uol.com.br/mapa1.htm acessado em 14/09/11

Page 10: Mapas Exponenciais

Definição: Espaço tangente é um hiperplano d--dimensional que mais se aproxima do valor real de uma superfície d-dimensional. Em uma curva C(t), para um ponto p

0 = C(t

0), o hiperplano tangente aquele

ponto é uma reta retornada pela primeira derivada C'(t

0).

Kazhdan, Misha.

Page 11: Mapas Exponenciais

Definição: Em uma superfície S(u,v), para um ponto p0

= S(u0,v

0), é o hiperplano tangente aquele ponto é

dado por uma plano bidimensional retornado pela primeira derivada S'(u,v) para u e v.

Kazhdan, Misha.

Page 12: Mapas Exponenciais

Definição: Dado um ponto P em superfície n--dimensional, o mapa exponencial é projeção de um ponto Q pertencente ao hiperplano tangente na superfície.

Exemplo: Em uma curva C(t), o mapa exponencial para um ponto p

0 = C(t

0) é um mapeamento que envia pontos no espaço

tangente C'(t0) para a curva C(t).

Kazhdan, Misha.

Page 13: Mapas Exponenciais

Definição: Dado um ponto P em superfície n--dimensional, o mapa exponencial é projeção de um ponto Q pertencente ao hiperplano tangente na superfície.

Exemplo: Em uma superfície S(u,v), o mapa exponencial para um ponto p

0 = S(u

0,v

0) é um mapemaneto que envia pontos no

espaço tangente S'(u0,v

0) para a curva S(u

0,v

0).

Kazhdan, Misha.

Page 14: Mapas Exponenciais

Definição: Dado um ponto P em superfície n--dimensional, o mapa exponencial é projeção de um ponto Q pertencente ao hiperplano tangente na superfície.

Exemplo: Em uma superfície S(u,v), o mapa exponencial para um vetor w no espaço tangente definido pelo ponto p

0 = S(u

0,v

0) é mapeamento

que cria uma geodésica que move p0 na direção w no espaço tangente

S'(u0,v

0) para um comprimento |tw| na curva S(u

0,v

0).

Kazhdan, Misha.

Page 15: Mapas Exponenciais

Método de Rotação: O mapeamento exponecial, que nos interessa, é o de vetores, pois realiza uma transformação de so(3) → SO(3), o que nos permite obter uma rotação em R3.

Para obter o plano diferencial, precisamos então fazer uso da mecânica clássica de Física.

v

r

w (vetor saindodo monito)

v=w x r

d rdt

=wr

Importante! ŵ é uma matriz antisimétrica que simula o produto vetorial w x r. E também é o nosso eixo de rotação.

Page 16: Mapas Exponenciais

Método de Rotação: Como o eixo de rotação não varia ŵ é uma constante. Ajustando a fórmula e aplicando integral em ambos os lados obtém-se:

v

r

w (vetor saindodo monito)

d rdt

=wr

d rr

=w dt

∫ d rr

=w∫dt

ln (r )=w t

e wt=r

Page 17: Mapas Exponenciais

Método de Rotação: Aplicando a definição de exponencial, temos o mapa exponencial final.

r=ewt

R(w ,θ)=ew θ

R(w ,θ)=∑n=0

∞ wnθn

n!=I+wθ+

w2θ2

2 !+

w3θ3

3 !+

w4θ4

4 !+⋯

Define-se r como a nossa Rotação R pelo vetor arbitrário w e t como o ângulo de rotação.

Atenção ŵ² = w x (w x vp)

w² =(−(w2

2+w3

2) w2∗w1 w1∗w3

w1∗w2 −(w12+w3

2) w3∗w2w3∗w1 w2∗w3 −(w1

2+w22))

Page 18: Mapas Exponenciais

Método de Rotação: É possível simplificar a fórmula pela série de Taylor para seno e cosseno e assim obter a fórmula de Rodrigues.

R(w ,θ)=∑n=0

∞ wnθn

n!=I+wθ+

w2θ2

2 !+

w3θ3

3 !+

w4θ4

4 !+⋯

R(w ,θ)=I+w (θ−θ

3

3 !+

θ5

5 !−⋯)+w2

2

2 !−

θ4

4 !+

θ6

6 !+⋯)

R (w ,θ)=I+w(sinθ)+w2(1−cosθ)

Atenção!

Para expoente ímpar: w x( w x (w x p)) = ŵ ou -ŵPara expoente par: w x (w x( w x (w x p))) = ŵ² ou -ŵ²

Fórmula de Rotação de Rodrigues

Page 19: Mapas Exponenciais

Prova da Fórmula de Rodrigues

Cheng, Steve

Page 20: Mapas Exponenciais

Matriz de Rotação derivada diretamente da fórmula.

R (w ,θ) =(w12(1−csθ)+csθ w1w2(1−csθ)−w3sθ w1w 3(1−csθ)+w2sθ

w1w2(1−csθ)+w3sθ w22(1−csθ)+csθ w2w3(1−csθ)−w1sθ

w1w3(1−csθ)−w 2sθ w2w 3(1−csθ)+w1s θ w32(1−csθ)+csθ )

Quaternion unitário

Obs: Esta é a matrix usada pelo OpenGL para realizar suas rotações segundo sua documentação: http://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml

R (s ,v) =(1−2y2−2z2 2xy+2zs 2xz−2ys2xy−2zs 1−2x2−2z2 2yz+2xs2xz+2ys 2yz−2xs 1−2x2−2y2

),v=(vx∗sen (

θ2), vy∗sen (

θ2), vz∗sen (

θ2)) , s=cos( θ

2) , x=vx∗sen (

θ2) , ⋯

Page 21: Mapas Exponenciais

Reparametrização

(1)∣v∣=1, v= θ2∗v

(2)∣v∣=θ2

(3)q (s , v)=ev θ=(sin ( θ

2)v∣v∣, cos( θ

2))

(4)q (s, v)=evθ=(sinc ( θ2) v ,cos( θ

2))

(4)sinc(x)=sin(x)x

(5)R (w ,θ)=R ( −w ,360°−θ)

Atenção! Quaternion também pode ser visto como uma forma de mapeamento exponencial na 4º dimensão.

Comparação do comportamento da função sin(x) e sinc(x)

Page 22: Mapas Exponenciais

Mapas exponenciais e quaterninons

Como foi visto que o quarternion é uma forma de mapeamento exponencial também é possível constuir uma fórmula de aproximação para ele.

q=(θ2, s), R (q , v)=q.v. q

(met.I ) R (q , v)=eq .ev .e q

(met.II ) R (q , v)=M q. v

R (q , v)=∑n=0

∞ M qn

n!=I+M q+

M q2

2!+

M q3

3 !+

M q4

4 !+⋯

Desafio: Será que é possível simplificar o produto dos quaternions?

Atenção! Mq

n é

o produto de quaternions!

Page 23: Mapas Exponenciais

Referências:

1. Murray, Richard ; Li, Zexiang; Sastry, S. Shankar; A Mathematical Introduction to Robotic Manipulation CRC Press; 1 edition (March 22, 1994). ISBN-10: 0849379814. ISBN-13: 978-0849379819

2. Cheng, Steve. A proof of Rodrigues' rotation formulahttp://planetmath.org/encyclopedia/ProofOfRodriguesRotationFormula.html [acessado em 14/09/11]

3. Grassia, F. Sebastian. Practical parameterization of rotations using the exponential map. Journal of Graphics Tools, vol 3, pags 29-48. 1998

4. Kazhdan, Misha. Quaternions and Exponentials www.cs.jhu.edu/~misha/Spring11/27.pdf [acessado em 14/09/11]

5. Artigos da wikipédia [acessados em 14/09/11]http://en.wikipedia.org/wiki/Skew-symmetric_matrixhttp://en.wikipedia.org/wiki/Quaternionhttp://en.wikipedia.org/wiki/3-spherehttp://en.wikipedia.org/wiki/SO%283%29