Como lo prometido es deuda, voy a comentar el uso de las isosuperficies en mis dos últimas imágenes que he colocado en la galería de fotos.
Las isosuperficies me parecen ideales para modelar objetos con detalles complejos, rugosos o objetos de la naturaleza con apariencia fractal (montañas, rocas, corteza de arboles...)

En la imagen del desván las he usado para crear una pared vieja y desconchada. Utiliza una función del tipo z + pigment{bozo}. El mapa de color permite ajustar el tamaño y densidad de los desconchones de la pared; las irregularidades se obtienen con los ajustes de turbulencia.
A la hora de la textura utilizo tres capas de textura que son:
- Una con un mapa de pigmentos en gradiente para que las partes no desconchadas tengan la textura de cal y los agujeros sean de adobe.
- Una capa de textura de suciedad con un patron gradiente con algo de turbulencia para que las zonas inferiores esten mas oscuras.
- Una última capa de textura slope que simula la acumulación de polvo. Esta textura no es muy evidente y la he utilizado en todos los objetos para darle un aspecto más envejecido.
En cuanto a las vigas, la función es abs(x) + abs(z) + pigment{ Granite}. Con el mapa de color y la escala apropiada se puede simular el aspecto de una viga envejecida. La textura es una simple textura de madera.
La pared con ventana, es una simple diferencia de una caja. Inicialmente modelé una isosuperficie con el hueco de la ventana para que también las irregularidades se prolongaran, pero a la hora de texturizar me daba problemas al utilizar un gradiente como patrón. De todas formas en vez de restar una caja podía haber restado otra isosuperficie y solventaba el problema; pero ay! caí tarde en ese detalle.
NOTA: El código fuente esta disponible para cualquiera que me lo solicite.
USANDO ISOSUPERFICIES (II)
Continuo comentando algo más acerca de las isosuperficies con la imagen de la botella.

Las isosuperficies son estupendas en entornos naturales. En este caso se utilizan para la arena de la playa con una función y - f_bozo - f_wrinkles. La primera función (Y) define un plano X-Z, la función f_bozo añade al plano ondulaciones. Se puede escalar cada eje multiplicando o dividiendo por un factor para hacer que las pequeñas dunas de la arena sean alargadas como es más natural. Finalmente la función wrinkles añade irregularidades de menor escala a la arena para que no sea tan uniforme. Además la textura utilizada incorpora una perturbación de la normal para simular el granulado de la arena.
Las rocas que hay en segundo plano utilizan una función f_sphere - f_crackle + f_granite. La función f_sphere crea evidentemente una esfera a la que se añade la función f_crackle para crear las rocas. El usar una esfera como base sirve para formar un cúmulo de rocas que no tenga el corte brusco del contained_by. Por último, la función f_granite erosiona la roca para darle un aspecto más parecido a una roca castigada por el mar. La función f_granite se escalo en cada eje en un factor distinto, aplanando las estrias que se forman en el eje Y.
El corcho de la botella tambien es una isosuperficie, en este caso simplemente f_bozo - valor. La función f_bozo en los tres ejes crea un patrón de ruido que al restarle un valor forma una estructura similar a un queso gruyere. Modificando el valor que restamos agrandamos o reducimos los agujeros. Como las isosuperficies solo pueden estar contenidas en una caja o una esfera, para crear la forma del corcho utilicé una intersección entre la isosuperficie y un cono truncado. En estos casos puede ser necesario añadir la palabra all_intersecction.
En internet se puede encontrar un manual de Mike Williams muy util sobre el uso de la isosuperficies y las superficies paramétricas. Tiene una orientación muy matemática (de hecho este señor es matemático), pero es muy util porque define una infinidad de funciones muy interesantes y vistosas. Aqui está la dirección: http://www.econym.demon.co.uk/isotut
Espero que os sea util
¡Tienes que ser miembro de POVRAY en Castellano para agregar comentarios!
Únete a esta red social