Cómo calcular una función LookAt

Para definir matemáticamente la función lookAt, se requieren algunas definiciones previas. Asume que estás de pie mirando un punto. Dónde estás parado definimos como P_ojo. El punto que miras definimos como P_actual. El punto que "intentas" mirar definimos como P_objetivo. La función lookAt calcula, dados estos puntos, el ángulo necesario para rotar P_ojo desde P_actual a P_objetivo (el ángulo que debes girar la cabeza para mirar P_objetivo). En términos técnicos, la función lookAt es el arco-coseno del producto escalar del vector desde el ojo al punto actual y el vector desde el ojo al punto objetivo.

Elementos necesarios

  • Lápiz
  • Papel
  • Calculadora

Instrucciones

  1. Paso 1: Dibuja un eje x e y. El eje x va horizontalmente (izquierda a derecha), y el eje y verticalmente (abajo a arriba).

  2. Paso 2: Define P_ojo. Para la función lookAt, todos los puntos deben definirse en 2 dimensiones. Por ejemplo, P_ojo como (1,1): 1 unidad en dirección "x" (izquierda) y 1 en "y" (arriba).

  3. Paso 3: Define P_actual. Es el punto que el ojo mira actualmente. Por ejemplo, (3,3).

  4. Paso 4: Define P_objetivo. Es el punto "objetivo" que el ojo mirará eventualmente. Por ejemplo, (2,5).

  5. Paso 5: Calcula N_actual. Es el vector de P_ojo a P_actual, es decir, P_actual - P_ojo. En nuestro ejemplo: (3,3) - (1,1) = (2,2).

  6. Paso 6: Calcula N_objetivo. Es el vector de P_ojo a P_objetivo, es decir, P_objetivo - P_ojo. En nuestro ejemplo: (2,5) - (1,1) = (1,4).

  7. Paso 7: Calcula el producto escalar de N_actual y N_objetivo. En nuestro ejemplo: (2,2)·(1,4) = 2×1 + 2×4 = 2 + 8 = 10.

  8. Paso 8: Toma el arco-coseno del resultado anterior. En nuestro ejemplo: arccos(10) = 1,47 radianes. Esta es la salida final de la función lookAt; el ángulo que el ojo debe girar para mirar el punto objetivo.