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

ファイルを3Dグラフにプロットする(点/線グラフ)

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

概要

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

使用方法

ダウンロードと起動

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

起動後

起動すると、まず適当な内容の座標値ファイルが書き出されて( sample3d.txt )、続いて3Dグラフが起動し、 ファイルの内容がプロットされます。

グラフ画面

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

コード解説

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

コード全体

まずは、コード全体を見てみましょう。20行程度のごく短いコードです。

以上です。流れとしては、前半部で座標値ファイルを書き出し、後半部でそれをグラフにプロットしています。

先頭部分

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

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

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

サンプル座標値ファイルの書き出し

続いて、サンプル座標値ファイルの書き出し部分です。

ここで何をやっているかというと、

x0    y0    z0
x1    y1    z1
x2    y2    z2

という形式で、1行につき1つの点の座標(x,y,z)をタブ区切りで書き出しています。 ファイル名は「 sample.txt 」で、実際に書き出された内容を開くと以下のようになります。

0.0    0.0    0.0
1.0    1.0    2.0
2.0    4.0    6.0
3.0    9.0    12.0
4.0    16.0    20.0
5.0    25.0    30.0
6.0    36.0    42.0
7.0    49.0    56.0
8.0    64.0    72.0
9.0    81.0    90.0
10.0    100.0    110.0

このように、関数 y = x*x, z = x+y の座標が、0 <= x <= 10 まで書き出されています。

この形式は、一般的なグラフソフトでサポートされている、よく見る形式です。 VCSSLの標準環境では、3次元グラフのプロット機能に「 リニアングラフ3D 」が採用されていますが、 リニアングラフ3Dでもこの形式をサポートしているため、使用できます。

プロット

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

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

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

続いて下のほうの行です。ここでは、setGraph3DFile関数で、先ほど起動した3Dグラフソフトに、 ファイル「 "sample3d.txt" 」をプロットさせています。 ここで第一引数に、先ほどグラフ起動時に受け取った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 )

スポンサーリンク