Ciencias Base: Requerimientos de Física Vectorial y Cálculo para Motores de Juego
¿Odias las matemáticas? Entonces no puedes ser programador de juegos. Explicamos para qué sirven los Vectores, el Producto Punto y las Máquinas de Estados en el código real.

Carlos Lara
Senior Audio Engineer & Founder
Publicado
2025-12-26
Lectura
10 min

Carlos Lara
Senior Audio Engineer & Founder
Publicado
2025-12-26
Lectura
10 min
1. Vectores: La Unidad Fundamental
Todo en el espacio 3D se define con vectores. Posición `(x,y,z)`, Velocidad `(vx,vy,vz)` y Aceleración. La operación más común es la Resta de Vectores para obtener un vector dirección:
// Código para que un enemigo mire al jugador
Vector3 targetDir = Player.Position - Enemy.Position;
float distance = targetDir.Magnitude(); // Pitágoras: sqrt(x*x + y*y + z*z)
// Importante: Normalizar para tener solo dirección
Vector3 direction = targetDir / distance;
// Ahora podemos mover al enemigo
Enemy.Position += direction * Speed * DeltaTime;2. Producto Punto (Dot Product): El Ojo Matemático
¿Cómo sabe un NPC si te está viendo? No tiene ojos. Usa matemáticas. El Producto Punto entre el vector 'Hacia donde miro' (Forward) y el vector 'Hacia el jugador' nos da un número escalar.
| Resultado Dot Product | Interpretación Geométrica | Uso en Gameplay |
|---|---|---|
| 1.0 | Vectores idénticos | Jugador está justo enfrente. |
| 0.0 | Perpendiculares (90°) | Jugador está al lado. |
| -1.0 | Opuestos (180°) | Jugador está justo detrás. |
| > 0.5 | Dentro de 60° (aprox) | Rango de visión (Cono de visión). |
3. Producto Cruz (Cross Product)
El Cross Product toma dos vectores y te devuelve un tercero *perpendicular* a ambos. Esto es magia negra vital para:
- ◆Calcular Normales: Para que la luz sepa cómo rebotar en una superficie triangular.
- ◆Movimiento Lateral: Si tienes el vector 'Adelante' y el vector 'Arriba', su producto cruz te da 'Derecha'. Así es como funciona el strafing en los FPS.
Integración Física: Euler vs Verlet
Cuando simulas física, estás integrando (sumando) pequeños pasos de tiempo. El método simple (Euler) es impreciso y acumula error. Los ingenieros de verdad usan Verlet Integration o Runge-Kutta 4 para simulaciones estables como telas (ropa) o vehículos.
Reto de Ingeniería
¿Podrías programar el rebote de una granada contra una pared inclinada? Necesitas calcular el Vector de Reflexión usando el Producto Punto y la Normal de la pared: R = V - 2(V·N)N. Si no entendiste la fórmula, necesitas estudiar en Cardan.
Conclusión
No necesitas ser un genio matemático para hacer juegos, pero necesitas perderle el miedo a las fórmulas. En Cardan, no memorizamos ecuaciones; visualizamos su efecto en el mundo virtual. Las matemáticas son el pincel del programador.
