マクローリンの三等分曲線 [見て楽しむ三角関数]
Scratchでマクローリンの三等分曲線を描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。いつもと変わりません。
次に本体です。角度を-90度から90度まで変化させながら計算、移動を繰り返すとこの曲編が描画できます。曲線がなめらかになるように、角度は0.1度ずつ変化させています。このため描画が遅くなりますので、実行時にはターボモードをお勧めします。
次に準備です。変数の初期設定、ペンの準備、開始座標の計算を行い、開始座標に移動しています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\left(4\cos(\theta)-\frac{1}{\cos(\theta)}\right) \] この式をプログラムにすると次のようになります。
移動はいつもとは少し違います。座標の計算結果が描画領域の外側になった場合にペンが降りていると、描画領域の縁に余分な線が出ます。このため、必要に応じてペンの上げ下げを行なっています。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。いつもと変わりません。
次に本体です。角度を-90度から90度まで変化させながら計算、移動を繰り返すとこの曲編が描画できます。曲線がなめらかになるように、角度は0.1度ずつ変化させています。このため描画が遅くなりますので、実行時にはターボモードをお勧めします。
次に準備です。変数の初期設定、ペンの準備、開始座標の計算を行い、開始座標に移動しています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=a\left(4\cos(\theta)-\frac{1}{\cos(\theta)}\right) \] この式をプログラムにすると次のようになります。
移動はいつもとは少し違います。座標の計算結果が描画領域の外側になった場合にペンが降りていると、描画領域の縁に余分な線が出ます。このため、必要に応じてペンの上げ下げを行なっています。
完成版はこちら。
Equilateral Trefoil [見て楽しむ三角関数]
ScratchでEquilateral Trefoilを描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。
次に本体です。角度を0度から180度まで変化させながら計算、移動を繰り返すとこの曲線が描けます。なめらかな曲線になるように0.1度ずつ角度を変えており、その分描画は遅くなります。ターボモードにした方がいいでしょう。
次に準備です。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=\frac{a}{\cos(3\theta)} \] この式をプログラムにすると次のようになります。
今回の移動はいつもの座標の移動に加えてペンの上げ下げを行なっています。曲線が一定の範囲に収まるようにです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。
次に本体です。角度を0度から180度まで変化させながら計算、移動を繰り返すとこの曲線が描けます。なめらかな曲線になるように0.1度ずつ角度を変えており、その分描画は遅くなります。ターボモードにした方がいいでしょう。
次に準備です。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度です。
\[ r=\frac{a}{\cos(3\theta)} \] この式をプログラムにすると次のようになります。
今回の移動はいつもの座標の移動に加えてペンの上げ下げを行なっています。曲線が一定の範囲に収まるようにです。
完成版はこちら。
Cyclic-Harmonic Curve [見て楽しむ三角関数]
ScratchでCyclic-Harmonic Curveを描きます。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。eとnは式に出てくる固定値で、スライダー表示にして値を変えられるようにしています。値を変えると曲線の形が様々に変化しますので、試してみてください。
次に本体です。角度を0度から360度まで変化せながら計算、移動を繰り返すとこの曲線が描画できます。
次に準備です。ペンの初期設定、変数の初期設定、開始座標の計算、開始座標への移動を行なっています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度、eとnはスライダーで値を設定する変数です。
\[ r=a\left(1+e\cos(n\theta)\right) \] この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。eとnは式に出てくる固定値で、スライダー表示にして値を変えられるようにしています。値を変えると曲線の形が様々に変化しますので、試してみてください。
次に本体です。角度を0度から360度まで変化せながら計算、移動を繰り返すとこの曲線が描画できます。
次に準備です。ペンの初期設定、変数の初期設定、開始座標の計算、開始座標への移動を行なっています。
式はこうなっています。rは半径、aは倍率(大きさ)、θは角度、eとnはスライダーで値を設定する変数です。
\[ r=a\left(1+e\cos(n\theta)\right) \] この式をプログラムにすると次のようになります。
移動はいつも通りです。
完成版はこちら。
通訳あたりはずれ [英語]
仕事柄、しょっちゅう通訳者を呼んでいると、いろんな人がいて興味深い。
先日は客先で30人ほどの会議だった。正味4時間だったので半日の拘束になるはず。
きたのは熟年の女性が二人。二人とも初めて見る顔だった。
いつも話者と通訳者が交互に喋る逐次通訳で、普通は通訳者は一人なんだけど、
今回はなぜか同時通訳ばりにタイマーを構えて短時間でしょっちゅう交代する。
それでも質が良ければいいんだけど、訳もなんだかなぁという感じ。
あれでAクラス二人分の料金らしいよと、終わってからひとしきり盛り上がった。
一人で何時間でも訳し続けられる人もいれば今回のような人もいる。
繁忙期で指名もできず、通訳派遣会社から割り振られた人をそのまま受け入れて
失敗することもたまにある。得意分野ではないと仕方ないのかもしれないが、
それなら外から通訳を呼ばずに社内で事情に詳しい人間が何人かで分担して訳した方が話が早そう。
一人だとしんどいけど。
ダメだった人に二度目の遭遇をすることは滅多にないから、事務方がフィルターをかけているんだろう。
先日は客先で30人ほどの会議だった。正味4時間だったので半日の拘束になるはず。
きたのは熟年の女性が二人。二人とも初めて見る顔だった。
いつも話者と通訳者が交互に喋る逐次通訳で、普通は通訳者は一人なんだけど、
今回はなぜか同時通訳ばりにタイマーを構えて短時間でしょっちゅう交代する。
それでも質が良ければいいんだけど、訳もなんだかなぁという感じ。
あれでAクラス二人分の料金らしいよと、終わってからひとしきり盛り上がった。
一人で何時間でも訳し続けられる人もいれば今回のような人もいる。
繁忙期で指名もできず、通訳派遣会社から割り振られた人をそのまま受け入れて
失敗することもたまにある。得意分野ではないと仕方ないのかもしれないが、
それなら外から通訳を呼ばずに社内で事情に詳しい人間が何人かで分担して訳した方が話が早そう。
一人だとしんどいけど。
ダメだった人に二度目の遭遇をすることは滅多にないから、事務方がフィルターをかけているんだろう。
Septic [見て楽しむ三角関数]
ScratchでSepticを描きます。Septicは「7次式」という一般的な言葉のようです。ネタ元のサイトにそう書いてあるのでそのまま使います。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。「cos角度」は何度も出てくるcosの計算結果を保存しておき、再利用するための変数です。その他はいつもと同じです。
次に本体です。角度を0度から127度まで変化させながら計算、移動を繰り返すと、この曲線が描画できます。
次に準備です。ペンの初期設定、変数の初期設定、開始座標の計算を行い、開始座標に移動しています。
式はこうなっています。
\[ x=\frac{\cos(\theta)(3\cos^2(\theta)-3\cos(\theta)+1)}{2\cos^3(\theta)-2\cos(\theta)+1} \\
y=\frac{\cos^2(\theta)\sin(\theta)}{2\cos^3(\theta)-2\cos(\theta)+1}\tan^2\left(\frac{\theta}{2}\right) \] よくこんなこと考えますよね。複雑すぎて訳がわかりませんが、プログラムにすることはできます。\(cos(\theta)\) は何度も出てきますので、先に計算しておいて値を使いまわします。
XとYの式をそのまま一行で書こうとすると長すぎるので、分割して複数行で計算しています。元の数式には倍率は出てきませんが、曲線の大きさを調整するために画面上のスライダーで指定した値を掛けています。
移動はいつも通りです。
完成版はこちら。
曲線を描く処理の詳細は初回で説明していますので、そちらを参照してみてください。違う曲線ですが流れは同じです。
最初に変数です。「cos角度」は何度も出てくるcosの計算結果を保存しておき、再利用するための変数です。その他はいつもと同じです。
次に本体です。角度を0度から127度まで変化させながら計算、移動を繰り返すと、この曲線が描画できます。
次に準備です。ペンの初期設定、変数の初期設定、開始座標の計算を行い、開始座標に移動しています。
式はこうなっています。
\[ x=\frac{\cos(\theta)(3\cos^2(\theta)-3\cos(\theta)+1)}{2\cos^3(\theta)-2\cos(\theta)+1} \\
y=\frac{\cos^2(\theta)\sin(\theta)}{2\cos^3(\theta)-2\cos(\theta)+1}\tan^2\left(\frac{\theta}{2}\right) \] よくこんなこと考えますよね。複雑すぎて訳がわかりませんが、プログラムにすることはできます。\(cos(\theta)\) は何度も出てきますので、先に計算しておいて値を使いまわします。
XとYの式をそのまま一行で書こうとすると長すぎるので、分割して複数行で計算しています。元の数式には倍率は出てきませんが、曲線の大きさを調整するために画面上のスライダーで指定した値を掛けています。
移動はいつも通りです。
完成版はこちら。