Graph3D ライブラリ


概要 - Abstract

tool.Graph3D ライブラリ APIライブラリ(以下、Graph3D ライブラリライブラリ)は、3次元グラフソフトウェアを制御するためのライブラリです。

Graph3D ライブラリは拡張ライブラリであり、VCSSLの言語仕様における標準ライブラリには含まれていません。従って、全てのVCSSL処理系において、必ずしもGraph3D ライブラリの実装がサポートされるわけではありません。

Graph3D ライブラリの仕様は、広く一般的な3次元グラフソフトウェアをVCSSLから制御する事を想定して定義されており、特定の3次元グラフソフトウェアを前提としたものではありません。 Graph3D ライブラリの実装において、制御対象にどのような3次元グラフソフトウェアが採用されるかは処理系依存であり、処理系の開発元(ベンダー)、バージョン、またはグラフソフトウェアとの通信機能を提供するプラグインなどに依存します。このような事情があるため、Graph3D ライブラリが提供する各種関数も、異なる処理系に関しては、厳密に同一の挙動を期待すべきではありません。

また、同一の処理系であっても、Graph3D ライブラリは標準ライブラリでは無いため、その実装において、恒久的に同様の挙動が保証されるものではありません。Graph3D ライブラリの実装は、あくまで処理系が独自にサポートする拡張機能であるという点に留意しておく必要があります。例えば、グラフソフトウェアの大幅なアップデートが行われると、 それに伴い、Graph3D ライブラリの挙動も微妙に変化してしまうケースなどが考えられます。

RINEARN VCSSLランタイム、及びそれを搭載するVCSSL対応ソフトウェア(リニアンプロセッサーなど)では、Graph3D ライブラリをサポートしており、その実装には科学技術分野用グラフソフトウェア「 リニアングラフ3D 」を採用しています。リニアングラフ3D本体( RinearnGraph3D ライブラリ.jar )はVCSSLランタイムの配布パッケージ内に同梱されているため、別途何かを用意する必要はありません。


目次 - Index

int newGraph3D()
3次元グラフをデフォルトのサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
int newGraph3D( int x, int y, int width, int height, string title )
3次元グラフを指定されたサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
int getGraph3D()
処理系で起動・確保されている特別なグラフがあれば、そのグラフIDを取得します。無ければ新規生成します。
void deleteGraph3D( int graphID )
グラフを破棄します。
void clearGraph3D( int graphID )
グラフの内容をクリアします。
int getGraph3DGraphics( int graphID )
グラフの保持している描画内容を、Graphicsライブラリ互換のグラフィックスデータに変換します。変換されたグラフィックスデータは、2D/3Dレンダラ―などで加工できます。
void setGraph3DLocation( int graphID, int x, int y )
グラフウィンドウの位置を設定します。
void setGraph3DSize( int graphID, int width, int height )
グラフウィンドウの大きさを設定します。
void hideGraph3D( int graphID )
グラフウィンドウを不可視化します。
void showGraph3D( int graphID )
グラフウィンドウを可視化します。
void setGraph3DFile( int graphID, string filePath )
ファイルを読み込み、グラフにプロットします。
void setGraph3DFile( int graphID, string file[ ] )
複数のファイルを読み込み、グラフにプロットします。
void setGraph3DData( int graphID, string data )
ファイルの内容と同じ書式で記載されたテキストを読み込み、グラフにプロットします。
void setGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
座標値を格納する float 型配列を読み込み、グラフにプロットします。
void setGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
座標値を格納する float 型配列を読み込み、グラフにプロットします。
void setGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
座標値を格納する float 型配列を読み込み、グラフにプロットします。
void addGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
void addGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
void addGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
void setGraph3DConfigurationFile( int graphID, string file )
設定ファイルを読み込み、グラフに自動で設定を行います。
void setGraph3DRange( int graphID, double xMin, double xMax, double yMin, double yMax, double zMin, double zMax )
プロット範囲を設定します。
void setGraph3DRangeX( int graphID, double xMin, double xMax )
X軸のプロット範囲を設定します。
void setGraph3DRangeY( int graphID, double yMin, double yMax )
Y軸のプロット範囲を設定します。
void setGraph3DRangeZ( int graphID, double zMin, double zMax )
Z軸のプロット範囲を設定します。
void setGraph3DAutoRange( int graphID, bool autoX, bool autoY, bool autoZ )
プロット範囲の自動調整機能を有効化または無効化します。
void setGraph3DCameraAngle( int graphID, float horizontalAngle, float verticalAngle, string mode )
カメラアングルを設定します。引数 horizontalAngle と verticalAngle には、グラフ原点からカメラ位置を見るベクトル(カメラ方向ベクトル)を、天頂軸(後述)を基準とした水平角と垂直角で指定します。垂直角は、カメラ方向ベクトルが天頂軸となす角度を指定します。水平角は、天頂軸と鉛直な面への、カメラ方向ベクトルの射影の向きを角度で指定します。ここで天頂軸は、引数 mode に以下の値を指定する事によって、X/Y/Z軸から選択できます: ZENITH_X : X軸を天頂軸とする角度指定モード , ZENITH_Y : Y軸を天頂軸とする角度指定モード , ZENITH_Z : Z軸を天頂軸とする角度指定モード ,
void setGraph3DCameraMagnification( int graphID, float magnification )
カメラ倍率を設定します。
void setGraph3DCameraDistance( int graphID, float distance )
カメラ距離を設定します。
void setGraph3DCameraPerspective( int graphID, bool perspective )
カメラの遠近感の有効/無効を設定します。
void setGraph3DOption( int graphID, string option, bool value )
グラフのオプション項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです: WITH_POINTS : 点プロット , WITH_LINES : 線プロット , WITH_MESHES : メッシュプロット , WITH_MEMBRANES : 曲面プロット , FLAT : 平面化 , FRAME : 枠線描画 , SCALE : 目盛り描画 , GRID_LINE : グリッドライン描画 , GRADATION : Z値によるグラデーション彩色 , ALPHA : 半透明描画 , LOG_X : X対数軸表示 , LOG_Y : Y対数軸表示 , LOG_Z : Z対数軸表示 , REVERSE_X : X軸反転表示 , REVERSE_Y : Y軸反転表示 , REVERSE_Z : Z軸反転表示 ,
void setGraph3DMenu( int graphID, string option, string value )
グラフのメニュー項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです: SET_LABEL_X : X軸ラベル , SET_LABEL_Y : Y軸ラベル , SET_LABEL_Z : Z軸ラベル ,
void setGraph3DAnimation( int graphID, string option, bool state )
グラフのアニメーションを有効化または無効化します。利用可能なアニメーションモードは処理系に依存します。代表的なアニメーションモードは以下の通りです: TRACE : 点をアニメーションし、軌跡を残す , INDEX : 点をアニメーションする , INDEX-SERIES : 系列をアニメーションする , INDEX-X : メッシュデータのX方向ラインをアニメーションする , INDEX-Y : メッシュデータのY方向ラインをアニメーションする , RANGE-X : プロット範囲をX方向にスライドさせる , RANGE-Y : プロット範囲をY方向にスライドさせる , RANGE-Z : プロット範囲をZ方向にスライドさせる ,
void exportGraph3D( int graphID, string filename, string format )
グラフを画像に出力します。
void exportGraph3D( int graphID, string filename, string format, float quality )
グラフを画像に出力します。

構造体 - Structs

- なし - None -


変数 - Variables

- なし - None -


関数 - Functions

定義
- Signature
int newGraph3D()
詳細
- Details
3次元グラフをデフォルトのサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
戻り値
- Return
生成したグラフのID
定義
- Signature
int newGraph3D( int x, int y, int width, int height, string title )
詳細
- Details
3次元グラフを指定されたサイズで生成し、それに固有の識別番号 ( グラフID ) を割り振って返します。
引数
- Arguments
x : グラフウィンドウ左上頂点のX座標
y : グラフウィンドウ左上頂点のY座標
width : グラフウィンドウの幅
height : グラフウィンドウの高さ
title : グラフウィンドウタイトル
戻り値
- Return
生成したグラフのID
定義
- Signature
int getGraph3D()
詳細
- Details
処理系で起動・確保されている特別なグラフがあれば、そのグラフIDを取得します。無ければ新規生成します。
戻り値
- Return
取得または生成したグラフID
定義
- Signature
void deleteGraph3D( int graphID )
詳細
- Details
グラフを破棄します。
引数
- Arguments
graphID : 対象グラフのID
定義
- Signature
void clearGraph3D( int graphID )
詳細
- Details
グラフの内容をクリアします。
引数
- Arguments
graphID : 対象グラフのID
定義
- Signature
int getGraph3DGraphics( int graphID )
詳細
- Details
グラフの保持している描画内容を、Graphicsライブラリ互換のグラフィックスデータに変換します。変換されたグラフィックスデータは、2D/3Dレンダラ―などで加工できます。
引数
- Arguments
graphID : 対象グラフのID
戻り値
- Return
グラフィックスデータID
定義
- Signature
void setGraph3DLocation( int graphID, int x, int y )
詳細
- Details
グラフウィンドウの位置を設定します。
引数
- Arguments
graphID : 対象グラフのID
x : グラフウィンドウ左上頂点のX座標
y : グラフウィンドウ左上頂点のY座標
定義
- Signature
void setGraph3DSize( int graphID, int width, int height )
詳細
- Details
グラフウィンドウの大きさを設定します。
引数
- Arguments
graphID : 対象グラフのID
width : グラフウィンドウの幅
height : グラフウィンドウ高さ
定義
- Signature
void hideGraph3D( int graphID )
詳細
- Details
グラフウィンドウを不可視化します。
引数
- Arguments
graphID : 対象グラフのID
定義
- Signature
void showGraph3D( int graphID )
詳細
- Details
グラフウィンドウを可視化します。
引数
- Arguments
graphID : 対象グラフのID
定義
- Signature
void setGraph3DFile( int graphID, string filePath )
詳細
- Details
ファイルを読み込み、グラフにプロットします。
引数
- Arguments
graphID : 対象グラフのID
filePath : プロットするファイルのファイル名またはパス
定義
- Signature
void setGraph3DFile( int graphID, string file[ ] )
詳細
- Details
複数のファイルを読み込み、グラフにプロットします。
引数
- Arguments
graphID : 対象グラフのID
file : プロットするファイルのファイル名またはパス
定義
- Signature
void setGraph3DData( int graphID, string data )
詳細
- Details
ファイルの内容と同じ書式で記載されたテキストを読み込み、グラフにプロットします。
引数
- Arguments
graphID : 対象グラフのID
data : ファイルの内容と同じ書式で記載されたテキスト
定義
- Signature
void setGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
詳細
- Details
座標値を格納する float 型配列を読み込み、グラフにプロットします。
引数
- Arguments
graphID : 対象グラフのID
dataX : X座標を格納する配列( [ 点インデックス ] )
dataY : Y座標を格納する配列( [ 点インデックス ] )
dataZ : Z座標を格納する配列( [ 点インデックス ] )
定義
- Signature
void setGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
詳細
- Details
座標値を格納する float 型配列を読み込み、グラフにプロットします。
引数
- Arguments
graphID : 対象グラフのID
dataX : X座標を格納する配列( [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataY : Y座標を格納する配列( [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataZ : Z座標を格納する配列( [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
定義
- Signature
void setGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
詳細
- Details
座標値を格納する float 型配列を読み込み、グラフにプロットします。
引数
- Arguments
graphID : 対象グラフのID
dataX : X座標を格納する配列( [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataY : Y座標を格納する配列( [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataZ : Z座標を格納する配列( [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
定義
- Signature
void addGraph3DData( int graphID, float dataX[ ], float dataY[ ], float dataZ[ ] )
詳細
- Details
座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
引数
- Arguments
graphID : 対象グラフのID
dataX : X座標を格納する配列( [ 点インデックス ] )
dataY : Y座標を格納する配列( [ 点インデックス ] )
dataZ : Z座標を格納する配列( [ 点インデックス ] )
定義
- Signature
void addGraph3DData( int graphID, float dataX[ ][ ], float dataY[ ][ ], float dataZ[ ][ ] )
詳細
- Details
座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
引数
- Arguments
graphID : 対象グラフのID
dataX : X座標を格納する配列( [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataY : Y座標を格納する配列( [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataZ : Z座標を格納する配列( [ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
定義
- Signature
void addGraph3DData( int graphID, float dataX[ ][ ][ ], float dataY[ ][ ][ ], float dataZ[ ][ ][ ] )
詳細
- Details
座標値を格納する float 型配列を読み込み、グラフに追記プロットします。
引数
- Arguments
graphID : 対象グラフのID
dataX : X座標を格納する配列( [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataY : Y座標を格納する配列( [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
dataZ : Z座標を格納する配列( [ 系列インデックス ][ メッシュ上のY方向インデックス ][ メッシュ上のX方向インデックス ] )
定義
- Signature
void setGraph3DConfigurationFile( int graphID, string file )
詳細
- Details
設定ファイルを読み込み、グラフに自動で設定を行います。
引数
- Arguments
graphID : 対象グラフのID
file : 設定ファイルのファイル名またはパス
定義
- Signature
void setGraph3DRange( int graphID, double xMin, double xMax, double yMin, double yMax, double zMin, double zMax )
詳細
- Details
プロット範囲を設定します。
引数
- Arguments
graphID : 対象グラフのID
xMin : X軸の最小値
xMax : X軸の最大値
yMin : Y軸の最小値
yMax : Y軸の最大値
zMin : Z軸の最小値
zMax : Z軸の最大値
定義
- Signature
void setGraph3DRangeX( int graphID, double xMin, double xMax )
詳細
- Details
X軸のプロット範囲を設定します。
引数
- Arguments
graphID : 対象グラフのID
xMin : X軸の最小値
xMax : X軸の最大値
定義
- Signature
void setGraph3DRangeY( int graphID, double yMin, double yMax )
詳細
- Details
Y軸のプロット範囲を設定します。
引数
- Arguments
graphID : 対象グラフのID
yMin : Y軸の最小値
yMax : Y軸の最大値
定義
- Signature
void setGraph3DRangeZ( int graphID, double zMin, double zMax )
詳細
- Details
Z軸のプロット範囲を設定します。
引数
- Arguments
graphID : 対象グラフのID
zMin : Z軸の最小値
zMax : Z軸の最大値
定義
- Signature
void setGraph3DAutoRange( int graphID, bool autoX, bool autoY, bool autoZ )
詳細
- Details
プロット範囲の自動調整機能を有効化または無効化します。
引数
- Arguments
graphID : 対象グラフのID
autoX : X軸方向の自動調性機能を有効にするならtrue、無効にするならfalse
autoY : Y軸方向の自動調性機能を有効にするならtrue、無効にするならfalse
autoZ : Z軸方向の自動調性機能を有効にするならtrue、無効にするならfalse
定義
- Signature
void setGraph3DCameraAngle( int graphID, float horizontalAngle, float verticalAngle, string mode )
詳細
- Details
カメラアングルを設定します。引数 horizontalAngle と verticalAngle には、グラフ原点からカメラ位置を見るベクトル(カメラ方向ベクトル)を、天頂軸(後述)を基準とした水平角と垂直角で指定します。垂直角は、カメラ方向ベクトルが天頂軸となす角度を指定します。水平角は、天頂軸と鉛直な面への、カメラ方向ベクトルの射影の向きを角度で指定します。ここで天頂軸は、引数 mode に以下の値を指定する事によって、X/Y/Z軸から選択できます:
ZENITH_X
X軸を天頂軸とする角度指定モード
ZENITH_Y
Y軸を天頂軸とする角度指定モード
ZENITH_Z
Z軸を天頂軸とする角度指定モード
引数
- Arguments
graphID : 対象グラフのID
horizontalAngle : 水平角
verticalAngle : 垂直角
mode : 角度指定モード(値は上記のリスト参照)
定義
- Signature
void setGraph3DCameraMagnification( int graphID, float magnification )
詳細
- Details
カメラ倍率を設定します。
引数
- Arguments
graphID : 対象グラフのID
magnification : カメラ倍率
定義
- Signature
void setGraph3DCameraDistance( int graphID, float distance )
詳細
- Details
カメラ距離を設定します。
引数
- Arguments
graphID : 対象グラフのID
distance : カメラ距離
定義
- Signature
void setGraph3DCameraPerspective( int graphID, bool perspective )
詳細
- Details
カメラの遠近感の有効/無効を設定します。
引数
- Arguments
graphID : 対象グラフのID
perspective : 遠近感の有効/無効(有効な場合にtrue)
定義
- Signature
void setGraph3DOption( int graphID, string option, bool value )
詳細
- Details
グラフのオプション項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです:
WITH_POINTS
点プロット
WITH_LINES
線プロット
WITH_MESHES
メッシュプロット
WITH_MEMBRANES
曲面プロット
FLAT
平面化
FRAME
枠線描画
SCALE
目盛り描画
GRID_LINE
グリッドライン描画
GRADATION
Z値によるグラデーション彩色
ALPHA
半透明描画
LOG_X
X対数軸表示
LOG_Y
Y対数軸表示
LOG_Z
Z対数軸表示
REVERSE_X
X軸反転表示
REVERSE_Y
Y軸反転表示
REVERSE_Z
Z軸反転表示
引数
- Arguments
graphID : 対象グラフのID
option : オプション項目名
value : オプションを有効にするならtrue、無効にするにはfalse
定義
- Signature
void setGraph3DMenu( int graphID, string option, string value )
詳細
- Details
グラフのメニュー項目を設定します。項目名は処理系に依存します。代表的なオプション項目名は以下の通りです:
SET_LABEL_X
X軸ラベル
SET_LABEL_Y
Y軸ラベル
SET_LABEL_Z
Z軸ラベル
引数
- Arguments
graphID : 対象グラフのID
option : メニュー項目名
value : メニュー項目を有効にするならtrue、無効にするにはfalse
定義
- Signature
void setGraph3DAnimation( int graphID, string option, bool state )
詳細
- Details
グラフのアニメーションを有効化または無効化します。利用可能なアニメーションモードは処理系に依存します。代表的なアニメーションモードは以下の通りです:
TRACE
点をアニメーションし、軌跡を残す
INDEX
点をアニメーションする
INDEX-SERIES
系列をアニメーションする
INDEX-X
メッシュデータのX方向ラインをアニメーションする
INDEX-Y
メッシュデータのY方向ラインをアニメーションする
RANGE-X
プロット範囲をX方向にスライドさせる
RANGE-Y
プロット範囲をY方向にスライドさせる
RANGE-Z
プロット範囲をZ方向にスライドさせる
引数
- Arguments
graphID : 対象グラフのID
mode : アニメーションモード
state : アニメーションを有効化するならtrue、無効化するならfalse
定義
- Signature
void exportGraph3D( int graphID, string filename, string format )
詳細
- Details
グラフを画像に出力します。
引数
- Arguments
graphID : 対象グラフのID
filename : 出力ファイル名またはパス
形式( : "PNG" または "JPEG" )
定義
- Signature
void exportGraph3D( int graphID, string filename, string format, float quality )
詳細
- Details
グラフを画像に出力します。
引数
- Arguments
graphID : 対象グラフのID
filename : 出力ファイル名またはパス
形式( : "PNG" または "JPEG" )
quality : 品質( 0.0 ~ 100.0 )

この階層の目次
お知らせ

リニアングラフ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グラフを回転アニメーションさせるツール

3Dグラフを、Z軸まわりにゆっくりと回転アニメーションさせるツールです。全角度のグラフを、連番の画像ファイルに保存する事もできます。
2019年10月09日
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
開発元Twitterアカウント