動画作成サンプル(LabTalk)

Origin 9以降のバージョンでは、作成したグラフからアニメーションを作成する機能が追加されました。GUIによる作成も可能ですが、ここではLabTalkスクリプトを使用して作成する際のサンプルコードをご紹介します。

3Dグラフの回転動画

Originで作図した3DグラフをZ軸周りに回転させる動画を作成するコードです。これを実行すると、次のような動画が作成されます。

  • 動画のファイル形式はAVI
  • 作成した動画はユーザファイルフォルダに保存
  • 作成される動画のファイル名はアクティブなグラフのタイトル
  • Z軸周りに1度ずつ回転する動画を作成
  • 動画の幅×高さは1024×768
動画再生

※サンプルを試す場合、Originで作成した3Dグラフをアクティブにし、「ウィンドウ」メニューの「コマンドウィンドウ」を選択して、以下のスクリプトを貼り付け、Enterキーを押して実行します。

// 3Dグラフ回転の動画を作成するスクリプト
// コーデックはMP4
int codec=vw.FourCC("F","M","P","4"); // Microsoft連長圧縮

// ビデオを作成 (ファイル名, コーデック, フレーム毎秒, 幅, 高さ)
string str$ = %y\3Dsample_%H.avi;
int err = vw.Create(%(str$), codec, 15, 1024, 768);
if( err != 0 )
{ 
	type -a Failed to create video writer, error code: $(err);
	return;
}

// グラフ回転の角度を設定
	int nstep = 1;

// プログレスダイアログを開く
break.open("処理中...");
break.min=0;
break.max=360;

// 360度までループ
for(ii = 0; ii <= 360; ii+=nstep)
{
	// プログレスダイアログを更新
	break.set(ii); 

	// Z方向にnstep度ずつ回転
	layer -3D R Z $(nstep); // R <axis=X|Y|Z> <degrees=-N to +N>

	// グラフを更新
	plot -Page;
	sec -pw %H;

	// 1つのフレームとしてグラフ画像をビデオとする
	err = vw.WriteGraph(%H);
	if( err )
	{
		type -a Error writing graph to video, error code: $(err);
		break;	
	}
}

// プログレスダイアログを閉じる
break.close();

// ビデオをリリースする
vw.Release();

 

page_top_icon