home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / gfx / 3d / irit / scripts / gpolylin.irt < prev    next >
Encoding:
Text File  |  1994-09-17  |  2.8 KB  |  127 lines

  1. #
  2. # Some examples of proper piecewise linear sampling in gpolyline.
  3. #
  4. view_mat = rotx( 0 );
  5. viewobj(view_mat);
  6. viewstate("DblBuffer");
  7. viewstate("DepthCue");
  8. iritState("DumpLevel", 9);
  9. iritstate("InterpProd", 0);
  10.  
  11. #############################################################################
  12.  
  13. pl2 = nil();
  14. for ( x = 0, 1, 5,
  15.     snoc(point(cos(x * Pi / 10), sin(x * Pi / 10), 0.0), pl2)
  16.     );
  17. crv1 = cinterp( pl2, 4, 4, PARAM_UNIFORM );
  18. viewobj( list( pl2, crv1 ) );
  19.  
  20. crv2 = cbspline( 5,
  21.          list( ctlpt( E1, 0.0 ),
  22.                ctlpt( E1, 0.0 ),
  23.                ctlpt( E1, 0.0 ),
  24.                ctlpt( E1, 0.0 ),
  25.                ctlpt( E1, 1.0 ) ),
  26.          list( KV_OPEN ) );
  27. cbsp = compose( crv1, crv2 );
  28.  
  29. steps = 8;
  30. pt_lst = nil();
  31. for ( i = 0, 1, steps - 1,
  32.     pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
  33.     snoc( pt, pt_lst )
  34.     );
  35. cpl = poly( pt_lst, true );
  36. color(cpl, green);
  37.  
  38. resolution = 3;
  39. cbsp2 = cbsp;
  40. cpl2 = gpolyline( cbsp2, on );
  41. color(cpl2, yellow);
  42. resolution = 20;
  43.  
  44. interact( list( cbsp, cpl2, cpl, axes ) );
  45.  
  46. #############################################################################
  47.  
  48. cbsp = cbspline( 3,
  49.          list( ctlpt( E2, 0.0, -1.0 ),
  50.                ctlpt( E2, 0.3,  1.0 ),
  51.                ctlpt( E2, 0.7, -1.0 ),
  52.                ctlpt( E2, 1.0,  1.0 ) ),
  53.          list( KV_OPEN ) );
  54. color(cbsp, red);
  55.  
  56. steps = 8;
  57. pt_lst = nil();
  58. for ( i = 0, 1, steps - 1,
  59.     pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
  60.     snoc( pt, pt_lst )
  61.     );
  62. cpl = poly( pt_lst, true );
  63. color(cpl, green);
  64.  
  65. resolution = 3;
  66. cbsp2 = cbsp;
  67. cpl2 = gpolyline( cbsp2, on );
  68. color(cpl2, yellow);
  69. resolution = 20;
  70.  
  71. interact( list( cbsp, cpl2, cpl, axes ) );
  72.  
  73. #############################################################################
  74.  
  75. pl2 = nil();
  76. for ( x = 0, 1, 15,
  77.     snoc(point(x / 10 - 1, sin(x * Pi / 5), 0.0), pl2)
  78.     );
  79. cbsp = cinterp( pl2, 3, 5, PARAM_UNIFORM );
  80. color( cbsp, red );
  81. viewobj(cbsp);
  82.  
  83. steps = 8;
  84. pt_lst = nil();
  85. for ( i = 0, 1, steps - 1,
  86.     pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
  87.     snoc( pt, pt_lst )
  88.     );
  89. cpl = poly( pt_lst, true );
  90. color(cpl, green);
  91.  
  92. resolution = 3;
  93. cbsp2 = cbsp;
  94. cpl2 = gpolyline( cbsp2, on );
  95. color(cpl2, yellow);
  96. resolution = 20;
  97.  
  98. interact( list( cbsp, cpl2, cpl, axes ) );
  99.  
  100. #############################################################################
  101.  
  102. cbsp = cbspline( 3,
  103.          list( ctlpt( E2, 0.0,   0.0 ),
  104.                ctlpt( E2, 0.45,  1.0 ),
  105.                ctlpt( E2, 0.55,  1.0 ),
  106.                ctlpt( E2, 1.0,   0.0 ) ),
  107.          list( KV_OPEN ) );
  108. color(cbsp, red);
  109.  
  110. steps = 4;
  111. pt_lst = nil();
  112. for ( i = 0, 1, steps - 1,
  113.     pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
  114.     snoc( pt, pt_lst )
  115.     );
  116. cpl = poly( pt_lst, true );
  117. color(cpl, green);
  118.  
  119. resolution = 2;
  120. cbsp2 = cbsp;
  121. cpl2 = gpolyline( cbsp2, on );
  122. color(cpl2, yellow);
  123. resolution = 20;
  124.  
  125. interact( list( cbsp, cpl2, cpl, axes ) );
  126. iritState("DumpLevel", 1);
  127.