El Lienzo Digital
Iniciación a la Graficación
Objetivo de la misión: Calibrar tus habilidades lógicas y matemáticas antes de adentrarnos en la programación de gráficos bidimensionales y tridimensionales.
El Despertar del Render
Bienvenidos, futuros ingenieros. Hasta este momento de su carrera, han dominado el arte de hablar con las máquinas a través de líneas de código, terminales de texto y bases de datos. Han resuelto problemas abstractos que existen de forma invisible en la memoria del procesador. Pero ahora, las reglas del juego cambian.
En este cuatrimestre, su código dejará de ser solo texto para convertirse en luz, forma, movimiento y color. Están a punto de cruzar la frontera hacia la Graficación, el lugar donde la matemática pura se transforma en mundos virtuales, interfaces interactivas y simulaciones tridimensionales utilizando motores como OpenGL y DirectX.
Sin embargo, antes de poder construir un rascacielos digital o programar el movimiento fluido de un personaje, necesitamos asegurarnos de que los cimientos de nuestro motor lógico están intactos. Tu misión es responder con la mayor honestidad técnica posible. Si no conoces una respuesta, tu reporte táctico más valioso es un simple: “Aún no domino este concepto”.
Las Leyes de la Física Digital
Para que un objeto exista y se mueva en una pantalla, primero debemos dictar sus leyes físicas usando geometría y álgebra.
- Desafío 1: Imagina que has programado una nave espacial y su centro está exactamente en la coordenada P(x,y) de tu pantalla. El jugador presiona el mando para esquivar un asteroide, lo que requiere que la nave se mueva 5 unidades a la derecha y 3 unidades hacia abajo. Matemáticamente, ¿cómo escribirías la nueva posición P′(x′,y′)?
- Desafío 2 : Para hacer que esa misma nave gire, las computadoras no usan magia, usan matrices. Observa la siguiente fórmula que dicta la rotación en 2D:
Desafío 3 : Aplicando la matriz anterior, si el morro de tu nave está apuntando a las coordenadas iniciales x=1,y=0, y el jugador hace un giro cerrado de 90° (recuerda que el cos(90°) es 0 y el sin(90°) es 1), ¿cuáles serán las nuevas coordenadas exactas a las que apuntará la nave?
El ADN de la Imagen
Todo lo que ves en un monitor es una ilusión óptica creada por millones de puntos de luz. Vamos a diseccionar esa ilusión.
- Desafío 4 : Explica, como si se lo estuvieras describiendo a un desarrollador junior, qué es exactamente un “píxel” y cómo imaginas que la memoria RAM almacena la información de color para que el monitor sepa qué tono brillar.
- Desafío 5: En cualquier sistema gráfico, saber qué tan lejos está un objeto de otro es vital. Utilizando pseudocódigo o tu lenguaje de programación favorito, escribe una función rápida que reciba las coordenadas cartesianas de dos objetos distintos y calcule la distancia lineal exacta entre ellos.
El Arsenal Gráfico
Pronto dejaremos el plano 2D para saltar al espacio tridimensional. Veamos qué herramientas traes equipadas en tu inventario.
- Desafío 6: ¿Alguna vez has experimentado con librerías gráficas, motores de videojuegos o APIs como OpenGL, Vulkan, WebGL o DirectX? Si es así, cuéntame brevemente qué construiste o intentaste construir.
- Desafío 7: En el mundo del 3D, utilizamos términos como “coordenadas homogéneas” o “proyecciones de perspectiva”. ¿Tienes alguna idea de lo que significan o para qué sirven? (Recuerda: “Aún no lo sé” es una respuesta perfectamente válida y útil para esta misión).
