Casio Basicでグラフィックス
Casio Basic入門 - Casio Basicでグラフィックス
2015/10/21 更新
2015/12/07 追記
2020/05/21 追記
「Casio Basic でグラフィックス」を Casio Basic入門で連載を始めています。
⇒ Casio Basic入門G01 から (詳しくは Casio Basic入門 - 目次 - を参照)
これまでは、「Casio Basic を使ってみる」の連載で、Casio Basic入門50 まで続いています。グラフィックス プログラミングについては、敢えて別シリーズに分けており、今後も引き続き Casio Basic入門51 以降は続くと思います。
基本的に楽しんでやっているのですが、プログラムのネタを思いつくのは、用途や位置づけといった大枠からの発想に助けられることが多いので、一見面倒な感じの「電卓でグラフィックス プログラミングとは?」といったことも考えています。
このあたりは、今後まとまってくると思いますが、今のところ考えていることを白状しておきます。
プログラム電卓でグラフィックスプログラミングには否定的でした。今でも否定的な考えは少なからず残っています。
電卓にPCと同じ機能を求めるのではなく、電卓ならではの利点を活かしたプログラムを作って、利用すれば良いと主張してきました。特に、Casio のプログラム電卓のグラフィックス機能は、グラフ機能に特化(制限)されていて、LCDの解像度や描画速度を考えると、敢えて電卓でグラフィックスプログラミングを行うメリットは無い、というのが理由です。
では、私自身が Casio Basic のグラフィックス機能(グラフ機能) を本当に分かった上で、これを言っていたのかと問われると、幾つか味見程度のプログラミングを行った程度だったと、白状しなければなりません。
つまり、当ブログのポリシー「実際に試して、確認した内容を公開する」を考えると、中途半端です。
実は、これまでに以下のような記事を書いています。私の考えの変化がそのまま現れています。
グラフ関数電卓で観る感染症数理モデル
- [2020/05/21] 微分方程式のグラフ化に挑戦。解くのは難しいので、差分形式の漸化式から離散的なデータを計算してグラフ化しました。ちょうどエクセルでグラフを描くのと同じことが電卓でできました。グラフを表す数式がなくてもグラフ化できるのは面白いと思いました。
fx-9860GII グラフィックス - モンテカルロ法
- [2015/02/28] fx-5800P で作ったプログラムを fx-9860GII へ移植し、さらにグラフィックス表示を追加するために、プログラム電卓で初めてグラフィックスコードを書いた。グラフィックス描画は思った以上に処理時間がかかることが実際に分かり、画面全体を埋め尽くすようなグラフィックスプログラムには向かないと思った。
- [2015/01/19] 少しだけグラフィックスプログラミングについて、考えを変え始めたことに触れている。
- [2015/02/17] Casio Basic ではグラフィックス描画速度が遅いが、グラフィックスコマンドの動作に少し興味を持った。
- [2015/06/24] グラフィックスコマンドは、マニュアルには殆ど記載が無いので、実際に調べ始めたところ、従来の Basicコマンドから想像するだけでは全く分からない機能が隠されていること、プログラムに依っては処理速度が問題にならない用途も有りそうなこと、そして何よりも、実際に調べてみなければ判断するのは早いと思った。
- そこで、Casio Basic でのグラフィックスプログラミングを徹底的に調べて、Casio Basic入門で取り上げることにした。
- [2015/07/20] Casio Basic のグラフィックスコマンドが少し分かってきて、安心してシミュレーションゲームを作ってみた。面白い。
「楽屋裏」で記事を書いていたのは、Casio Basic でのグラフィックスをブログで取り上げるかどうか、少しは考えていた証拠ですが、Casio グラフ関数電卓でグラフィックス プログラミングについて、本腰を入れて調べるまでに半年ほど逡巡していたことになります。そして、実際に詳しく調べ始めると、取扱説明書には全く説明されていない、重要な仕様が次々と分かってきています。宝探しのようで、やっていて面白いものです。
これまでに調べて分かっているだけでも、仕様を知っていれば有用なプログラミングが出来る一方で、仕様を知らないと想定外のバグで悩むことになりがちなのが、Casio Basic のグラフィックスコマンドだと分かってきました。
ところで、新世代Casio Basic は、Basicプログラミングの入門に良いと、これまで主張してきました。グラフィックスを使わないテキストベースでのプログラミングを前提にすれば、いまでも同じように考えています。
ところが、グラフィックスコマンドについては、かなり Casio 色が強い仕様になっていて、果たして Basic修得の入門に良いと言えないかも知れません。さらに、電卓でのグラフィックス・プログラミングでは、繰り返し処理を頻繁に使うように思うので、繰り返し処理に不慣れな初学者には、その分敷居が高いようにも思います。
グラフィックス・プログラミングには電卓特有のグラフ作成機能が活きてくるのかどうか、これはまだ分かりません。そこで、グラフィックスコマンドについて、さらに知見が深まるまで、結論は保留にしておこうと思っています。
先ずは Casio Basic でのグラフィックス プログラミングを徹底的に調べて、なにか楽しいプログラムを作ろうと思います。
[2015/12/07 追記]
Casio Basic グラフィックスコマンドの探索が進むにつれて、純正 Casio Basic では、グラフィックスコマンドが限られており描画速度が遅いので、本格的なグラフィックスプログラミングには向かないという感覚はやはり正しいと分かってきました。画面を埋め尽くすような描画やビットマップを扱うのは純正Casio Basic では無理があります。
ところが、「アドイン版高速・高機能Casio Basic」 の開発 "C:Basicプロジェクト" が始まり、テスト版でグラフィックスプログラムを作ってみると、速い処理速度でグラフィックスプログラムが走ることが経験できます。これの最大のポイントは、Casio Basic の上位互換なので、基本的にCasio Basic でプログラムが書ける点にあります。試しにライフゲームを作ってみたところ、現実的な速度でビットマップ処理が出来るので、Casio Basicでグラフィックスプログラミングが面白くなってきました。
Casio Basic のグラフィックスコマンドを詳しく探索した結果を反映した「アドイン版 Casio Basic - C:Basic」という新しい選択肢が現実的になったので、電卓でグラフィックスプログラミングへの否定的な感覚がかなり薄くなっています。適材適所で開発処理系の使い分けると良いのです。
応援クリックをお願いします。励みになるので...