home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 1995 January / pcw-0195.iso / polyray / dat / animate / bezier / bezier2.pi next >
Text File  |  1994-12-31  |  1KB  |  57 lines

  1. start_frame 0
  2. end_frame 59
  3.  
  4. define t0 0
  5. define t1 60
  6. define increment frame / (t1 - t0)
  7.  
  8. // Bezier patch
  9. viewpoint {
  10.    from <0,0,-15>
  11.    at <0,0,0>
  12.    up <0,1,0>
  13.    angle 45
  14.    resolution 160, 160
  15.    }
  16.  
  17. background <0, 0, 0>
  18. light 0.8 * white, <-10,10, -5>
  19. light 0.8 * white, < 10,10, -5>
  20.  
  21. define shiny_red
  22. texture {
  23.    special surface {
  24.       color (N . I > 0 ? magenta : red)
  25.       ambient 0.1
  26.       diffuse 0.8
  27.       specular white, 0.5
  28.       microfacet Reitz 10
  29.       }
  30.    }
  31.  
  32. define pt110 <1, 1, 0>
  33. define pt111 <8, 5, -4>
  34. define pt120 <1, 2, 0>
  35. define pt121 <8, -2, -4>
  36. define pt210 <2, 1, 0>
  37. define pt211 <-5, 5, -4>
  38. define pt220 <2, 2, 0>
  39. define pt221 <-5, -2, -4>
  40.  
  41. define pt11 pt110 + increment * (pt111 - pt110)
  42. define pt12 pt120 + increment * (pt121 - pt120)
  43. define pt21 pt210 + increment * (pt211 - pt210)
  44. define pt22 pt220 + increment * (pt221 - pt220)
  45.  
  46. object {
  47.    bezier 2, 0.005, 32, 32,
  48.       < 0.0, 0.0, 0.0>, < 1.0, 0.0, 0.0>, < 2.0, 0.0, 0.0>, < 3.0, 0.0, 0.0>,
  49.       < 0.0, 1.0, 0.0>, pt11,             pt21,             < 3.0, 1.0, 0.0>,
  50.       < 0.0, 2.0, 0.0>, pt12,             pt22,             < 3.0, 2.0, 0.0>,
  51.       < 0.0, 3.0, 0.0>, < 1.0, 3.0, 0.0>, < 2.0, 3.0, 0.0>, < 3.0, 3.0, 0.0>
  52.    translate <-1.5, -1.5, 0>
  53.    scale <2, 2, 2>
  54.    rotate <60, 20, 0>
  55.    shiny_red
  56.    }
  57.