[ 前へ | 目次 | 次へ ]
2019/07/17

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応

RINEARNでは7月17日に、各ソフトウェアの最新版をリリースしました。ソフトの一覧は以下の通りです:

今回のリリースは、いずれもメジャーアップデートではなく、バージョン番号の最後の桁が変わるだけの、比較的小さなアップデートです。 このようなマイナーアップデートは、ソフトにもよりますが、概ね毎月〜数か月に一回程度行っています (地味なものが多いため、特にお知らせ記事にはしない場合も多いです)。

一方で今回は、リニアングラフ3Dと2Dにとっては特徴的な機能の追加を伴うもので、 「 マイナーアップデートの中ではやや重要度の高い 」アップデートとなっています。 そこで今回の記事では、その新機能を取り上げてお知らせいたします。

なお、以下では、リニアングラフ3Dとリニアングラフ2Dをまとめて、単に「 リニアングラフ 」と表記します。 今回追加した新機能は、3Dと2Dの両者で同じように使用できます。

リニアングラフに従来からあった方式のアニメーション機能

今回リニアングラフで新たに標準サポートとなったのは、新しい方式のアニメーション機能です。 と言っても、リニアングラフには従来からアニメーション機能がありました。 今回の新機能はそれを置き換えるためのものではなく、用途が少し違うものです。

という事で、まずは従来からあった方式のアニメーション機能の概要を見てみましょう。 リニアングラフの画面上部のメニューバーから「 ツール 」 > 「 アニメーション 」を選択すると、 従来の方式のアニメーションツールが使用できます(今後も使用できます)。

アニメーションツールを起動すると、動画プレイヤーの再生ボタンやシークバーのようなGUIを備えたウィンドウが表示され、 グラフをアニメーションさせる事ができます。 ここでは複数のモードを選択でき、例えば線を始点から徐々に描いていったり(下図左側)、 複数系列のデータを時系列と見なしてアニメーションさせたり(下図右側)、といった方式のアニメーションなどができます。

今回から利用可能になった、新しい方式のアニメーション機能

連番ファイルをアニメーション描画

今回の新しい方式では、得られるアニメーションの見た目そのものは、上図の右側「 複数系列のデータを時系列と見なしてアニメーションさせる 」場合と同様です。 ただ、そちらは 1 つのファイル内に「 系列 」という形で区切って全時刻のデータを記載する必要があります。 それに対して今回のアニメーション方式では、時刻ごとに1枚ずつデータファイルを用意して、 それに連番の名前(例えば「 file1.txt 」「 file2.txt 」「 file3.txt 」... など)を付けておくと、 それを高速で連続的に読み込み & 描画してアニメーションさせる事ができます。 また、各時刻のグラフを連番の画像ファイルに保存する事もできます。

各時刻の状態に応じて連番のデータファイルを出力するというのは、数値計算や装置の制御などでは恐らくよくあるケースで、 今回の機能では、そういったファイルを変換不要で直接アニメーション描画する事ができます。 これは解析上の利便性だけではなく、長時間や高詳細なアニメーションを行う際に、ファイルサイズやメモリー容量による制約を回避できる利点もあります。

一方で、ちょっとした軽いアニメーションに対しては、従来のように単一ファイル内に系列で区切って全時刻のデータを記載する方式にも、 ファイルが1枚に収まる手軽さや、(ファイル読み込みのオーバーヘッドが無いため)上限速度や時刻操作のレスポンスを高められるといった利点があります。

新アニメーションツールはスクリプト言語VCSSL製で、必要に応じて改造や細かい調整も可能

なお、リニアングラフでは、 Java®言語やRINEARN製のスクリプト言語VCSSLでのプログラム制御が可能で、 それを用いる事で、従来でも連番ファイルのアニメーションや画像ファイル出力などを行う事はできました。 ただ、それにはユーザー側がゼロからプログラムを記述する必要があり、慣れると細かい調整などを行いやすいものの、 例えば「 今すぐ連番ファイルをアニメーション描画できるグラフソフトを探している 」といった方にとっては、 あまり適しているとは言えない(可能か不可能かで言えば可能だけれど…といった程度の)状況でした。

そこで、ある程度一般的なケースにおいて、連番ファイルのアニメーション描画を行えるように実装したプログラムを、標準で同梱したのが今回のアニメーションツールです。

プログラムの記述言語については、この種の処理はケースバイケースで細かい調整を行いたくなる事も恐らく多いため、スクリプト言語のVCSSLを用いています。 リニアングラフでは、追加の開発環境などは不要で、「 プログラム 」メニューからVCSSLのプログラムを実行できるため、 ユーザー側でツールのプログラム内容を書き変えて、改造や細かい調整を行う事が可能になっています。

実はこのアニメーションツールは、今回の同梱に少し先行して、VCSSLの公式サイトのコードアーカイブでも配布を開始しており、単体で使用する事も可能です:

コードアーカイブ - VCSSL公式サイト
連番ファイルから3Dグラフをアニメーション描画するツール
フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
連番ファイルから2Dグラフをアニメーション描画するツール
フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。

今回のツールは上記で配付しているのと同じもので、詳しい使用方法などは上記ページでご参照いただけます。

使用方法

リニアングラフのダウンロードと起動

それでは、実際に新しいアニメーション機能を、試しに少し使用してみましょう。リニアングラフの最新版は以下から入手できます:

ダウンロードしたZIPファイルの展開方法や、その後のソフトの起動方法については、以下のページで詳しく説明しています:

アニメーションツールのVCSSLプログラムの実行

起動後、画面上部のメニューバーから「 プログラム 」メニューをクリックし、「 連番3Dデータのアニメーション.vcssl 」を選択して「 開く 」を押します。

するとVCSSLのコンソール画面が出現し、プログラムが解釈・実行されます。 ( ※ プログラム内容を書き変えた場合、エラーがあると、ここでVCSSLのコンソール画面にエラーメッセージが表示されます。)

連番ファイル情報の入力

まず以下のように、連番ファイルがあるフォルダを指定するかどうか尋ねられます。 ここで「 いいえ 」を選択すると、 リニアングラフ3Dの「 RinearnGraph3DProgram 」フォルダ内にある「 animation3d_input 」というフォルダが使用され、 そこには最初からサンプルファイルが入っています (リニアングラフ2Dの場合は、それぞれ3Dを2Dに置き換えた名称になっています)。 従って今回はとりあえず「 いいえ 」を選択しましょう。

続いて、連番ファイルの番号部を除いたファイル名を尋ねられます。

標準でサンプルのファイル名が入力されているので、今回はそのまま「 OK 」を押してください。 なお、一般の場合にここで入力するのは、ファイル名の中で、図で説明すると以下の部分です:

続けて拡張子も尋ねられますが、今回はそのまま「 OK 」を押します。

アニメーションツールの画面と基本操作

これで、アニメーションツールの画面が起動します。

基本的な使い方は、 一般的な動画再生と同じ感覚で、 「 アニメーション操作画面 」の「 PLAY 」を押すとアニメーションが開始され、その横のシークバーで時刻を操作できます。 また、描画範囲などのパラメータや挙動の調整も、ある程度はGUIの画面上で行う事ができます(より細かい調整も、プログラム内容を書き変える事で可能です)。

加えて、標準では点プロットで描画されますが、通常通りグラフ画面の「 オプションメニュー 」から曲面プロットにする事もできます。 実際に曲面プロットでアニメーションした様子を、GIFアニメーションで掲載すると以下のような具合です:

アニメーション内容を連番の画像ファイルに保存

一般に、上で掲載したようなグラフのアニメーション動画のファイルを作成するには、 まず連番の画像ファイルを作成して、そこから動画ファイルに変換するのがよくある流れです。 今回のアニメーションツールには、そういった用途のために、連番の画像ファイルを保存する機能も付いています。 使い方は、画面上で「 画像保存 」のボタンを押すだけです。 保存場所は、標準ではリニアングラフ3Dの「 RinearnGraph3DProgram 」フォルダ内にある「 animation3d_output 」というフォルダになります (リニアングラフ2Dの場合は、それぞれ3Dを2Dに置き換えた名称です)。

保存した連番の画像ファイルは、 例えば「 GIMP 」などの画像処理ソフトでGIFアニメーションに変換 できます。 また、他にも色々なソフトで、その他の動画形式にも変換できます。

保存した連番画像ファイルをアニメーションとして再生

なお「 動画ファイルに変換しなくても、連番の画像ファイルのままアニメーション再生できればそれでいい 」といった場合には、 そのためのツールも同梱されています。 先と同様にリニアングラフのプログラムメニューから「 連番画像ファイルのアニメーション.vcssl 」を選んで実行すると、 以下のように、保存した連番画像をアニメーション再生する画面が起動します。

ただ、上図をよく見るとわかりますが、この連番画像再生ツールは、描画速度的な事情で、画質が本来の画像よりも若干粗く映ります。 将来的に高画質モードを追加するかもしれませんが、現状ではあくまでも補助的なもので、 画質を求める場合は、何らかの動画ファイルに変換した方が見やすくなると思います。 一方で、時刻を手動操作するシークバーの1目盛りが、元の連番ファイル1枚ずつに対応していて、 どの番号のファイルかも画面上に表示されるので、解析作業時には動画ファイルより便利な場面もあると思います。

なお、この連番画像のアニメーション再生ツールは、VCSSLの公式サイトのコードアーカイブで、以下の通り単体でも配布しているものです:

コードアーカイブ - VCSSL公式サイト
連番画像をアニメーション再生する簡易ツール
フォルダ内の連番画像ファイルを、動画への変換不要で、そのままアニメーションとして再生できる簡易ツールです。

使い方のご質問や、カスタマイズのお問合せなどは御気軽に

今回利用可能となった新しいアニメーション機能の概要は、以上の通りです。 ご質問などについては、お問合せにて御気軽にお尋ねください。 今回ご紹介したアニメーションツールを改造したい場合などの、VCSSLでのプログラムの書き方についてのご質問なども御気軽にどうぞ。

なお、RINEARNでは、そのようなカスタマイズ作業の代行や、解析内容に合わせた新規ソフト開発のご依頼などについても、特注案件のお仕事として承っております。 内容によって技術的に対応できる場合とできない場合がございますが、そういった可否のお尋ねも含めて、どうぞ御気軽にご相談ください。


[ 前へ | 目次 | 次へ ]

リニアングラフ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 」を開発中です。その概要をご紹介します。

この階層の目次
[ 前へ | 目次 | 次へ ]
新しいお知らせ

Exevalator 2.2 をリリース、TypeScript 対応によりWebブラウザ上で動作可能に
2024-10-22 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。新たに TypeScript に対応し、Webブラウザ上での式計算にも使えるようになりました。詳細を解説します。

アシスタントAI作成の舞台裏(その2、作成編)
2024-10-12 - アシスタントAIの作成方法解説の後編です。実際にChatGPTの「GPTs」機能を用いて、アシスタントAIを作成する手順や、独自の知識をもたせたり、精度を出すためのノウハウなどを解説しています。

アシスタントAI作成の舞台裏(その1、基礎知識編)
2024-10-07 - アシスタントAI作成方法解説の前編です。今回はまず、アシスタントAIを作る前に抑えておきたい、基礎知識を延々と解説しています。そもそもLLM型AIとはどんな存在か? RAGとは何か? 等々です。

ソフトの利用をサポートしてくれるアシスタントAIを提供開始!
2024-09-20 - RINEARN製ソフトの使い方の質問応答や、一部作業のお手伝いをしてくれる、アシスタントAIを提供開始しました。ChatGPTアカウントさえあれば、誰でも無料で使用できます。使い方を解説します。

Exevalator 2.1 をリリース、新たに Visual Basic に対応
2024-07-28 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。今回から、新たに Visual Basic(VB.NET)でも使用できるようになりました。詳細を解説します。

関数電卓 RINPn(りんぷん)、Esc キーで計算式の一発クリアが可能に
2024-07-20 - 関数電 RINPn の Ver.1.0.2 をリリースしました。今回から、キーボードの「 Esc 」キーを押すと、入力中の計算式を一発でクリアできるようになりました。詳細を解説します。

Exevalator 2.0 をリリース、互換性に注意が必要なバグ修正が 1 件
2024-07-14 - オープンソースの式計算ライブラリ「Exevalator (エグゼバレータ)」の2.0をリリースしました。今回の更新では、互換性に注意を要する 1 件のバグ修正があります。詳細を解説します。

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024-02-05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。

Vnano の Ver.1.1 で実装した反復計算高速化の内側
2024-01-17 - 前回のお知らせ記事の続編です。スクリプトエンジン Vnano の Ver.1.1 において実施した高速化を、エンジン内部の実装面から掘り下げて解説します。

スクリプトエンジン Vnano の Ver.1.1 を公開、同じ内容の反復実行が劇的に高速化
2023-12-22 - スクリプトエンジン Vnano の最新版を公開しました。同じ計算式やスクリプトを反復実行する速さが、大幅に向上しました。次期版リニアングラフ3D内での活用例を交えつつ、詳しく解説します。