数学(数値計算)と3 次元曲線曲面・幾何計算言語(インタープリタ)
CCTL Version 6.x 数値計算等に必要な技術ソフトウェアで構成されています。

注意事項
基本的には高度なプログラム作成、高速計算するのには向いていません。

紹介履歴
ベクター PACKforWINgold1999年前半期版
ASCII 月間 ウインドウズ・パワー Vol7
SOFT BANK 月間 C MAGAZINE 1999.10月号  特選ライブラリ&SDK
DOS/V USER 1999.1月号 
DOS/V USER 1999.4月号 

ダウンロード2010.07.21以降版(最新版) gmdll.version===[6.7.25.6]===
右クリック保存

2011/04/06 

■新規関数 mplicitsurface4関数<==結果が悪いので廃止する(多分。。。)
エッジ・コーナーを自動補正を試みる陰関数多面体近似
implicitsurface4( "f(x,y,z)", Vmin, Vmax [,tol [, dim]])
m_implicitsurface4( "f(x,y,z)", Vmin, Vmax [,tol [, dim]])
dimは多面体作成時のボクセル次元 dim×dim×dim の空間格子で形状を推定する

■新規関数 mplicitsurface3関数
エッジ・コーナーを自動補正を試みる陰関数多面体近似
implicitsurface3( "f(x,y,z)", Vmin, Vmax [,tol [, step [,levelMin [,levelMax]]]])
m_implicitsurface3( "f(x,y,z)", Vmin, Vmax [,tol [, step [,levelMin [,levelMax]]]])
stepは多面体作成時のボクセルピッチ
levelMinはOctreeの最低レベル
levelMinはOctreeのレベル上限

■新規関数 mpuimplicitsurface関数
mpuimplicitsurface( "点群ファイル名" [,tol [,step [,level [,shap [,cut [,suppot係数
    [,Nmin [,lambda [,polygonizer [,levelMin [,levelMax [,dim [,t [,"点群dmpファイル名]]]]]]]]]]]]]]);

m_mpuimplicitsurface(...同じ);

tolはフィッティング精度(default=0.005)
stepは多面体作成時のボクセルピッチの係数(default=0.01)
点群のMIN-MAXボックスの対角線に対して。
levelはOctreeのレベル
shapは特徴形状認識(する=1,しない=0) (default=1)
cut :取得した点列を ( cut/1000 )*100 % をランダムに間引きます。
この間引きは確率的なため正確に指定した比率になるとは限りません。
suppot係数(default=0.7)
Nminは最小点数(default=15)
lambda係数(default=0.1)
polygonizerは多面体近似でimplicitsurface3を使う=1
implicitsurface4を使う=2
levelMinはOctreeの最低レベル
levelMinはOctreeのレベル上限
dimはimplicitsurface4を使う場合のボクセル次元
tは特異値に対する分解能(default=0.025) 小さいほど先鋭
"点群dmpファイル名" :内部処理で使用した点群データのダンプ出力

数値引数で""を渡すとデフォルト値がそのまま採用されます。
MPU(id, x, y, z)
mpu(id, x, y, z)

■新規関数 texturesynthesis関数
texturesynthesis("bbb.bmp", M1, M2, M3, xn, yn, type, debug)
RGB行列(M1,M2,M3) をテクスチャ合成(TextureSynthesis)で増幅(拡大)します。
xnは横方向の拡大回数
ynは縦方向の拡大回数
typeは補正タイプで1〜3を指定します。(default:1)
debugは途中経過を画像で出力("bbb.bmp")します。
M1, M2, M3は出力結果で上書きされて返ります。

※テクスチャ合成(Texture Synthesis)
比較的小さな画像からその特徴をとら継ぎ目なく張り合わせて拡大する技術
周囲の画像とずれいないように張り合わせていきます。
A.A. Efros and T.K. Leung. Texture synthesis by non-parametic sampling.
In Proc. the IEEE International Conference on Computer Vision 2, pp. 1033?
1038, September 1999
ターゲットピクセルの隣接領域に類似した領域を検出し繰り返し合成を行う手法

L. Liang, C. Liu, Y. Xu, B. Guo, and H.-Y. Shum. Real-time texture synthesis
by patch-based sampling. Technical report msr-tr-2001-40, Microsoft Research,
March 2001.
合成テクスチャのパッチに類似したパッチを入力テクスチャから選択して適用する手法

■修正関数 implicitsurface2関数
続けて2回呼び出すと異常終了してしまう不具合を修正しました。


■新規関数 inpainting関数
inpainting("bbb.bmp", M1, M2, M3, iter, type, debug)
RGB行列(M1,M2,M3) で赤でマスクされた箇所を消去します。
iterは繰り返し回数
typeは補正タイプで0または1を指定します。(default:1)
debugは途中経過を画像で出力("bbb.bmp")します。
M1, M2, M3は出力結果で上書きされて返ります。

※インペインティング( Image Inpainting )
 写真についた傷や不要な被写体等の取り除きその欠損領域を自動的に修復する技術
  拡散方程式を使い修正領域の境界から内側へ補完、修復します。
 Marecelo Bertalmio SIGGRAPH2000,Jyly 2000
 
http://www.dtic.upf.edu/~mbertalmio/bertalmi.pdf

■新規関数 message_dlg関数
MessageBoxの制御
message_dlg( flg )

flg != 0 (default)
flg == 0 MessageBoxを出さない

■新規関数
分布の生成
id = distribution("分布関数名", パラメータ1,パラメータ2,...)

パラメータの変更
id = distribution(id, パラメータ1,パラメータ2,...)

分布のIDに対するxにおける確率密度関数の定義域を変更します
distribution_domain(id, xmin, xmax)

分布のIDに対する現在の区間左側の値を返す。
distribution_xmin(id)

分布のIDに対する現在の区間右側の値を返す。
distribution_xmax(id)

分布のIDに対するxにおける確率密度関数
distribution_pdf(id, x)

分布のIDに対するxにおける分布関数 
distribution_cdf(id, x)

分布のIDに対する確率密度に従う乱数
distribution_rand()
 

2009/11/03
■修正関数 UVmapping関数
浮動小数点例外で処理がキャンセルされるケースを強化した。
浮動小数点精度の限界によってUV値が縮退するケースがあるが計算方法を改善してUV縮退化を減らした。

■修正関数 wavfload関数
読み込めるケースを増やしました。(基本的には三角メッシュである点は変わらない)

■修正関数 curvaturemapplot関数
表示が正しく行えなかった点を修正しました。
curvaturemapplot(1) スペクトルカラーで曲率を表現します。
curvaturemapplot(2) Hueカラーで曲率を表現します。
curvaturemapplot(colormap, [type])
メッシュの場合
  type = 1 三角形の法線ベクトルと頂点法線ベクトルのなす角度の総和/面積
  type = 2 三角形の法線ベクトルと頂点法線ベクトルのなす角度の平均/面積
曲面の場合
  type = 1 ガウス曲率
  type = 2 平均曲率

■新規関数 sunflow_render関数
Sunflow - Global Illumination Rendering System scファイルのExportが行えます。
メッシュ出力,読み込みの時にscファイルを生成します。

sunflow_render(1);
triNum = plyload("bunny.ply", "");
end;

生成されるファイルは make_sunflow_sc.bat, shader_連番.sc, sunflow_連番.sc, main.sc
cctlplotで表示された時にメニューから「ファイル」->「レンダリング用(Export)」->「sunflow」で表示中の
カメラ位置とモデルViewの座標変換に関するscscファイルを生成します。
camera.sc
transform.sc
これらのファイルがある状態でmake_sunflow_sc.batを起動するとmain.scが構築されます。
Sunflowではこのmain.scを読み込んでGIレンダリングが行えます。

■新規関数  hueolor関数
Color = hueolor(max, number);
Hue(色相)をRGBにして返す関数です。maxが色を割り当てる最大数、numberは0〜maxまでも番号です。
2007.11.25 filelist2関数の出力不正を修正
2007.01.17 パラメータ化のゼロ割及び例外による異常を修正しました。
2006.11.26 0/0の評価で1を返すようにしました。その他ちょっと修正と幾つかの重要な仕様をDLL-APIとして外部参照可能にした。
2006.11.06 高精度数値偏微分関数の3変数関数におけるバグを修正しました。
2006.09.24 行列の特異値分解の出力結果に間違いがあったのを修正しました。その他若干の改良
2006.05.06 最小二乗法のパッケージを追加, パッケージのロードの不具合修正
2006.04.16 ちょっと修正
2006.03.28 いろいろと細かい修正
2006.03.06
マクロの修正
2006.02.19
Parameter最適化機能、点群からB-Spline曲面生成機能を追加
2006.01.08
色々と追加
2005.11.23
出力の不具合を修正
2005.10.23
機能追加分の一応の正式版
2005.10.15
多数の機能追加(これらの機能のヘルプファイルへの追記は未)
2005.10.12
CCTLPLOTの修正(ハードウエェア依存:浮動小数点関係のエラー)optionによる抑制が新規起動で効かない不具合を直しました 
2005.10.10
CCTLエンジンの一部を大幅変更に伴う修正、その他多数の機能追加(これらの機能は次のパッチで公開) 
2005.09.19
フォルダ名変更cctl\Tool\bin\user\AddOn=>cctl\Tool\bin\user\AddIn
CCTLPLOTの画像保存機能の改良、その他CCTLエンジンの一部を大幅に拡張 
2005.09.11
AddIn機能の修正、CCTLPLOTのホイールマウス対応及び若干の改善、面境界線操作関数を追加
2005.08.27
AddIn機能の追加2
2005.08.21 
AddIn機能の追加
2005.08.14
終了時に標準出力(stdout)を閉じていた不具合を修正。微分方程式ソルバが異常終了する場合があるのを修正
2005.08.07
スペルミスの訂正候補リストアップ機能の追加 
2005.07.17
色々と細かい修正と改善、PLY形式のバイナリ対応
2005.06.26
Parameter 化のメモリ範囲外アクセスの修正、(境界無し、複数境界の暫定対応<=正しい結果には成りません)
2005.06.11
適応型モンテカルロ積分の追加、オイラー定数の追加
2005.06.05
shuffle関数の追加準モンテカルロ積分の追加
2005.05.21
bool関数の追加(不等式をブール式に変換する関数です。これによって陰的に定義された領域上の数値積分/不等式の結合における数値積分,不等式の論理結合の領域上の関数を数値積分等ができるようになりました。
2005.05.05
VTK式のインポート、エクスポート対応(三角形メッシュのみ)
2005.05.03
自動更新チェック機能の追加
2005.04.17
implicitsurface同士のBlob合成を追加
2005.04.10
implicitsurfaceBooleranANDOR)によって新たなimplicit-surfaceを構築するための専用の関数を追加
2005.04.03
スパース行列の線形方程式を解くための専用の関数を追加。長方行列を含む一般行列のLU分解に対応
2005.02.27
implicitsurface2 ()内部処理不具合修正(この関数を2回呼び出すと異常終了することがあった )2D関係のバグ修正(arccre関数)
2005.02.19
AVI (動画)のインポート、エクスポート機能追加しました。(AVI<=>行列)
2005.02.13
テクスチャ・マッピングのイメージにAVI(動画)を指定できるように機能追加しました。
2005.02.06
行列のextention関数のバグ修正(行と列が逆転していました)
2005.01.23
パラメータ化関数の追加、PLY形式IO不具合修正
2005.01.10
関数の追加、PLY形式対応、多面体切断分離の不具合修正
2004.11.27
関数の追加(置換の偶奇符号の計算、置換列の列挙),パイプ面に追加した新たなバリエーションで半径が変動してしまう不具合を直しました
2004.11.21
implicit -surfaceのポリゴンの座標系が出力結果と表示データでずれていました。

 

GUI統合環境
ダウンロード2007.01.17版(試行版・最新版) guicctl.version===[1.1.5.27]===
右クリック保存

以下の機能を持ったエディタです。

・正規表現対応の検索・置換機能
・キー・マクロ機能(記録・再生)
・カラー構文エディタ機能,対応括弧のハイライト表示
・タブ形式のMDI
・選択領域にたいするOLE対応アプリケーション間のドラッグ&ドロップ対応
・タブ形式エディタ(にもなる)





inserted by FC2 system