正三角形を表示する

説明

グラフィック画面上に正三角形を表示します。

正三角形を描くには3つの座標点を線で結びます。あらかじめ座標をDATAに入れておく方法もありますが、このプログラムでは円周上の座標点を計算することで正三角形を表示しています。円周上の座標点を求める際には以下の計算式を使用しています。なお、正弦はsin、余弦はcosで求めることができます。いずれも指定する値は角度となっています。(ラジアンではありません)

X座標=三角形の中心座標+cos(角度)×半径

Y座標=三角形の中心座標+sin(角度)×半径

Studioで試す

以下のリンクから Jasmine Tea でこのサンプルプログラムを Studio 画面で開いて実際に試すことができます。プログラムを実行したいときは、エディターの右下にある青色の「実行」ボタンを押してください。

Studio で開く

プログラム

// 正三角形を表示する
cls
centerX=320
centerY=200
r=200
for i=0 to 3
  d=i*120
  nx=centerX+cos(d)*r
  ny=centerY+sin(d)*r
  if i>0 then
    line (x,y)-(nx,ny),7
  end if
  x=nx
  y=ny
next

解説

2行目で画面を消去しています。

3行目で三角形の中心X座標を、4行目で三角形の中心Y座標を指定しています。

5行目で三角形の大きさ(半径)を指定しています。

6行目では三角形を線で結ぶために4回繰り返し処理を行うように指定しています。3回では始点までの線が描画されないため4回にする必要があります。

7行目でcos,sinに渡す角度を計算しています。120は三角形なので360度÷3=120となります。

8行目で円周上のX座標を計算しています。

9行目で円周上のY座標を計算しています。

10〜12行目では始点以外の場合に線を表示しています。このようにしないと変な場所から三角形の始点に線が表示されてしまいます。ifを使って判断したくない場合にはあらかじめ始点の座標を計算しておくという方法もあります。96角形など数多く線を表示する必要がある場合や高速に表示する場合にはあらかじめ始点だけ計算し繰り返し回数を減らすほうがよいかもしれません。

13行目と14行目では計算した座標を変数x,yに入れています。これにより古い座標がX,Yとなり、新たに計算される座標nx,nyまで線が表示されるようになります。