一つずつ順番にプロットしていくことで、元の動きを再現したアニメーションのように表示したいのですが、方法があれば教えてください。
【1】wgnuplotで作ってみました
必要なファイルは3つです
(1)データファイルの準備 a.dat
データファイルは一行おきにします
(テキストエディタなどで「改行コード」を「改行コード改行コード」に置換するなどして対応してください)
1 1.2 1.5 2 2.2 2.5 3 3.2 3.2
(2)起動用スクリプトの準備 a.gpl
描画範囲はデータに応じて設定しておいてください
タイトルや凡例などをsetする場合はこちらに記述してください
tmaxは最初は100程度の小さい数値にしてテストしてみてください
# 描画範囲 set xrange[-100:100] set yrange[-100:100] set zrange[-100:100] # カウンタと最大値 tt = -1 tmax = 10000 # スクリプト呼び出し load "b.gpl"
(3)ループ用スクリプトの準備 b.qpl
ポーズの値は全体を再生する秒数から計算すると良いでしょうけれど、
データ数が多いので計算どおりにいかないかもしれません
# カウントアップ tt = tt + 1 # データ読み込み plot "a.dat" every :::0::tt with point # 一時停止 pause 0.001 # カウンタの値が上限に達していなければ再呼び出し if( tt < tmax ) reread
(4)実行
load "a.gpl"
【2】改良すべき点
基点から再描画させるという手を使っていますので、
データ量が増えれば増えるほどループ毎に処理時間が増えるということになります
対策としてカウントアップを+1ではなく「tt = tt + 10」や「tt = tt + 100」などとしたほうがスムーズかもしれません
不明点がありましたら「コメント・トラックバックを表示する」にチェックを入れておいてください
回答欄よりも応答が速くなる場合があります
(回答欄を複数回使うのは質問者/回答者ともにデメリットがありますので、
読みやすさなどの問題がなければ続きはコメント欄にしたほうが得です)
【1】wgnuplotで作ってみました
必要なファイルは3つです
(1)データファイルの準備 a.dat
データファイルは一行おきにします
(テキストエディタなどで「改行コード」を「改行コード改行コード」に置換するなどして対応してください)
1 1.2 1.5 2 2.2 2.5 3 3.2 3.2
(2)起動用スクリプトの準備 a.gpl
描画範囲はデータに応じて設定しておいてください
タイトルや凡例などをsetする場合はこちらに記述してください
tmaxは最初は100程度の小さい数値にしてテストしてみてください
# 描画範囲 set xrange[-100:100] set yrange[-100:100] set zrange[-100:100] # カウンタと最大値 tt = -1 tmax = 10000 # スクリプト呼び出し load "b.gpl"
(3)ループ用スクリプトの準備 b.qpl
ポーズの値は全体を再生する秒数から計算すると良いでしょうけれど、
データ数が多いので計算どおりにいかないかもしれません
# カウントアップ tt = tt + 1 # データ読み込み plot "a.dat" every :::0::tt with point # 一時停止 pause 0.001 # カウンタの値が上限に達していなければ再呼び出し if( tt < tmax ) reread
(4)実行
load "a.gpl"
【2】改良すべき点
基点から再描画させるという手を使っていますので、
データ量が増えれば増えるほどループ毎に処理時間が増えるということになります
対策としてカウントアップを+1ではなく「tt = tt + 10」や「tt = tt + 100」などとしたほうがスムーズかもしれません
不明点がありましたら「コメント・トラックバックを表示する」にチェックを入れておいてください
回答欄よりも応答が速くなる場合があります
(回答欄を複数回使うのは質問者/回答者ともにデメリットがありますので、
読みやすさなどの問題がなければ続きはコメント欄にしたほうが得です)
ありがとうございます!!
連続的にプロットできることを確認しました。
データセットが10,000ぐらいの解像度であれば
tt = tt + 10
pause 0.01
でかなりスムーズに動くようです。
繰り返し申し上げますが不明点がありましたら「コメント・トラックバックを表示する」にチェックを入れておいてください
回答欄よりも応答が速くなる場合があります
(回答欄を複数回使うのは質問者/回答者ともにデメリットがありますので、
読みやすさなどの問題がなければ続きはコメント欄にしたほうが得です)
ありがとうございます!!
連続的にプロットできることを確認しました。
データセットが10,000ぐらいの解像度であれば
tt = tt + 10
pause 0.01
でかなりスムーズに動くようです。