2015年9月15日火曜日

三角関数で星印を描画する


いろいろな関数を使ってみたかっただけの記事です。
やってることは三角関数つかって座標求めてSGPLOTで星を描画してるだけです。

*** 描画用データ作成 *********;
data DT1;
   * 星の中心のx軸とy軸の座標 ;
   x0 = 100;
   y0 = 100;

   * 星の中心からの半径 ;
   r  = 50;

   * 1辺の角度 ;
   degree = 360/5;

   * ラジアン変換用 ;
   rad = constant('pi')/180;

   * 星のかどの座標を取得 (90度からスタート) ;
   do i=0 to 10 by 2;
      x = x0 + cos((90+i*degree)*rad) * r;
      y = y0 + sin((90+i*degree)*rad) * r;
      output;
   end;
run;


*** 星描画 ******************;
proc sgplot data=DT1;
   series x=X y=Y;
   xaxis min=0 max=200;
   yaxis min=0 max=200;
run;


使用してる関数は以下の通り。

CONSTANT … 指定した数学定数を返す。 ('pi'で円周率を返す)
COS  … コサインを返す。 (角度をラジアン変換した数値を指定する)
SIN   … サインを返す。 (角度をラジアン変換した数値を指定する)



0 件のコメント:

コメントを投稿