research

3D manipulation 0.2

これまでの3D manipulationと重なる部分もあるかと思うが, 再考察. 複数点での操作 1点での操作 下記のいずれか moving rotation 2点での操作 rotation(点方向の軸での回転):2点間の中点方向へのベクトルを回転軸とする. expanding:2点間の距離に依存 3点…

3d 慣性スクロール

したいこと 3Dでフリック動作により3D物体をぬるぬる回転させる. 取得されるデータ カメラの取得頻度でのトラッキングされた点の3D位置(タグ付けなし) 実装 これから. 実装案 前回位置と今回の位置から移動量を算出.(100~300msec の間隔で設定する?) …

3D manipulation 0.3

3D manipulationを行う上で 物体の座標系と世界座標系で少し混乱してるのでメモ.world座標系から見て x -> y -> z という順の軸で回転をしようとする.objectの座標系を回転するときには glRotatefを z -> y -> x の順で回転する必要がある.

[memo]3D manipulation idea 0.1

3点を用いて moving expand rotating を実現する. 2点の場合は今回は考えない. 1user 3points or 2user 3points.1点を回転中心とし残りの2点の中点を結ぶ. 残りの2点の回転により,rotation 2点の距離によりexpand 3点の移動によりmovingという感じか. m…

めも

4.2.1 vp(01)

OpenGL 任意の軸での回転

OpenGLで任意の軸回転をしたいと思っていた. x,y,z軸回転に変換してglRotatefを使わなくてもいいコードがあったのでメモ. #define RADIAN( n ) ( ( n ) * ( 3.1415926535897932384626 / 180.0 ) ) void FreeRotate( float n[3], float r ) { float v[16]; …

研究メモ.変更点など

物体をカットする(実際は指示した部分のみを表示). memo; cut_width = 150; // 10 ->100 -> 150 ということで150にしてみた.あと,回転動作をTRUEにしたときには, カッティングの角度に直接影響するようなので注意が必要.コントローラにタグを装着.2…

プログラムメモ

x = tracker.x y = tracker.z z = tracker.yy軸とz軸をトラッカの都合から変換.プログラム中でyawの値を利用しているが, とりあえずは, トラッカからの値のrollを割り当てたらよさそう.右手系左手系の変換と回転が本当は必要なのだろう.他にも変更を加…

CameraSDKとCinder

久しぶりにOptiTrackのサイトを見ていたら, optitrack baseline SDKの後継として,camera SDKなるものがあった.baseline SDKを触ったことがないのでアレだが, camera SDK使って何か作ってみたい.あと, cinderという,オープンソースのグラフィックなど…

3Dボリュームデータ インタラクション デバッグメモ

メモ書き file:ih_main.cpp line:454 float cut_width = 100; この部分が気になる.あとdefineされている MAX_USER_NUM MULTI_MODE あたりも気になる.

グラフィックボード と PCのチェック

先週からグラボorPCがおかしい, DINを使って3DメガネとSyncさせているのだが, どうも出力がきちんとでていない模様.そこで, グラボとPCをいろいろとチェックしてみた. 使用マシン:2種類 PC1:WinXP(32bit), PC2:Win7(64bit) グラフィックボード:4種類 …

光学式トラッカ,Optitrackの利用.

作業メモ optitrack APIを利用して, マーカー1つ1つの3D座標値を得る. この時Rigidに使われているマーカーは無視する.取れる値 (a)リジッドに含まれているマーカの3D位置. (b)マーカーすべてのX, Y, Z座標をそれぞれ単体で. リジッドに含まれない点を求…

マルチディスプレイ環境構築メモ

左右逆に設定していて, デモ時に困ったので一応メモしておく. PC1 tabletopは左画面,projectorは右画面に設定. PC2 monitor小は左画面,monitor大は右画面に設定.別マシンで行う方のデモは挙動がおかしかったのだが, 原因究明を今週中になんとかしなけ…

コード変更メモ01

PosDataManager.cpp 回転量の値を -180から180にしている. これをラジアン値にしてみる.