En este tema, exploraremos cómo se representan los objetos en un espacio tridimensional (3D). La representación de objetos 3D es fundamental para la creación de gráficos por computadora, simulaciones y aplicaciones de realidad virtual y aumentada. A lo largo de esta sección, aprenderemos sobre los conceptos básicos y avanzados que permiten la manipulación y visualización de objetos en 3D.
Contenidos
- Modelos de Representación 3D
- Mallas Poligonales
- Superficies Paramétricas
- Modelos de Vóxeles
- Coordenadas Homogéneas
- Representación de Puntos, Líneas y Polígonos
- Ejemplos Prácticos
- Ejercicios y Soluciones
- Modelos de Representación 3D
Mallas Poligonales
Las mallas poligonales son una de las formas más comunes de representar objetos 3D. Una malla poligonal está compuesta por vértices, aristas y caras. Las caras suelen ser triángulos o cuadriláteros.
- Vértices: Puntos en el espacio 3D definidos por coordenadas (x, y, z).
- Aristas: Líneas que conectan dos vértices.
- Caras: Superficies planas delimitadas por aristas.
Ejemplo de Malla Poligonal
Vértices: V1 = (1, 1, 1) V2 = (1, -1, 1) V3 = (-1, -1, 1) V4 = (-1, 1, 1) V5 = (1, 1, -1) V6 = (1, -1, -1) V7 = (-1, -1, -1) V8 = (-1, 1, -1) Caras: F1 = (V1, V2, V3, V4) F2 = (V5, V6, V7, V8) F3 = (V1, V2, V6, V5) F4 = (V2, V3, V7, V6) F5 = (V3, V4, V8, V7) F6 = (V4, V1, V5, V8)
Superficies Paramétricas
Las superficies paramétricas se definen mediante funciones matemáticas que utilizan parámetros para describir la superficie. Un ejemplo común es la superficie de una esfera.
Ejemplo de Superficie Paramétrica
La ecuación paramétrica de una esfera de radio \( r \) es:
\[
\begin{cases}
x(u, v) = r \sin(u) \cos(v)
y(u, v) = r \sin(u) \sin(v)
z(u, v) = r \cos(u)
\end{cases}
\]
donde \( u \) y \( v \) son parámetros que varían dentro de ciertos rangos.
Modelos de Vóxeles
Los modelos de vóxeles representan objetos 3D mediante una división del espacio en pequeños cubos llamados vóxeles (volumetric pixels). Cada vóxel contiene información sobre la presencia o ausencia de material en esa región del espacio.
Ejemplo de Modelo de Vóxeles
- Coordenadas Homogéneas
Las coordenadas homogéneas son una extensión de las coordenadas cartesianas que facilitan la representación y transformación de objetos en 3D. En coordenadas homogéneas, un punto \((x, y, z)\) se representa como \((x, y, z, w)\), donde \( w \) es un factor de escala.
Ejemplo de Coordenadas Homogéneas
Un punto \((2, 3, 4)\) en coordenadas cartesianas se puede representar en coordenadas homogéneas como \((2, 3, 4, 1)\).
- Representación de Puntos, Líneas y Polígonos
Puntos
Un punto en el espacio 3D se representa por sus coordenadas \((x, y, z)\).
Líneas
Una línea en el espacio 3D se puede representar mediante dos puntos extremos \((x1, y1, z1)\) y \((x2, y2, z2)\).
Polígonos
Un polígono en 3D se define por una secuencia de puntos (vértices) conectados por líneas (aristas).
Ejemplo de Representación de un Triángulo
- Ejemplos Prácticos
Ejemplo 1: Representación de un Cubo
Vértices: V1 = (1, 1, 1) V2 = (1, -1, 1) V3 = (-1, -1, 1) V4 = (-1, 1, 1) V5 = (1, 1, -1) V6 = (1, -1, -1) V7 = (-1, -1, -1) V8 = (-1, 1, -1) Caras: F1 = (V1, V2, V3, V4) F2 = (V5, V6, V7, V8) F3 = (V1, V2, V6, V5) F4 = (V2, V3, V7, V6) F5 = (V3, V4, V8, V7) F6 = (V4, V1, V5, V8)
Ejemplo 2: Representación de una Esfera
Usando la ecuación paramétrica de una esfera:
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D u = np.linspace(0, 2 * np.pi, 100) v = np.linspace(0, np.pi, 100) x = np.outer(np.cos(u), np.sin(v)) y = np.outer(np.sin(u), np.sin(v)) z = np.outer(np.ones(np.size(u)), np.cos(v)) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot_surface(x, y, z, color='b') plt.show()
- Ejercicios y Soluciones
Ejercicio 1: Representación de un Tetraedro
Enunciado: Representa un tetraedro en el espacio 3D utilizando vértices y caras.
Solución:
Vértices: V1 = (1, 1, 1) V2 = (1, -1, -1) V3 = (-1, 1, -1) V4 = (-1, -1, 1) Caras: F1 = (V1, V2, V3) F2 = (V1, V2, V4) F3 = (V1, V3, V4) F4 = (V2, V3, V4)
Ejercicio 2: Transformación de Coordenadas Homogéneas
Enunciado: Convierte el punto \((3, 4, 5)\) a coordenadas homogéneas y luego aplícale una transformación de escala con un factor de 2.
Solución:
-
Convertir a coordenadas homogéneas: \((3, 4, 5) \rightarrow (3, 4, 5, 1)\)
-
Aplicar la transformación de escala: \[ \begin{pmatrix} 2 & 0 & 0 & 0
0 & 2 & 0 & 0
0 & 0 & 2 & 0
0 & 0 & 0 & 1
\end{pmatrix} \begin{pmatrix} 3
4
5
1
\end{pmatrix}\begin{pmatrix} 6
8
10
1
\end{pmatrix} \]
Conclusión
En esta sección, hemos aprendido sobre las diferentes formas de representar objetos en 3D, incluyendo mallas poligonales, superficies paramétricas y modelos de vóxeles. También hemos explorado el uso de coordenadas homogéneas y cómo representar puntos, líneas y polígonos en el espacio 3D. Los ejemplos prácticos y ejercicios proporcionados deben ayudar a consolidar estos conceptos y prepararte para las siguientes secciones del curso.
Matemáticas 3D
Módulo 1: Fundamentos de Álgebra Lineal
- Vectores y Espacios Vectoriales
- Matrices y Determinantes
- Sistemas de Ecuaciones Lineales
- Autovalores y Autovectores
Módulo 2: Transformaciones Lineales
- Definición y Propiedades
- Matrices de Transformación
- Rotaciones, Traslaciones y Escalados
- Composición de Transformaciones
Módulo 3: Geometría en el Espacio 3D
- Coordenadas y Planos
- Vectores en el Espacio 3D
- Producto Escalar y Vectorial
- Ecuaciones de Planos y Rectas