右上の描画前と左下の描画前に一度ずつ呼び出されます。式はこうなっています。この式をプログラムにすると次のようになります。式のインテグラル(積分)の繰り返し部分は本体に存在します。ラジアンから角度を求めるブロックは次の通りです。移動はいつも通りです。Cubicを描きます。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。secは関数の計算結果を保存しておくための変数です。そのほかはいつも通りです。角度を-191度から191度まで変化させながら計算、移動を繰り返すとこの曲線が描画できます。ペンの設定、変数の初期化、開始座標の計算、開始座標への移動を行なっています。この曲線を描画するための式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。この式をプログラムにすると次のようになります。secは正割関数です。定義はこうなっています。この式をプログラムにすると次のようになります。このブロックの計算結果は変数「sec」に格納しておき、計算の中で使っています。移動はいつも通りです。[見て楽しむ三角関数]Scratchで歯車を描きます。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。今回は倍率は固定で、歯車の歯の数を可変にしています。tanhは関数の計算結果を保持しておくための変数です。bは式の中で出てくる定数で、準備処理の中で10に固定しています。角度を0度から360度まで変化させながら計算、移動を繰り返すとこの曲線が描画できます。ペンの設定、変数の初期化、開始座標の計算、開始座標への移動を行なっています。式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。tanhは双曲正接関数です。bを大きくすると歯の高さが小さくなります。今回は10に固定していますが、スライダ表示にして変化させてみるのも面白いですよ。この式をプログラムにすると次のようになります。上の式の「a」は1に固定、いつも曲線の大きさの調整に使っている「倍率」変数は上の「準備」処理で160に固定しています。tanhはWikipediaで次のように定義されています。これはScratchでは提供されていないので、自分でブロックを作って定義します。計算結果はtanh変数に保存しておき、計算で使っています。移動はいつも通りです。(csch版)を描きます。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。cschとラジアンは関数の計算結果をあとで使うために保持しておく変数です。最初に角度を60度から810度まで変化させながら計算、描画を繰り返します。次に角度の符号を反転させて-810度から-60度まで計算、描画を繰り返します。-60度から60度の間を描画しないのは、曲線が画面の外側にはみ出したり符号が反転する時に余計な線が描画されたりするからです。計算、開始座標への移動を行なっています。式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。nも曲線の大きさに影響します。この式をプログラムにすると次のようになります。最初にcsch関数の値を計算し、その結果から半径を計算、さらに半径と角度からX座標とY座標を計算しています。最後にY座標を下に移動して曲線全体が画面内に収まるように調整しています。cschは双曲余割関数です。Mathworldの定義を使って自分でブロックを定義します。この式をプログラムにすると次のようになります。計算結果はcsch変数に入れておき、計算の中で使います。ラジアンもブロックを定義します。Scratchでは事前に定義されている三角関数には角度の値をそのまま使いますが、自分で定義する関数はラジアンを使う必要があります。移動はいつも通りです。[見て楽しむ三角関数]Scratchでポアンソーのらせん(sech版)を描きます。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。sechは同名の関数の計算結果を保存しておくための変数です。大きさはスライダー表示にして画面上で値を変更できるようにしています。角度を-1080度から1080度まで変化させながら計算、描画を繰り返すと、この曲線が描画できます。計算、開始座標への移動を行なっています。式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。nも曲線の大きさに影響します。この式をプログラムにすると次のようになります。sechを計算し、その結果から半径を計算、さらに半径と角度からX座標とY座標を計算しています。sechは双曲正割関数です。Mathworldの定義を使って、自分でブロックを定義します。この式をプログラムにすると次のようになります。Scratchでは内蔵されている三角関数には角度を指定しますが、自分で定義する関数の角度にはラジアンを使いますので、ラジアンのブロックも定義しています。移動はいつも通りです。[見て楽しむ三角関数]Scratchで双曲正接らせんを描きます。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。tanhは三角関数の計算結果を保持するための変数です。「大きさ」と「k」はスライダー表示にして画面上で変更できるようにしています。角度を-450度から450度まで変化させながら計算、移動を繰り返すとこの曲線を描画できます。ペンの設定、変数の設定、開始座標の計算、開始座標への移動を行なっています。式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。この式をプログラムにすると次のようになります。最初に\(\tanh(\theta)\)から半径を計算し、その結果からX座標とY座標を計算しています。\(\tanh\)は双曲正接関数で、今回はこのサイトにある定義を使っています。Scratchにはこの関数は備わっていないので、自分でブロックを定義します。移動はいつも通りです。[見て楽しむ三角関数]Scratchで内トロコイドを描きます。式は前回の外トロコイドや前々回の内サイクロイド、その前の外サイクロイド、以前のスピログラフに似ています。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。上のWikipediaのリンクを見るとわかりますが、内トロコイドは中心の定円の内側を動円が回転する軌跡になっています。このため、外側の円の「定円半径」と回転する円の「動円半径」、さらに動く円の中心から描画点までの「描画点半径」を変数として持っています。これら三種類の半径はスライダー表示にして画面上で値を変更できるようにしています。値を変えると曲線の形が変わります。角度を0.5度ずつ変化させながら描画を続けます。繰り返しの終了条件がない理由は外トロコイドと同じで、スライダーで指定する各半径の値によって終了条件が変わるからです。描画を止めるには、旗の右にある赤いボタンを押してください。描画には時間がかかるのでターボモードがお勧めです。ペンの準備、変数の準備、開始点の計算、開始点への移動を行なっています。式はこうなっています。この式をプログラムにすると次のようになります。移動はいつも通りです。[見て楽しむ三角関数]Scratchで外トロコイドを描きます。式は前回の内サイクロイドや前々回の外サイクロイド、以前のスピログラフに似ています。曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。上のWikipediaのリンクを見るとわかりますが、外トロコイドは中心の定円のまわりを動円が回転する軌跡になっています。このため、内側の円の「定円半径」と回転する円の「動円半径」、さらに動く円の中心から描画点までの「描画点半径」を変数として持っています。これら三種類の半径はスライダー表示にして画面上で値を変更できるようにしています。値を変えると曲線の形が変わります。角度を0.5度ずつ変化させながら描画を続けます。繰り返しの終了条件がないのは、スライダーで指定する各半径の値によって終了条件が変わるからです。描画を止めるには、旗の右にある赤いボタンを押してください。描画には時間がかかるのでターボモードがお勧めです。ペンの準備、変数の準備、開始点の計算、開始点への移動を行なっています。式はこうなっています。この式をプログラムにすると次のようになります。移動はいつも通りです。