読者です 読者をやめる 読者になる 読者になる

ScratchGridで遊ぼう -角度計算で遊ぶ-

ScratchGrid、思ったよりもたくさんの人が見てくれて嬉しい限りです。
さて、じゃあこれで何するのよってのが分かりづらいツールだと思うので、チュートリアル的なものを書いてみます。

それでは起動しましょう。

まずはソースコード部分に以下のようなコードを書きます。

function deg2rad(x:Number):Number
{
  return x * 0.0174532925;
}
 
function rad2deg(x:Number):Number
{
  return x * 57.2957796;
}

deg2rad(x);

度→ラジアン, ラジアン→度 に変換する関数の定義と入力xに対して、deg2radを実行しています。
それでは入力に対して 0, 90, 180 を入力していきましょう。

はい、[Result]ラジアンに変換された値が出力されましたね。
こんな感じで、複数の入力に対して一つの処理を実行し、その結果を出力するのがScratchGridの基本になります。

それでは、最後の一行を以下に変えてみましょう。

Math.sin(deg2rad(x));

そして、[Run]ボタン、もしくは[F5]を押して下さい。

sin関数の結果が表示されますね。
3.589793473926777e-9は、3.5...の-9乗なので、限りなく0です。注意しましょう。

ではcosも見てみましょう。

Math.cos(deg2rad(x));

せっかくの表組みなので、sinとcosの値がどのように違うか見てみたいですね。
ちょっとトリッキーですがやってみましょう。

まずは下のコードに入れ替えて下さい。

function deg2rad(x:Number):Number
{
  return x * 0.0174532925;
}
 
function rad2deg(x:Number):Number
{
  return x * 57.2957796;
}

sin = Math.sin(deg2rad(x));
Math.cos(deg2rad(x));

その後で、右下の変数チェックボックスを操作します。

  1. ysinに変更
  2. sinチェックボックスON
  3. [sin]列が空っぽになっているが、これを0等で埋める(ソースコード側で代入してしまうので値は何でもよい)

※ 現状、全ての使用している変数列に何らかの値が入っていないとプログラムを実行しません。変数にnullが入った状態でプログラムが起動し、意図せずハングアップ等が起きてしまうのを防ぐためです。将来的には出力用変数として使うといったチェックボックスがあれば良さそうですね。

結果は以下の写真を見て下さい。
[sin]を入力用の変数として使うことにより、[sin]にはsin関数の結果が、[Result]にはcos関数の結果が入っています。

こんな感じで、様々な入力に対してプログラムの結果を見ながらコードを整形していくのが基本になります。
楽しんでもらえれば幸いです。

※ 今の所バックアップ機能等がまったくついていないので、ソースコードはテキストファイル等にコピペしてバックアップしながら使って下さいね。まだまだプログラムが不安的なので・・・・。