Now Loading...
※ ZIPファイルを展開して「 VCSSL.jar 」をダブルクリックして下さい。 動作には Java が必要です。 このVCSSLコードのライセンスは パブリックドメイン(CC0)です(詳細: ReadMe.txt)。

配列を3Dグラフにプロットする(点/線グラフ)

座標値配列の内容を、3次元グラフにプロットするサンプルプログラムです。

概要

このVCSSLプログラムは、座標値が格納された配列の内容を3Dグラフにプロットします。 サンプル的な短いコードなので、改造や流用のベースに適しています。

数値計算などのグラフプロットにおいては、普通、計算用のプログラムでファイルに座標値を一旦書き出し、 それを後から読み込んでプロットする事が多いでしょう。 しかしながら、ファイルの書き出しや読み込みは、少し時間がかかる処理であるため、 アニメーションを行いたい場合などではボトルネックになります。 そういった場合には、ファイルを介さず、座標値を配列に格納してそのままグラフソフトへ転送する事で、 高速なプロットを行う事ができます。

使用方法

ダウンロードと起動

上の画面の「 ダウンロードして実行 」ボタンを押して ZIP ファイルをダウンロードし、 右クリックして「すべて展開」してください。 展開した中にある「 VCSSL.jar(JARファイル) 」をダブルクリックすると、プログラムが起動します。

起動後

起動すると、3Dグラフが起動し、適当に計算した座標値値配列の内容がプロットされます。

グラフ画面

プロットする内容を変えるには、コード中の座標値値配列を代入している部分( for 文の中身 )を適当に書き換えてください。

コード解説

それでは、このプログラムのコード内容について解説していきます。 このプログラムのコードはVCSSLで記述されています。

コード全体

まずは、コード全体を見てみましょう。

流れとしては、前半部でサンプル座標値を配列に格納し、後半部でそれをグラフにプロットしています。

先頭部分

先頭部分を見てみましょう。

先頭の「 coding Shift_JIS; 」では、プログラムの文字コードを明示しています( UTF-8も可 )。 必須ではありませんが、書いておくと文字化けするのを防げます。

「 import tool.Graph3D; 」の部分は、3次元グラフを扱うためのライブラリ「 tool.Graph3D 」を読み込んでいます。

サンプル座標値配列の用意

続いて、サンプル座標値を配列に用意する部分です。

ここで何をやっているかというと、座標値を格納する要素数 11 の配列 xData, yData, zData を用意し、 そこに関数 y = x*x, z = x+y の座標を、0 <= x <= 10 まで 11 点分格納しています。

ファイルを3Dグラフにプロットする 」で行っていたファイルへの書き込みと比べて、 ここで行っている配列への代入は非常に高速です。 特にグラフをアニメーションさせたい場合などには、ファイルへの書き出しよりも、 このように配列に値を入れてプロットしたほうが遥かに滑らかに動きます。

プロット

最後に、書き出したファイルを3次元グラフにプロットする部分です。

上のほうの行の、newGraph3D関数で、3次元グラフソフトを起動しています。 この関数は、呼ぶ度にグラフソフトを1個起動し、そのグラフソフトに固有のID番号を割り振って返します。

例えば3次元グラフソフトを何個も起動した場合、12番グラフ、22番グラフ、101番グラフ、 …といったように、それぞれに番号が割り振られているわけです。 上では、生成したグラフに割り振られたID番号をint型変数「 graph 」に格納しているわけです。

続いて下のほうの行です。ここでは、setGraph3DData関数で、先ほど起動した3Dグラフソフトに、 座標値配列 xData, yData をプロットさせています。 ここで第一引数に、先ほどグラフ起動時に受け取ったID番号 graph を指定しています。 グラフが複数ある場合でも、このようにID番号で操作対象のグラフを区別できるわけです。

コードのライセンス

このVCSSLコードは著作権フリー(パブリックドメイン)で公開しています。 そのままでのご利用はもちろん、言語の種類を問わず、改造や流用などもご自由に行ってください。



スポンサーリンク



ユーザーが入力した数式を2次元グラフにプロットする

実行時にユーザーが入力した数式の値を、2次元グラフにプロットするサンプルプログラムです。
配列を3次元グラフにプロットする

座標値配列の内容を、3次元グラフにプロットするサンプルプログラムです。
配列を2次元グラフにプロットする

座標値配列の内容を、2次元グラフにプロットするサンプルプログラムです。
ファイルを3次元グラフにプロットする

座標値ファイルの内容を、3次元グラフにプロットするサンプルプログラムです。
ファイルを2次元グラフにプロットする

座標値ファイルの内容を、2次元グラフにプロットするサンプルプログラムです。
2DCGと3DCGの合成

2DCGと3DCGを一枚に合成し、画面に表示するプログラムの例です。
カラーコードとRGBの相互変換と色表示

カラーコードとRGB値を相互変換し、色も表示できるプログラムです。
頂点配列によるモデルの変形アニメーション

頂点配列によってモデルを変形アニメーションさせるサンプルです。
頂点配列によるモデルの作成(四角形格子メッシュ形式)

四角形格子メッシュの形式で、頂点配列からモデルを作成するサンプルです。
スポンサーリンク

インデックス
ユーザーが入力した数式を2次元グラフにプロットする

実行時にユーザーが入力した数式の値を、2次元グラフにプロットするサンプルプログラムです。
配列を3次元グラフにプロットする

座標値配列の内容を、3次元グラフにプロットするサンプルプログラムです。
配列を2次元グラフにプロットする

座標値配列の内容を、2次元グラフにプロットするサンプルプログラムです。
ファイルを3次元グラフにプロットする

座標値ファイルの内容を、3次元グラフにプロットするサンプルプログラムです。
ファイルを2次元グラフにプロットする

座標値ファイルの内容を、2次元グラフにプロットするサンプルプログラムです。
2DCGと3DCGの合成

2DCGと3DCGを一枚に合成し、画面に表示するプログラムの例です。
カラーコードとRGBの相互変換と色表示

カラーコードとRGB値を相互変換し、色も表示できるプログラムです。
頂点配列によるモデルの変形アニメーション

頂点配列によってモデルを変形アニメーションさせるサンプルです。
頂点配列によるモデルの作成(四角形格子メッシュ形式)

四角形格子メッシュの形式で、頂点配列からモデルを作成するサンプルです。

お知らせ( Twitter )

スポンサーリンク