TITLE: 12 Catenoids
NAME: Robert W. McGregor
COUNTRY: USA
EMAIL: rob@mcgregorfineart.com
WEBPAGE: www.mcgregorfineart.comJPGFILE: 12_Catenoids.jpg
ZIPFILE: 12_Catenoids.zip

TOPIC: Minimalism
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
JPGFILE: 12_caten.jpg
ZIPFILE: 12_caten.zip
RENDERER USED: 

        POVRAY 3.6


TOOLS USED: 

        POV-SDL
        PhotoShop (for JPEG conversion)

RENDER TIME: 
    45 minutes @ 1280x1024 px

HARDWARE USED: 
    Dell PC, Pentium 4 (w/HT), 3 Ghz, 512 MB RAM


IMAGE DESCRIPTION: 

I wanted a dual meaning to this piece based on the topic "Minimalism" and I
thought that using mathematical minimal surfaces in a minimalist composition 
would be fun. After doing some research on the Minimalist Art Movement of the 
1960s and 1970s I decided on a composition inspired by the 1967 sculpture 
"Addendum" by the late Eva Hesse. I found a photo of it at: 

http://www.tate.org.uk/collection/T/T02/T02394_9.jpg.

The basic composition is a series of nails in a red cedar board, each 
supporting a piece of twine from which dangle one or more metal catenoids 
(a minimal surface of revolution). The lengths of the pieces of twine 
correspond to the first five Fibonacci numbers, as does the number of 
catenoids on each length (1-1-2-3-5). This gives a total of 12 minimal 
surfaces dangling in front of another minimal surface of revolution - the 
background plane. Complex, yet simple. I like that...

                                                     

DESCRIPTION OF HOW THIS IMAGE WAS CREATED: 

I created this image using the POV-SDL exclusively. 

The catenoids are parametric primitives converted to Mesh2 objects with Ingo 
Janssen's amazing "param.inc" and "makemesh.inc" utilities. I used parametric 
equations for the catenoid like this:

   #local c = 1.0;
   #local fx = function(u,v) { c*cosh(v/c)*cos(u) }
   #local fy = function(u,v) { c*cosh(v/c)*sin(u) }
   #local fz = function(u,v) { v }
   Parametric ( 
      fx, fy, fz
      <0, -1>, <2*pi, 1>, 
      100, 100, 
      "Catenoid.inc"
   ) 

The board is an isosurface with some 3d noise for grain displacement:

   isosurface  { 
      function { pow(x, 10)+pow(y*5, 10)-(1-f_noise3d(x*20,y*10,z)*0.6) }
      contained_by { box { -<1,1/5,50>, <1,1/5,50> } }
      max_gradient 50
      material {M_Wood}
   }

The nails are cylinders and ellipsoids with a procedural ripple bump map
on the heads for nice, realistic closeups.

The twine is a blob_spline created using Chris Colefax' indispensable spline 
macros. The blob_spline is twisted along its length and then "braided" into
twine using two copies of the spline rotated on the y-axis at 120 and 240 
degrees.

The backgound is just a plane with an averaged granite surface normal map
material that looks really good closeup or far away:

   #declare M_Wall = material {
      texture {
         normal { 
            average
            normal_map {
                1 bumps 0.075 scale 0.75 
                1 granite 0.235 scale 4 
                0.5 granite 0.235 scale 1 
                0.5 granite 0.235  scale 0.3 
                0.5 granite 0.4 scale 0.1 
                0.25 granite 0.65 scale 0.01 
            }
            scale 0.5
         }
         pigment {rgb 1.25}
      }
   }



