タグ

2008年2月28日のブックマーク (4件)

  • miscellaneous

    入力XML <?xml version="1.0" encoding="UTF-8"?> <a> <b> <c>c1</c> <d>d1</d> <d>d2</d> <e>e1</e> <d>d3</d> <f> <g>g1</g> </f> </b> <d>d4</d> </a> C++ source code using namespace boost::property_tree; ptree tree; read_xml("./ptree_test.xml", tree); // a.b.cの値を取得 // > a.b.c = c1 std::cout << "a.b.c = " << tree.get<std::string>("a.b.c") << std::endl; // 見つからない場合例外が発生する // a.b.cというノードがあるか調べる // > a.b.c fo

    tetsu23
    tetsu23 2008/02/28
    3Dグラフィックスのノウハウとサンプルプログラム。
  • 回転行列の分解│miscellaneous

    別なエントリーで、あるオブジェクトの法線ベクトルを特定の方向に傾けて、その後法線ベクトル中心に回転させたらどういう姿勢(回転行列)になるかを 考えた。 今度は、このような2段階の回転による最終的な姿勢(一番右の図)の回転行列がわかっている場合に、法線ベクトルの傾け方(回転軸と回転角)と法線ベクトル中心の回転角 を求めることを考える。 最終的な回転行列をP 法線ベクトルを傾ける回転行列をA 法線ベクトル中心の回転行列をB とすると、 元の姿勢(基姿勢)の法線ベクトル(Y軸方向)の向きv1は(0,1,0)であり、Aの回転後のY軸方向の向きはv2(P.n12, P.n22, P.n32)である。(AとPのY軸は同じ方向なので) 二つの内積はP.n22になるので、法線ベクトルを傾けるときの回転角は arccos(P.n22)。またそのときの回転軸はv1とv2の外積から求まる。 回転軸と回転角がわ

    tetsu23
    tetsu23 2008/02/28
    回転行列の分解の方法。
  • 回転行列から回転軸と回転角を求める│miscellaneous

    (3x3の)回転行列Mが分かっている時の回転軸ベクトルは ( M.n32 - M.n23, M.n13 - M.n31, M.n21 - M.n12) 回転角は arccos((Trace(M) - 1 ) / 2) 4x4の同次座標の場合、(n44成分が1なので)回転角は arccos((Trace(M) - 2 ) / 2) で求まる。 (PV3DのDisplayObject3D.transformは同次座標) (Traceは対角成分の和、PV3DのMatrix3Dにもtraceというプロパティがある) 下のキューブはマウスドラッグで回転できます。 回転後に上のやり方で回転軸と回転角を求めています。(黒い線が回転軸) ESCキーで元の姿勢に戻ります。(検証のためにもとに戻す時は回転軸を使って逆回転させています。) package { import flash.display.*; im

    tetsu23
    tetsu23 2008/02/28
    回転行列から回転軸と回転角を求めるアルゴリズムとプログラム。
  • OpenGL de プログラミング

    OpenGL de プログラミング トップページページ一覧メンバー編集 メニュー 最終更新: mikk_ni3_92 2010年06月26日(土) 16:18:39履歴 Tweet <はじめに> 学習のためにつくった、(主に)OpenGLについてのまとめです。 引用、参考は 引用、参考ページ 参考図書など※ ※こんな感じにたくさん並べてます <準備編> 準備編01(glutのインストール) 準備編02(glext.h) 準備編03(glewの導入) 準備編04(OpenGL3.0以降のARB_compatibility拡張) 準備編05(freeglutを使う) <基編> 基編(ウィンドウ作成、線の描画) 基編02(マウス、キーイベント) 基編03(3Dプログラミング,視野の設定など) 基編04(アニメーション) 基編05(光、材質の設定) 基編06(テクスチャ) 基編07

    OpenGL de プログラミング
    tetsu23
    tetsu23 2008/02/28
    OpenGLプログラミングのwiki。