jDSGI - Java2D DATA Step Graphics Interface
  Back - Next   [ 20 of 27 ]
image  
by Richard A. DeVenezia, Copyright 2004  HOME
/*
 * Richard A. DeVenezia
 * June 11, 2004
 *
 * jDSGI test 20
 */

data _null_;

  if symexist('goutpath') then goutpath=symget('goutpath'); else goutpath=pathname('WORK');
  if symexist ('gsftype') then gsftype=symget('gsftype'); else gsftype='png';

  gsf = cats(goutPath,"\","test20");

  width  = 500;
  height = 500;

  %canvas (_g, width, height, 0ffffffx)

  declare javaobj jvdata ('jdsgi/DoubleArray');
  array vdata[4];

  %let n = 51;

  array px[&n] _temporary_;
  array py[&n] _temporary_;

  %tsetWindow (1,-.1,-1.1,6.4,1.1);

  do nn = 5 to 50 by 5;

    f = (nn-5)/50;

    %tcomputeAspectedViewport (1, 0,f,1,f+.1,jvdata);
    %getArray (vdata, jvdata);
    %tsetViewport (1, vdata[1],vdata[2],vdata[3],vdata[4]);

    n = nn;
    do i = 1 to n+1;
      x = (i-1) / n * 2 * constant('PI') ;
      y = sin (x);

      px[i] = x;
      py[i] = y;
    end;

    %tPolyline (px,py,n=n);
  end;

  do nn = 5 to 50 by 5;

    f = (nn-5)/50;

    %tcomputeAspectedViewport (1, .35,f,1,f+.2,jvdata);
    %getArray (vdata, jvdata);
    %tsetViewport (1, vdata[1],vdata[2],vdata[3],vdata[4]);

    n = nn;
    do i = 1 to n+1;
      x = (i-1) / n * 2 * constant('PI') ;
      y = sin (x);

      px[i] = x;
      py[i] = y;
    end;

    %tPolyline (px,py,n=n+1);
  end;

  %canvas_saveAs (gsf, gsftype, savedAs);

  %canvas_delete();

  jvdata.delete();

  if savedAs ne '' then rc = system ("start " || savedAs);
run;