>> Tecnologia eletrônica >  >> Câmeras >> Câmeras de Vídeo

Como calcular uma função Lookat

Para definir matematicamente a função lookAt , algumas definições preliminares devem ser feitas. Suponha que você está em pé olhando para um ponto. Onde você está em pé é que definimos como P_eye . O ponto que você está olhando para nós definimos como P_current . O ponto que está "tentando" a olhar para nós definimos como P_target . A função lookAt é uma função que , dada a esses pontos , calcula o ângulo necessário para girar P_eye de P_current para P_target (em outras palavras , o ângulo que você precisa para virar a cabeça para olhar para P_target ) . Em termos técnicos , a função lookAt é o arco - cosseno do produto escalar do vetor do olho para o ponto atual eo vetor do olho para o ponto de destino . Coisas que você precisa Lápis Papel

Calculadora
Mostrar Mais instruções
1

Desenhe um eixo xe eixo y. O eixo x vai na horizontal ( uma linha que vai da esquerda para a direita) , eo eixo y passa verticalmente (a linha que vai de baixo para cima ) .
2

Definir P_eye . Para a função lookAt , todos os pontos devem ser definidos em duas dimensões. Por exemplo , podemos definir P_eye como o ponto (1,1) - isto significa que desenhar um ponto que é uma unidade na direção "x" (esquerda) e uma unidade na direção "y" (para cima) < . br>
3

Definir P_current . Este é o ponto que o olho está olhando. Por exemplo , podemos definir P_current como (3,3 ) .
4

Definir P_target . Este é o ponto "target " o olho acabará por olhar. Por exemplo, este ponto pode ser (2, 5).
5

Calcular N_current . Este é o vector de P_eye para P_current , ou em outras palavras , P_current - P_eye . No nosso exemplo, N_current é: ( 3,3) - (1,1 ) = ( 2,2)
6

Calcular N_target . . Este é o vector de P_eye para P_target , ou em outras palavras , P_target - P_eye.In nosso exemplo , N_target é : . ( 2,5 ) - ( 1,1 ) = ( 1,4 )
7

Calcule o produto escalar de N_current e N_target . No nosso exemplo, temos: (2,2 ) . (1,4) = 2 * 1 + 2 * 4 = 2 + 8 = 10.
8

Pegue o arco - cosseno de a resposta que obteve na etapa anterior . No nosso exemplo, temos: arccos (10) = 1,47 radianos. Este é o resultado final da função lookAt , é o ângulo que o olho deve voltar-se para olhar para o ponto de destino

.