home *** CD-ROM | disk | FTP | other *** search
- #
- # Some examples of proper piecewise linear sampling in gpolyline.
- #
- view_mat = rotx( 0 );
- viewobj(view_mat);
- viewstate("DblBuffer");
- viewstate("DepthCue");
- iritState("DumpLevel", 9);
- iritstate("InterpProd", 0);
-
- #############################################################################
-
- pl2 = nil();
- for ( x = 0, 1, 5,
- snoc(point(cos(x * Pi / 10), sin(x * Pi / 10), 0.0), pl2)
- );
- crv1 = cinterp( pl2, 4, 4, PARAM_UNIFORM );
- viewobj( list( pl2, crv1 ) );
-
- crv2 = cbspline( 5,
- list( ctlpt( E1, 0.0 ),
- ctlpt( E1, 0.0 ),
- ctlpt( E1, 0.0 ),
- ctlpt( E1, 0.0 ),
- ctlpt( E1, 1.0 ) ),
- list( KV_OPEN ) );
- cbsp = compose( crv1, crv2 );
-
- steps = 8;
- pt_lst = nil();
- for ( i = 0, 1, steps - 1,
- pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
- snoc( pt, pt_lst )
- );
- cpl = poly( pt_lst, true );
- color(cpl, green);
-
- resolution = 3;
- cbsp2 = cbsp;
- cpl2 = gpolyline( cbsp2, on );
- color(cpl2, yellow);
- resolution = 20;
-
- interact( list( cbsp, cpl2, cpl, axes ) );
-
- #############################################################################
-
- cbsp = cbspline( 3,
- list( ctlpt( E2, 0.0, -1.0 ),
- ctlpt( E2, 0.3, 1.0 ),
- ctlpt( E2, 0.7, -1.0 ),
- ctlpt( E2, 1.0, 1.0 ) ),
- list( KV_OPEN ) );
- color(cbsp, red);
-
- steps = 8;
- pt_lst = nil();
- for ( i = 0, 1, steps - 1,
- pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
- snoc( pt, pt_lst )
- );
- cpl = poly( pt_lst, true );
- color(cpl, green);
-
- resolution = 3;
- cbsp2 = cbsp;
- cpl2 = gpolyline( cbsp2, on );
- color(cpl2, yellow);
- resolution = 20;
-
- interact( list( cbsp, cpl2, cpl, axes ) );
-
- #############################################################################
-
- pl2 = nil();
- for ( x = 0, 1, 15,
- snoc(point(x / 10 - 1, sin(x * Pi / 5), 0.0), pl2)
- );
- cbsp = cinterp( pl2, 3, 5, PARAM_UNIFORM );
- color( cbsp, red );
- viewobj(cbsp);
-
- steps = 8;
- pt_lst = nil();
- for ( i = 0, 1, steps - 1,
- pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
- snoc( pt, pt_lst )
- );
- cpl = poly( pt_lst, true );
- color(cpl, green);
-
- resolution = 3;
- cbsp2 = cbsp;
- cpl2 = gpolyline( cbsp2, on );
- color(cpl2, yellow);
- resolution = 20;
-
- interact( list( cbsp, cpl2, cpl, axes ) );
-
- #############################################################################
-
- cbsp = cbspline( 3,
- list( ctlpt( E2, 0.0, 0.0 ),
- ctlpt( E2, 0.45, 1.0 ),
- ctlpt( E2, 0.55, 1.0 ),
- ctlpt( E2, 1.0, 0.0 ) ),
- list( KV_OPEN ) );
- color(cbsp, red);
-
- steps = 4;
- pt_lst = nil();
- for ( i = 0, 1, steps - 1,
- pt = ceval( cbsp, nth( pdomain(cbsp), 2 ) * i / (steps - 1) ):
- snoc( pt, pt_lst )
- );
- cpl = poly( pt_lst, true );
- color(cpl, green);
-
- resolution = 2;
- cbsp2 = cbsp;
- cpl2 = gpolyline( cbsp2, on );
- color(cpl2, yellow);
- resolution = 20;
-
- interact( list( cbsp, cpl2, cpl, axes ) );
- iritState("DumpLevel", 1);
-