|
AMIGA.InFo • Mayo/Junio 1995 • Número 3
MODELADO 3D:
El dominio de las curvas
En esta ocasión vamos a profundizar un poco más en la
creación de objetos con Real 3D. Nos introduciremos en el
modelado avanzado con el uso de curvas "B-Spline" y la composición de las mismas para generar superficies muy complejas. |
Santi
Maspons
NOTA: Pulsando sobre las fotos con borde azul ampliarás la imagen.
|
En un artículo anterior repasábamos los tipos de objetos que nos ofrece Real 3D pero no nos referimos a objetos importantes de otros programas como Imagine. Lightwave, Sculpt o Videoscape. Estas herramientas disponen también de una extensa colección de objetos ya creados en varios años de funcionamiento por diversos autores. Muchos de estos objetos están disponibles en el dominio público en Internet o CD-ROMs recopilatorios (series AMINET, CDPD, 17 BIT, etc...) y otros se pueden adquirir mediante la compra de CD-ROMs comerciales como la serie LIGHTROM. Todos estos objetos son susceptibles de ser usados en Real 3D. Sólo basta con adquirir un programa de conversión como InterChange de SYNDESIS CORPORATION, Pixel 3D de AXIOM SOFTWARE a otros equivalentes. Como veremos, el procedimiento de exportación de objetos de Real 3D a otros programas es más complicado. No obstante, en esta sección de Amiga.InFo queremos promover y animar a la creación propia de objetos más elaborados.
Conversión de Objetos 3D
Algunos lectores de Amiga.InFo nos han enviado cartas señadando que no hay conversores de objetos de Real 3D hacia otros programas pero sí de varios formatos a Real 3D. La razón es que los objetos de Real 3D tienen unas particularidades muy especiales que dificultan la conversión. A fin de obtener la máxima calidad, los objetos básicos de Real 3D como esferas, prismas y pirámide, no están definidos con los clásicos polígonos planos o triangulares, si no que se definen matemáticamente. COn este método, se pueden crear esferas y curvas perfectas ya demás no ocupan apenas memoria.
Por ejemplo, en lugar de guardar la información de la posición y el tamaño de cada uno de los muchos polígonos que deben componer una esfera "decente" nos limitamos a guardar las coordenadas espaciales del centro y sus tres radios (diferentes en el caso de un elipsoide en forma de balón de rugby). Este método permite crear objetos sólidos con la misma facilidad que los huecos y con la máxima calidad que permite el modo gráfico en que trabajemos. El resultado obtenido es perceptible a simple vista. Hemos incluido un comparativo con una esfera generada con los dos métodos. Las cifras que acompañan a las figuras hablan por sí solas. La perfecta esfera ocupa 194 bytes mientras que la "estrella de la muerte"™ necesita más de 8000 polígonos y 146.244 bytes. Estos datos son interesantes y hay que tenerlos en cuenta si trabajamos en una escena que precisa contener muchas esferas u objetos semejantes y no queremos despilfarrar recursos de la máquina. debemos indicar que si convertimos una esfera generada con polígonos al formato de Real 3D (Real 3D también acepta Sculpt o DXF de Autocad), no obtenemos una esfera primitiva de Real 3D, sino un objeto complejo generado por multitud de polígonos. NO se trata de un fallo o error del conversor, sino de que el objeto está compuesto por estos polígonos que actúan a modo de caras. El conversor debería ser bastante elaborado para efectuar la transformación deseada. La conversión de objetos de Real 3D a otros formatos sólo requeriría de un troceado de las primitivas en polígonos como trapecios o triángulos. Sería un proceso mucho más simple ya que conocemos de que objeto se trata y sólo debe consultarnos la cantidad de polígonos que deseamos. No conocemos la existencia de ningún conversor que realice estas operaciones entre los citados formatos.
Programas como Imagine y LightWave usan generalmente como base los objetos creados con múltiples polígonos y luego realizan una operación de suavizado de contornos "Phong". Esta representación de objetos no tiene todos los inconvenientes, permite por ejemplo, que en un entorno multiprocesador, cada "CPU" se ocupe de generar un polígono en paralelo. Hay que decir que existen máquinas con multitud de procesadores conectados entre sí (256 CPU's o más) colaborando en los complejos cálculos de generación de una imagen sintética. También es cierto que cada CPU se podría encargar de la generación de una primitiva, pero es una distribución de tareas más complicada. Otra posible razón es que los algoritmos de trazado de rayos de luz son más simples al tratar sólo con superficies planas, aunque se aumente el número de polígonos.
Formas Libres
Figura 3. Con pocos puntos podemos controlar curvas complejas. La potencia de las "B-Splines" permite modelado avanzado sin la necesidad de manejar grandes volúmenes de información. |
Las mismas ventajas de las primitivas de Real 3D pueden disfrutarse en las formas libres o "MESHES". Las formas libres se basan en las curvas "B-Spline". Estas curvas se pueden definir con unos pocos puntos "Knots". Un algoritmo calcula la curva que pasa por estos puntos. La curva se puede controlar moviendo estos puntos. Una forma cómoda de trabajar con estas curvas es usar la ventana "Tool" y activar el botón "Ctrl".
Aparecen los iconos correspondientes a estos controles que incluyen puntos, rectas, curvas B-spline o incluso espirales y huesos para articular objetos. Remarcamos que algunas curvas pueden definirse directamente como cerradas. La denominación de controles para referenciar a estas curvas es debido a que no se usarán para dibujar ningún objeto directamente. Se usan para indicar trayectorias de objetos animados o como elementos que compondrán una superficie visible. Nos detendremos un poco en esta última funcionalidad de los controles.
Figura 1. Esfera creada con 8192 polígonos en 258 segundos. El objeto ocupa 146.244 bytes. Imagen de 1024x768 pixels en 24 bits. |
Figura 2. Esfera creada con una primitiva esfera en 173 segundos. El objeto ocupa 194 bytes. Imagen de 1024x768 pixels en 24 bits. |
Podremos modelar objetos orgánicos con formas redondeadas o retorcidas, construir un rollo de papel higiénico o una cinta de celuloide con fotogramas de una escena de nuestra película preferida.
Una manera de modelar una forma libre es crear una rejilla de curvas "B-Spline" y mover los puntos de control para deformarla y doblarla. La opción del menú "Create/FreeForm/Mesh" pregunta el número de curvas que queremos usar en la dirección horizontal y vertical. Cuanto más elaborada vaya a ser la superficie, más curvas necesitaremos. La ventana "Tool" dispone de la misma función en el icono "Build". La resolución de la rejilla podremos variarla en cualquier momento a través de la opción "Modify/FreeForm/Remap". La usaremos para igualar la resolución de dos objetos diferentes en caso necesario.
Figura 4. Este objeto que con pocas modificaciones puede convertirse en una elegante pajarita o unas frágiles alas de mariposa ocupa ni más ni menos que 324 bytes. |
La metamorfosis de objetos requiere que éstos tengan la misma resolución. Esto no supondrá ningún problema ya que podemos aumentar la resolución de los objetos más simples a la del más complejo. De esta forma no perderemos la calidad del modelado realizado.
Este modelado puede suponer un duro trabajo de seleccionar puntos de la rejilla y moverlos. Más adelante veremos una forma fácil de generar superficies muy complejas. Los dispositivos de manejo de formas libres se reparten entre el teclado, la ventana "Tool" y las opciones de los menús. En la ventana "Tool" activaremos el icono "Free" y obtendremos las herramientas necesarias para doblar el número de puntos de control de una curva, para mover un punto, concatenar curvas seleccionadas o cambiar la dirección interna de una curva. Todas ellas están representadas con iconos intuitivos que al ser pulsados indican su función en la barra de título de la misma ventana "Tool". Cabe destacar que muchas funciones crean un objeto nuevo al ser aplicadas. Al concatenar dos curvas, por ejemplo, obtendremos una tercera curva resultado conservándose aún las originales.
Para manejar con más facilidad una rejilla que puede contener muchos puntos, disponemos de la posibilidad de agrupar puntos y tratarlos como objetos independientes. Una forma de crear grupos es marcar un rectángulo alrededor del grupo de puntos que queremos con las teclas Ctrl y Shift pulsadas.
Figura 5. Componiendo curvas podemos crear superficies complejas de forma muy fácil y rápida. |
Otra forma es realizar el mismo procedimiento con sólo la tecla Shift. De esta manera podemos ir seleccionando puntos y al final escoger la opción "Create/Structure/Group". En los dos procesos debemos tener seleccionada la rejilla o "Mesh" en la ventana de selección de objetos. En ambos casos obtenemos un objeto adicional llamado "Group_tmp" o "Group". Este objeto incluye los puntos que le hayamos indicado pero no corresponden a un objeto independiente. si movemos, rotamos o reescalamos estos grupos, deformaremos la rejilla .Esta posibilidad es muy flexible y permite realizar maravillas impensables con otro tipo de objetos.
Una vez hemos modificado los puntos, podemos eliminar este objeto temporal o dejarlo y renombrarlo para reconocerlo en posteriores modificaciones. Como ejemplo sencillo, hemos reducido y rotado 180 grados la zona central de la rejilla. El resultado es una elegante pajarita diseñada y generada en menos de un minuto.
La creación de objetos llega a hacerse excitante cuando usamos la composición de curvas. Dibujamos dos curvas al azar y escogemos la herramienta "Create/FreeForm/Coplanar" con las dos curvas seleccionadas. Obtenemos una superficie creada al desplazar una curva a través de la otra. Si escogemos la opción "Create/FreeForm/Orthogonal" en el menú o en los iconos del útil "Build" de la ventana "Tool", obtenemos una curva parecida, pero la curva que se desplaza mantiene la perpendicularidad a la trayectoria y va rotando. Antes hemos mencionado que se pueden crear curvas cerradas. Es fácil deducir que el resultado de componer una curva cerrada a lo largo de otra curva irregular va a crear un tubo de apariencia orgánica.
Combinar una curva cerrada con otra cualquiera con composición ortogonal o perpendicular es parecido a generar un objeto de revolución pero con contorno irregular, no necesariamente circular ni elíptico. De hecho, se trata de la generalización del proceso de revolución a cualquier curva. Remarcamos que el orden en que se seleccionan las curvas es importante, ya que una curva queda quiera, y la otra se desplaza a través de ésta. Después de unas pocas pruebas se puede dominar esta potente técnica de modelado.
|