リニアングラフ3DのVCSSL用APIにカメラ制御関数を追加、回転アニメーションツールも同梱
RINEARNでは10月9日に、各ソフトウェアの最新版をリリースしました。ソフトの一覧は以下の通りです:
今回のリリースでは、Java® 開発環境の OpenJDK 13 がリリースされた事に合わせて、 各ソフトウェアも OpenJDK 13 でビルドされたものになっています。
それに加えて、VCSSLとリニアングラフ3Dに細かい機能追加を行いました。 今回はその内容をピックアップしてお知らせします。
VCSSLの Graph3D APIライブラリにカメラ制御用の関数を追加
VCSSLでは初期より、3Dグラフを扱うためのGraph3D APIライブラリを標準でサポートしています。 同ライブラリでは、3Dグラフソフトとしてリニアングラフ3Dを用いています。 従って同ライブラリは、実質的にはリニアングラフ3Dをスクリプトで制御するためのものです。
リニアングラフ3Dは Ver.5.6 以降、VCSSLだけでなくJava言語での制御も可能となっています。 ただ、開発順序の影響で、後発のJava言語からの制御ではサポートしているのに、VCSSLからの制御ではまだサポートできていない設定・操作などが、 まだ現状ではいくつか存在しています。
カメラ関連の操作もその一つで、Java言語のプログラムからは直接操作できるのに、VCSSLから直接操作するための関数はこれまで存在せず、 設定ファイルなどを作成して読み込ませる等の、遠回りな方法を取る必要がありました。 そこで今回のアップデートでは以下の通り、カメラ関連の操作を行う関数群が利用可能になりました:
- void setGraph3DCameraAngle( int graphID, float horizontalAngle, float verticalAngle, string mode )
- カメラアングルを設定します。
- void setGraph3DCameraMagnification( int graphID, float magnification )
- カメラ倍率を設定します。
- void setGraph3DCameraDistance( int graphID, float distance )
- カメラ距離を設定します。
- void setGraph3DCameraPerspective( int graphID, bool perspective )
- カメラの遠近感の有効/無効を設定します。
引数などの詳細については、上記のリンク先の関数仕様をご参照ください。
リニアングラフ3Dに、グラフを回転させるアニメーションツールを同梱
上の節でも触れましたが、VCSSLの3Dグラフ描画機能にはリニアングラフ3Dを用いているため、逆にリニアングラフ3DにとってはVCSSLが、ソフトをスクリプト制御するための機能としての役割を担っています。 そのためリニアングラフ3Dは、VCSSLで書かれたスクリプトの実行機能を標準でサポートしています。 具体的には、メニューバーの「 プログラム 」メニューからスクリプトを選択して実行できます。
そのため、リニアングラフ3Dのいくつかの機能はVCSSLで実装されています。 具体的には、数式プロットや連番ファイルのアニメーション ( » 機能追加時のお知らせ記事 ) などを行うツールがVCSSL製で、メニューバーの「 プログラム 」メニューで標準で開かれるフォルダ内に同梱されています。
そして本日公開のリニアングラフ3Dの最新版から、 新たにグラフをゆっくりと回転アニメーションさせるツール「 回転アニメーション.vcssl 」が同梱されるようになりました。
このツールは、先の節でご紹介した、VCSSLのGraph3Dライブラリで追加されたカメラ制御関数を用いて、 カメラアングルを小刻みに変化させる事でアニメーションさせています。 それぞれの角度のグラフは、連番の画像ファイルとして保存する事も可能です。 保存した連番の画像ファイルは、 例えば「 GIMP 」などの画像処理ソフトでGIFアニメーションに変換 できます。 また、他にも色々なソフトで、その他の動画形式にも変換できます。 以下は、実際にGIFアニメーションを作成してみたものです:
なおこのツールは、VCSSL公式サイトのコードアーカイブにおいて、本日より単体でも公開しています。 操作方法などについては、そちらをご参照ください:
- [ コードアーカイブ ] 3Dグラフを回転アニメーションさせるツール
以上、今回は各ソフトウェアのアップデート情報についてお知らせしました。 調整レベルの細かいアップデートの場合は特にお知らせでピックアップしないような場合もありますが、 今回のようなアップデートについては、今後もこのコーナーでお知らせしていきます!
◇
追伸: VCSSLでの3Dグラフのカメラ制御や、リニアングラフ3Dの回転アニメーション機能については、これまでも幾度かご要望を頂いていたのですが、スケジュール等の都合でずっと先延ばしになってしまっていました。 今回のタイミングでサポートとなったのも、実は都合の良い時期にご要望を頂いた事によるものなのですが、その際、試作版での動作や使用のご報告等の貴重なフィードバックを頂きました。この場をお借りして御礼申し上げます。
リニアングラフ3DのVCSSL用APIにカメラ制御関数を追加、回転アニメーションツールも同梱
2019年10月09日 -
RINEARNでは10月9日にソフトウェアの最新版をリリースしました。VCSSLのAPI関数の追加や、リニアングラフ3Dのアニメーションツールの追加など行っています。その概要をお知らせします。
小型関数電卓 RINPn(旧称リニアンプロセッサー nano)の公式ページを開設
2019年10月02日 -
現在オープンソースで開発中の、「シンプル&コンパクト」を目指した小型プログラマブル関数電卓ソフト「 RINPn 」の公式ページが、RINEARNサイト内にオープンしました。その概要をお知らせします。
Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 -
オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。
リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 -
リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。
Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 -
オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。
Vnanoのスクリプトエンジンアーキテクチャ解説1: 全体像
2019年05月28日 -
RINEARNでは現在、 アプリケーション組み込み用スクリプトエンジン「 Vnano 」を、オープンソースで開発中です。今回は、このスクリプトエンジンのアーキテクチャ面を掘り下げて解説します。複数回の連載予定です。
リニアンプロセッサー nano の先行開発版やソースコードリポジトリを公開
2019年04月16日 -
オープンソースで開発中の小型プログラム関数電卓ソフト、「 リニアンプロセッサー nano 」の先行開発版やソースコードリポジトリを公開しました。概要と使用方法、ビルド方法などについて解説します。
各ソフトウェアの最新版を一括でリリース、OpenJDKのJava実行環境(JRE)に対応
2019年03月06日 -
RINEARNでは3月6日に、主要なソフトウェアの最新版を一括でリリースしました。今回のアップデートには、以前お知らせした、OpenJDKで生成したJREへの対応が含まれています。その概要等をお知らせします。
次回のVCSSL 3.4.10において、関数1個の挙動に非互換な修正が適用されます
2019年02月12日 -
VCSSLの次回の正式リリース版3.4.10において、これまでドキュメントと実際の挙動が異なっていた描画系の関数1個に、非互換な修正が適用されます。その詳細と、使用コードでの対応方法について解説します。
RINEARNのソフトウェア向けにOpenJDKで生成したJava実行環境(JRE)の提供を開始
2019年02月06日 -
Javaのリリースモデル変更への対応として、OpenJDKのjlinkツールを用いて、RINEARNのソフトウェア実行用に生成したJava実行環境(JRE)の提供を開始しました。その詳細と、今後の方針について解説します。
シンプル&コンパクトなプログラム関数電卓! 「 リニアンプロセッサー nano 」の概要
2019年01月26日 -
RINEARNでは現在、プログラム関数電卓ソフト「 リニアンプロセッサー 」の派生版として、シンプル&コンパクトな方向性を目指した「 リニアンプロセッサー nano 」を開発中です。その概要をご紹介します。