home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 1995 January / pcw-0195.iso / polyray / dat / animate / whirl / texpts.pi < prev    next >
Text File  |  1994-12-31  |  2KB  |  65 lines

  1. viewpoint {
  2.    from <0,0,-12>
  3.    at <0,0,0>
  4.    up <0,1,0>
  5.    angle 30
  6.    resolution 160, 160
  7.    }
  8.  
  9. // light <-10,10,-10>
  10. light < 10,10,-50>
  11.  
  12. start_frame 0
  13. end_frame 100
  14. total_frames 101
  15.  
  16. define increment frame / total_frames
  17. define ang_inc radians(720 * increment)
  18.  
  19. define ang00 ang_inc
  20. define ang01 ang_inc
  21. define ang10 ang_inc
  22. define ang11 ang_inc + 2
  23. define ang20 ang_inc
  24. define ang21 ang_inc + 1
  25.  
  26. define pos00 <cos(ang00), 0, sin(ang00)>
  27. define pos01 rotate(pos00, <1, 0, 0>, degrees(ang01))
  28. define pos02 rotate(rotate(pos00, <1, 0, 0>, degrees(ang01)), <180, 0, 0>)
  29. define pos10 <cos(ang10), 0, sin(ang10)>
  30. define pos11 rotate(pos10, <0, 0, 1>, 2 * degrees(ang11))
  31. define pos12 rotate(rotate(pos10, <0, 0, 1>, 2 * degrees(ang11)), <180, 0, 0> )
  32. define pos20 <cos(ang20), 0, sin(ang20)>
  33. define pos21 rotate(pos20, <1, 0, 1>, 1.5 * degrees(ang21))
  34. define pos22 rotate(rotate(pos20, <1, 0, 1>, 1.5 * degrees(ang21)), <180, 0, 0>)
  35.  
  36. define colortx
  37. texture {
  38.    special surface {
  39.       color white *
  40.         (exp(-2*|P - pos01|) + exp(-2*|P - pos11|) + exp(-2*|P - pos21|) +
  41.          exp(-2*|P - pos02|) + exp(-2*|P - pos12|) + exp(-2*|P - pos22|))
  42.       ambient 0.9
  43.       diffuse 0.1
  44.       }
  45.    }
  46.  
  47. define greytx
  48. texture {
  49.    surface {
  50.       color white
  51.       ambient 0.1
  52.       diffuse 0.4
  53.       specular 0.4
  54.       microfacet Reitz 5
  55.       }
  56.    }
  57.  
  58. object { sphere <0, 0, 0>, 2 colortx }
  59. object { sphere 2*pos01, 0.2 greytx }
  60. object { sphere 2*pos11, 0.2 greytx }
  61. object { sphere 2*pos21, 0.2 greytx }
  62. object { sphere 2*pos02, 0.2 greytx }
  63. object { sphere 2*pos12, 0.2 greytx }
  64. object { sphere 2*pos22, 0.2 greytx }
  65.