今回は,スクリプトについて,いくつかの例を紹介します。
なお,今回紹介したGRAPESのファイルおよび,「数学教育」2月号で紹介したGRAPESのファイルは,下記「データファイルのDownload」からDwonloadすることができます。
1 円周上の2点を結んで,外サイクロイドを描く
2 放物線でゆーらゆら
3 進行波と反射波の合成
4 スクリプトについて
5 データファイルのDownload
右図のように,円周上を回転する2点P,Qがあり,QはPの3倍の速さで動いています。このとき,線分PQはどのような直線群を描くでしょうか。 単位円の円周上を動く点は,中心角をθとすれば, roll(θ) で表されました。ですから, P = roll(2πt) としておけば,t=0 から t=1 の間に,点Pは円を1周します。ちなみに, P = (cos t, sin t) としても結果は同じです。さらに, Q = roll(2kπt) とすれば,QはPのk倍の速さで動きます。 この2点を結んで,tを0から1まで動かします。 以下では,kの値を変えるごとに,t = 0 から 1 まで,自動で描いてくれるスクリプトを紹介します。 |
|
スクリプト | スクリプトの説明 |
---|---|
//Draw on k change t :=0 Calc ClrAImg SetColor(L1,hsl(rnd(1),1,0.5) for t :=0 to 1 step 1/200 Draw next t |
「Draw」というスクリプトを作成 パラメータkの変化でスクリプトを実行 パラメータt の初期化 計算を実行 残像の消去 きれいな色をランダムに付ける バラメータt を 0から 1まで、1/200刻みで変化させて図形を描く |
実行してみましょう。 メモエリアに[Draw]というボタンができますから,それをクリックします。 あるいは,パラメータkを変化させます。 きれにな模様が描かれていきますよ。 |
放物線 y = ax2 では,aの値を変化させると曲線の開き具合が変化します。 そこで,放物線の開き具合を連続的に変化させて,放物線が羽ばたかせてみましょう。 |
|
スクリプト | スクリプトの説明 |
---|---|
//ゆーらゆら t := 0 a := cos t Draw wait(1000) for t := 0 to 4Pi step 1/20 a := cos t draw wait(20) next |
「ゆーらゆら」というスクリプトを作成 パラメータt の初期化 パラメータa の初期化 計算を実行 1秒待つ バラメータt を 0から 4πまで、 1/20刻みで変化させて 図形を描く |
鳥のように優雅に,とはいきませんが・・・ |
横波が硬い壁に当たって反射するとき,元の波と反射波の合成波ができます。 |
|
スクリプト | スクリプトの説明 |
---|---|
// 波を発生させる for t :=1 to 1+6*Pi/v step 0.005 draw next t //合成波の表示スイッチ InvShowObj(y3) |
「波を発生させる」スクリプトを作成 t = 1 から 1+6π/v まで 0.005の刻みで, 描画する。 「合成波の表示スイッチ」スクリプトを作成 y3 の表示切替 |
スクリプトについての説明はGRAPESのhtmlマニュアルをご覧下さい。これはGRAPESの中から,[ヘルプ]→[HTMLマニュアル]とすることで見ることができます。なお,マニュアルの中のスクリプトの部分を抜き出したものをPDFファイルにしました。ご利用下さい。