タグ

Matrix3Dに関するjelly-bellyのブックマーク (6)

  • 第3回 マーカーの位置や回転、向きなどを取り出す | gihyo.jp

    マーカーから文字が飛び出してくるような表現 第1回と第2回では、マーカーの上に様々なオブジェクトを乗せてみましたが、例えば筆者が制作に携わった「HAPPY NEW YEAR '09」のような、マーカーから文字が飛び出してくるような表現はどのようにすればできるのでしょうか? 図1 「⁠HAPPY NEW YEAR '09」のデモ AR New Year Greeting Card from Saqoosha on Vimeo. 今回は、FLARToolKitの内部処理をより具体的に確認しながら、一段上のアニメーションを表現してみましょう。 今回使うデータは、以下になります。 gihyo3.zip Flashをお持ちの方はflaディレクトリに.flaファイルがあるのでこれをパブリッシュ、Flex Builderを使ってる人はこのzipをそのままFlex ProjectのArchiveファイルと

    第3回 マーカーの位置や回転、向きなどを取り出す | gihyo.jp
    jelly-belly
    jelly-belly 2009/06/09
    Matrix3D.matrix2eulerの変換について
  • ちゃぶ台メモ - FLARToolKitとPapervision3Dをもうちょっとだけがんばってみる

    前の記事から一ヶ月以上経ってしまいました…。 AS3.0が少しだけわかってきたので、FLARToolKitとPapervision3Dをもうちょっとだけがんばってみる。 今までこのブログに載せていたFLARToolKitは、すべてFLARToolKitに備え付けのサンプル、SimpleCube.asをもとにしていて、認識したマーカーと常に同じ座標に3Dオブジェクトが表示されているというものでした。これをもう少しだけ変更して、3Dオブジェクトを常にマーカーと同期させるのではなく、マーカーの座標を利用しながら3Dオブジェクトの動きを変化させることができるようにしたいと思います。 言葉だけではわかりにくいですが、以下のようなことがしたいわけです。 今回もFLARToolKitのサンプル、SimpleCube.asをもとに変更していきます。 (SimpleCube.asの動かし方はSaqoosha

  • note.x | [Away3D] Matrix3D / Number3D / Quaternion

    var matrix:Matrix3D = new Matrix3D(); matrix.sxx; //1行1列目 matrix.sxy; //1行2列目 matrix.sxz; //1行3列目 matrix.tx; //1行4列目 ・ ・ ・ matrix.tz; //3行4列目 行列から位置を取得 var matrix:Matrix3D = new Matrix3D(); var pos:Number3D = matrix.position(); やってることは以下と同じ var pos:Number3D = new Number3D(); pos.x = matrix.tx; pos.y = matrix.ty; pos.z = matrix.tz; 行列式の取得 var matrix:Matrix3D = new Matrix3D(); var determinant:Number

    jelly-belly
    jelly-belly 2009/06/05
    Matrix3D覚書
  • PV3D キューブの影を表示2│miscellaneous

    マウスドラッグでキューブを回転できます。 前回は床の真上に光源があるという都合のいい前提だったので、各頂点のx,z座標がそのまま床の座標に対応していたが、今回は光源の向きが斜めで影が映る面も二つあるので、光源と頂点を結ぶ直線が面と交差する点を求める必要がある。 直線の方程式は P = A + tV (A:直線上の1点、V:方向ベクトル) 面の方程式は N・(P - P0) = 0 (N:法線ベクトル, P0:平面上の1点) この二つの式からまずtを求めて、直線と平面の交点であるPを求める。 (この例ではAは光源の座標、Vは光源と頂点を結ぶベクトル) package { import flash.display.*; import flash.events.*; import flash.filters.*; import flash.geom.*; import org.papervisi

    jelly-belly
    jelly-belly 2009/06/04
    PV3DのCubeをドラッグした方向に回転
  • 座標変換 #2 Matrix3Dクラスで行列操作 - Codin’ In The Free World

    Papervision3Dの行列操作クラスを使ってみる コンストラクタ var matrix:Matrix3D = new Matrix3D([ a, b, c, d, e, f, g, h, i, j, k, l ]); 同次座標を使うので4x4の行列になるが 最後の行は 0, 0, 0, 1 で固定。 したがって、コンストラクタでは 最初の3行4列のそれぞれの値を指定すればいい。 よく使う行列の取得 Identity Matrix var identity:Matrix3D = Matrix3D.IDENTITY; 1000 0100 0010 0001 X軸の回転行列 X軸で30度回転するMatrixを取得する var xMat:Matrix3d = Matrix3D.rotationX( 30 * Math.PI / 180 ); 1000 0cosθ-sinθ0 0sinθcos

    座標変換 #2 Matrix3Dクラスで行列操作 - Codin’ In The Free World
    jelly-belly
    jelly-belly 2009/05/29
    PV3D Matrix3Dの変換について
  • 新生銀行カードローンレイク

    jelly-belly
    jelly-belly 2009/05/28
    PV3DのMatrix3Dコントロールシミュレーション
  • 1