三角関数のグラフ

今年度から東京都立杉並工業高校に勤めています佐々木久と申します。大変ご無沙汰しています。お元気ですか。
添付した三角関数のグラフの描画スクリプト処理が止まりません。
見ていただけたら幸いです。
愛用のgpsです。
お忙しいところをよろしくお願いいたします。

[2623.gps]: 10836 bytes

佐々木 久 2020/06/26(Fri) 09:22 No.2623
Re: 三角関数のグラフ
厳密にいうとバグですが,原因と回避方法を説明します。
for p := a to b step c
pはaから始まりcずつ増加してbに達するまで繰り返します。
ただし,pがピッタリbの値になるかどうかは,条件によるので,
p は a から始まりcずつ増加して,bに達するまで命令を実行し,bを超えたら停止する。というアルゴリズムを採用しています。
つまり,
 for @ := 0 to 360
とした場合,@が360を超えるまで,ループ処理が続きます。

ところが,添付のファイルの場合,曲線のパラメータが
 0 <= @ <= 360 で,パラメータの同期がオン
になっています。
これによって,データパネル上のパラメータ@も,360を超える値をとることができなくなています。
パラメータの同期はスクリプトの命令よりも優先します。
結果として,@は360のところで止まったままループを終了できなくなります。

これでお分かりかと思いますが,解決策は3つあります。
1.曲線から,パラメータの同期を外す
2.曲線のパラメータの上限を 360より少し大きな値(360.001とか)にする
3.スクリプトを @ := 0 to 360-0.001 などとする

上記1の方法で書き替えたファイルを添付します。
なお,「曲線」を多用されていますが,曲線部分が透明で,ドラッグの必要もなさそうなものは,「点」に変更しています。

[2624.gps]: 11026 bytes

ともだ 2020/06/26(Fri) 23:35 No.2624
処理 記事No 暗証キー

- JoyfulNote -