Cómo calcular una función Lookat

Para definir matemáticamente la función lookAt , deben hacerse algunas definiciones preliminares. Suponga que usted está de pie mirando a un punto. Donde tú estás, que definimos como P_eye . El punto que usted está mirando definimos como P_current . El punto que está " tratando " de ver que definimos como p_target . La función lookAt es una función que, dados estos puntos , calcula el ángulo necesario para rotar P_eye de P_current a p_target (en otras palabras , el ángulo que usted necesita dar vuelta a su cabeza para mirar a p_target ) . En términos técnicos , la función lookAt es el arco - coseno del producto escalar del vector desde el ojo hasta el punto actual y el vector desde el ojo hasta el punto de destino . Cosas que necesitará Lápiz

Papel
Calculadora
Mostrar Más instrucciones Matemáticas 1

Dibuja un eje x y el eje y . El eje X va horizontalmente ( una línea que va de izquierda a derecha ) , y el eje y pasa verticalmente ( una línea que va de abajo a arriba ) .
2

Definir P_eye . Para la función lookAt , todos los puntos se deben definir en 2 dimensiones . Por ejemplo , podemos definir P_eye como el punto (1,1) - esto significa que nos acercamos a un punto que es de 1 unidad en la dirección " x" ( izquierda) y una unidad en la dirección "y" ( hacia arriba) < . br> Página 3

Definir P_current . Este es el punto que el ojo está mirando. Por ejemplo , podemos definir P_current como (3,3 ) .
4

Definir p_target . Este es el punto de "objetivo " el ojo con el tiempo se verá en . Por ejemplo , este punto puede ser ( 2 , 5 ) .
5

Calcular N_current . Este es el vector de P_eye a P_current , o en otras palabras , P_current - P_eye . En nuestro ejemplo, N_current es: ( 3,3) - (1,1 ) = ( 2,2)
6

Calcular N_target . . Este es el vector de P_eye a p_target , o en otras palabras , p_target - P_eye.In nuestro ejemplo , N_target es : . ( 2,5 ) - ( 1,1 ) = ( 1,4 )
7

Calcula el producto escalar de N_current y N_target . En nuestro ejemplo , obtenemos: (2,2) . (1,4 ) = 2 * 1 + 2 * 4 = 2 + 8 = 10 .
8

Tome el arco coseno de la respuesta que recibió en el paso anterior . En nuestro ejemplo , obtenemos: arccos ( 10 ) = 1,47 radianes. Este es el resultado final de la función lookAt : es el ángulo que el ojo debe girar para mirar el punto de destino

.