POV-Ray : Newsgroups : povray.binaries.images : Trying to understand spline meshes : Trying to understand spline meshes Server Time
14 Nov 2024 10:15:14 EST (-0500)
  Trying to understand spline meshes  
From: Greg M  Johnson
Date: 28 Feb 2004 23:42:26
Message: <40416db2$1@news.povray.org>
//scene file below, discussion in povray.general.


camera { location  <4, 0, -180> look_at <0, 0.25, 0> angle 15}

sky_sphere { pigment {
    function{abs(y)}
    color_map { [0.0 color blue 0.6] [1.0 color rgb 1] }
  }
}

light_source {<100,200,-100> colour rgb 1.2}

// ----------------------------------------


// This spline describes the path along the object
// From control points 0 to 1

#declare USpline =  spline {
  //linear_spline
  natural_spline

   // -1, .1,


      0,   <-9.5,3,-4>,
      0.2,   <-8,0,0>,
      0.5,   <0,0,0>,
      0.8,   <8,0,0>,
      1.0,   <9.5,3,-4>}


// This spline describes the cross section of the object
// For a closed shape the spline should have the same values at control
points 0 and 1
// The z coordinate is not used
#declare VSpline =
  spline {
    cubic_spline
    //linear_spline
   -0.125, <0.5,-0.5,0>,
    0,     <0.75,-0.250,0>,
    0.125, <0.5,0.5,0>,
    0.25,  <-0.25,0.75,0>,
    0.375, <-0.5,0.75,0>,
    0.5,   <-1,0,0>,
    0.625, <-0.5,-0.5,0>,
    0.75,  <0,-1,0>,
    0.875, <0.5,-0.5,0>,
    1,     <0.75,-0.250,0,0>
    1.125, <0.5,0.5,0>,
  }

// This spline describes how the width varies
#declare WSpline = spline {
  natural_spline
   // -1, .1,
    0.00, 0.02,
    0.25, 0.2,
    0.35, 0.75,
    0.425,3
    0.575,3
    0.65, 0.75,
    0.75, 0.2,
    1.00, 0.02
    //2.0, .12
 }

#declare Upoints = 50;  // Number of points along
#declare Vpoints = 50;  // Number of points around
#declare Filename = ""

#include "SweepSpline.inc"


#declare Newsplineobject=

object {
  SweepSpline(USpline, VSpline, WSpline, Upoints, Vpoints, Filename)
        pigment {rgb <1,1,1>}
        finish {phong 0.5 phong_size 10}

}


object{Newsplineobject rotate 90*y translate -15*x}
object{Newsplineobject rotate 150*y}
object{Newsplineobject rotate 210*y translate 15*x}


Post a reply to this message


Attachments:
Download 'SweepSplinefixd0202.jpg' (25 KB)

Preview of image 'SweepSplinefixd0202.jpg'
SweepSplinefixd0202.jpg


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.