The POV Bicubic Mesh Tutorial - Page 2

- because sometimes, the modelers just don't cut it


How do I use these bicubic things in POV?

I hope you like matrices......

Each bicubic sheet is a collection of sixteen control points, which make up a "control hull". Each point on the control hull controls the deformation of the area around it. Here's the declareation syntax:

bicubic_patch {
    type [0 or 1]
    flatness [between 0 and 1]
    u_steps [between 0 and 4]
    v_steps [between 0 and 4]
    point 1, point 2, point 3, point 4,
    point 5, point 6, point 7, point 8,
    point 9, point 10, point 11, point 12,
    point 13, point 14, point 15, point 16
      texture {
        pigment { color <.6, 0, 0> }
        finish {
          metallic
          ambient 0.2
          diffuse 0.7
          brilliance 6
          phong 0.75
          phong_size 80
        }
      }
   }

Let's get one thing straight right away. Just because a control point affects the deformation of the mesh, DOES NOT mean that the surface of the mesh will intersect the control point. This is best shown by the example below, where the control hull is shown in green and the vertices of the hull are the control points:

You can think of the points of the control hull as sixteen individual points, but it's much easier to think of a four-by-four matrix where each point in the matrix corresponds directly to a point on the mesh, as shown below:

The actual POV code for this mesh is shown here:

bicubic_patch {
    type 1
    flatness .001
    u_steps 3
    v_steps 3
    <0, 3, 0>, <1, 3, 0>, <2, 3, 0>, <3, 3, 0>,
    <0, 2, 0>, <1, 2, 0>, <2, 2, 0>, <3, 2, 0>,
    <0, 1, 0>, <1, 1, 0>, <2, 1, 0>, <3, 1, 0>,
    <0, 0, 0>, <1, 0, 0>, <2, 0, 0>, <3, 0, 0>
   }

For more information on the meanings of the syntax, check the POVray documentation.


Coming soon: Page 3 - Modeling and Complex shapes with bicubics


Comments? Write me!