CSVのデータから3Dモーションを作成する方法を教えてください。
私は現在、剣道の足さばきについて、モーションデータを作成することで分析する研究を行っていま
す。その中で、演者の動作から身体の各関節のうち、胴体、左右の腰、膝、足の計7つの関節について、3次元座標を抽出し、それをCSV形式のファイルに書き出しました。
そのCSV内のデータを用い、各関節を線(ボーン)でつなぎ、足の動きのみが分かるアニメーションを作りたいと考えております。また、今回は2人分のモーションを重ねて表示することも行いたいです。
いろいろ調べたのですが、やり方が分かりません。やり方の一つとして、CSVを適切なファイルに変換し、アニメーションを作成するソフトに流し込むことが考えられますが、変換するファイルやソフト
は何がふさわしいのか、どのように作業するのかが分かりません。
また、自分でプログラミングする方法も考えられますが、何の言語を用い、どのようなソースコード
を書けば実現するのか皆目見当がつきません。
私は3DCGの分野やプログラミングに関しては全くの初心者なのですが、急きょ必要になり、困っている次第です。4,5日ほどで結果を出さなければいけないので、あまり時間がありません。どのような方法がよいか、上述のような内容で詳しく教えていただきたいです。
CSVファイルの内容を添付しました。列に各関節と3次元座標、行は時系列を表しています。数値は公表できないので消してあります。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
gnuplotというグラフを描画するソフトがあります。
3次元の点を線で結んで3Dアニメーションを作ることもできます。
Linux環境で端末エミュレータを起動します。
gnuplotの前に、awkでCSVファイルをグラフ化できる書式に変換します。
(gnuplotやawkはWindows版もあるが、同じようにできるかどうかは不明)
1. CSVファイルがあるディレクトリで、コマンドプロンプトから下記を一行で実行。
「点数」はCSV一行あたりの関節(xyzで一組)の数に置き換え。
motion1.csvは一人目のCSVファイル、motion1.txtはそれを変換した後のファイル名。
二人目についても同様にmotion2.csvからmotion2.txtを作ること。
$ awk -F, '{ n=2; for (i=0; i<点数; i++) { x=i*3+1; y=i*3+2; z=i*3+2; printf "%g %g %g\n",$x,$y,$z } printf "\n\n" }' motion1.csv > motion1.txt
2. 同じディレクトリに、次のテキストファイルを作成。
ここではファイル名をplot.txtとします。
「行数」はCSVフィアルの行数(=時系列のデータ数)に置き換え。
xrange,yrange,zrangeの範囲の数値は実際のデータに合わせて調整すること。
---------- ここから ----------
m=行数
if (i == 0) set size square
if (i == 0) set xrange[-600:600]
if (i == 0) set yrange[-600:600]
if (i == 0) set zrange[-600:600]
print i
set style line 1 linetype 0
splot "motion1.txt" index i title "motion1" ps 2 with linespoints
replot "motion2.txt" index i title "motion2" ps 2 with linespoints
i=i+1
pause 0.1
if (i<m) reread
---------- ここまで ----------
3. 同じディレクトリで gnuplot を起動し、gnuplotのプロンプトから下記のようにコマンドを実行する。
$ gnuplot
gnuplot> i=0
gnuplot> load "plot.txt"
これで二人分のデータが3Dアニメーションで表示されます。
一人分のデータは一筆書きになるので、同じ関節を往復するなど関節の順番を工夫が必要です。
4,5日しかないとなると、プログラミングの勉強から始めるのは厳しいかと。
・参考
http://gnuplotdojo.blog92.fc2.com/blog-entry-13. …
http://folk.uio.no/hpl/scripting/doc/gnuplot/Kaw …
No.1
- 回答日時:
私もあまり詳しくないので参考になればいいのですが....
BVH形式はどうでしょう?中身はテキスト形式なので出力できる言語は沢山あると思います
http://acerola3d.sourceforge.jp/docs/format/tuto …
http://www.tmps.org/index.php?MOCAP%A5%C7%A1%BC% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
原点にして頂点と言ったのはだ...
-
この元ネタが分かる方いませんか?
-
小学生向け笑える話、面白い話...
-
息子の部屋から『中に出すぞ』...
-
おんなじ声優でびっくり
-
Power Pointで1クリックでひと...
-
ドラゴンボールGTの最後のナレ...
-
アダルトビデオについて 今どき...
-
観たアニメを記録するのを辞め...
-
パワーポイント「スライドショ...
-
「こと」の使い方。
-
gif画像をエクセルのシートに貼...
-
延長コードのプラグ差し込み部...
-
らんま1/2でムースとシャンプー...
-
サザエさんで、磯野家の2階の存...
-
私は男ですが車に興味がないの...
-
タイムボカンとヤッターマンと...
-
チー牛ってなんで性格が悪い奴...
-
カートゥンネットワークって終...
-
可憐な人、とはどんな人ですか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
原点にして頂点と言ったのはだ...
-
この元ネタが分かる方いませんか?
-
小学生向け笑える話、面白い話...
-
きめつオリジナル
-
チー牛ってなんで性格が悪い奴...
-
Power Pointで1クリックでひと...
-
BLギャグアニメ ヤリチン☆ビッ...
-
ドラゴンボールGTの最後のナレ...
-
(今更ですが)ピーチガール最...
-
パワーポイント「スライドショ...
-
gif画像をエクセルのシートに貼...
-
男でストッキングを履くのが好...
-
ガリバーボーイは何故ビデオテ...
-
「こと」の使い方。
-
声優の寿命って短いのでしょう...
-
一人称が『おいら』のキャラクター
-
自衛隊用語「状況開始」を最初...
-
タイトルが三文字以内のアニメ
-
首のない天使について何でもい...
-
はじめの一歩の第2期で久美の...
おすすめ情報