Proceccingにて2軸ジャイロセンサーの角速度を記録させたcsvファイルを読み込んで配列化させ,予め位置を指定した初期点からその記録した角速度を用いて距離を計算,それぞれx軸y軸に反映させて座標を更新させて前位置と現位置の間に線を結ばせるプログラムを作成しています.
分からない事として,描画自体は問題なく行えたのですが初期点以降の座標が何故か(0,0)で開始されており,目的である移動履歴の様な出力結果が得られません.
この場合はプログラムの何処がおかしいのでしょうか?
Proceccing
1Table tbl = null; 2String fileName = "TESTLOG0.csv"; 3int x1,y1; 4float X1,Y1; 5float prep1,prep2; 6float P1,P2; 7 8void setup(){ 9 size(512, 512); 10 background(255); 11 x1 = 256; 12 y1 = 256; 13 X1 = 0; 14 Y1 = 0; 15 prep1 = 0; 16 prep2 = 0; 17} 18 19 20void draw(){ 21 strokeWeight(1); 22 stroke(0); 23 tbl = loadTable(fileName); 24 for( int row = 0; row < tbl.getRowCount(); row++ ){ 25 float p1 = tbl.getFloat( row, 0 ); 26 float p2 = tbl.getFloat( row, 1 ); 27 point(x1,y1); 28 P1 = (prep1 + p1) /2; 29 P2 = (prep1 + p2) /2; 30 X1 = (int)(p1 * 6.28 *cos(P1) + x1) /200 ; 31 Y1 = (int)(p2 * 6.28 *sin(P2) + y1) /200 ; 32 point(X1,Y1); 33 line(x1,y1,X1,Y1); 34 prep1 = p1 ; 35 prep2 = p2 ; 36 x1 = (int)X1; 37 y1 = (int)Y1; 38 } 39}
あなたの回答
tips
プレビュー