タグ

行列に関するlike_futsalのブックマーク (9)

  • その39 知っていると便利?ワールド変換行列から情報を抜き出そう

    ホーム < ゲームつくろー! < DirectX技術編 < 知っていると便利?ワールド変換行列から情報を抜き出そう その39 知っていると便利?ワールド変換行列から情報を抜き出そう 今回はちょっと息抜きです。ワールド変換行列(座標変換行列)は3Dゲームで多分一番よく使う行列だと思います。この行列は回転、スケール、オフセットの3要素から作成します。では、すでに作成されたワールド変換行列からそれらの要素は抜き出す事ができるのでしょうか?またワールド変換行列には具体的にどのような情報が詰め込まれているのでしょうか?この章では、そのようなワールド変換行列から抜き出す事ができる情報について整理してみます。 ① ワールド変換行列の作り方 今更なのですが、ワールド変換行列の基についてまとめておきます。ワールド変換行列は回転、スケール、オフセットの3要素を表す行列の掛け算で作成するのが一般的です。各行列

  • 図解でわかる!ARKitのtransform理解のための4×4行列の説明 - Qiita

    先日ARKitのための3D数学という記事を書きました。その中でも言及していますが、今記事では、transformを理解するために、4*4行列だけにフォーカスして説明していこうと思います。 僕も最初はよくわかっていませんでした。しかし今では理解できていて、座標変換するときに4*4行列を使うことの便利さを痛感しています。 4*4行列とはなんなのか 行列です。 この行列をベクトルに掛けると、座標を変換することができます。 こんなかんじの行列のイメージだけまずは覚えてください。 3D座標系を理解しよう 3D空間上にx軸とy軸とz軸があって、その空間上の点が(x, y, z)という座標系で表されることは中学高校の数学をやっていれば理解できるでしょう。 以下の図では、xがaで, yがbで, zがcで示される点Pを表しています。 しかし、座標変換を考えるときに、この点だけを考えるのは得策ではありません。

    図解でわかる!ARKitのtransform理解のための4×4行列の説明 - Qiita
  • チュートリアル3:行列

    同次座標 変換行列 行列入門 平行移動行列 単位行列 拡大縮小行列 回転行列 変換の組み合わせ モデル行列、ビュー行列、射影行列 モデル行列 ビュー行列 射影行列 行列の組み合わせ:モデルビュー射影行列 すべてを合わせる 演習 エンジンは船を動かさない。船はそこにあり、エンジンは船の周りで世界を動かす。 フューチュラマ これが全体のたったひとつの最も重要なチュートリアルです。少なくとも8回は読んでください。 同次座標 これまで、3D頂点を(x,y,z)の3つ組としてのみ考えていました。ここでwを導入しましょう。すると(x,y,z,w)というベクトルを得ます。 こうする理由がもうすぐ分かるでしょう。ただしこれだけは覚えておいてください。 w == 1 ならばベクトル(x,y,z,1)は空間での位置を表します。 w == 0 ならばベクトル(x,y,z,0)は方向を表します。 (もっと言えば、

    チュートリアル3:行列
  • カメラの向いている方向にカメラを移動させたい - プログラマ専用SNS ミクプラ

    今3Dで簡単なプログラムを作っていて、つまづいています。 やりたいことはタイトルの通りなのですが、とりあえず最初に移動と周囲の見渡しができるように書いたコードが以下です。 コード: #include "../dxlib_vc/DxLib.h" const float PI = 3.1415926525897932f; const float PI2 = 6.28318530718f; const int DC_WIDTH = 800; const int DC_HEIGHT = 600; const int KEYMAX = 256; const float ROTATE_AMOUNT = PI2 / 360; const float MOVE_AMOUNT = 10.0f; int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevIn

    like_futsal
    like_futsal 2018/11/08
    [3D]
  • 回転行列⇔角度の変換 - Qiita

    カメラキャリブレーションにおいて外部パラメータである回転行列(Rotation Matrix)を扱う時, 3 * 3の行列で表したい時と,各軸(x軸,y軸,z軸)に対する角度で表したい時がある. この時の相互変換行列のメモ.間違っていても責めないでください. (回転行列⇒角度の場合は一意に求まらない場合があるので,多少の注意は必要.) ただし,今回は右手座標系において,各軸に対する変換は以下のように定めており, 回転行列R = Rz * Rx * Ryとする.(掛け合わせる順序が変わると式が変わる.) x, y, zは各軸の回転角(ラジアン)とする. x軸周りの回転行列 Rx = ( 1, 0, 0, 0, cos(x), -sin(x), 0, sin(x), cos(x) )

    回転行列⇔角度の変換 - Qiita
  • 3D、カメラ周りの勉強中なので、その情報集め。あと理解したもののメモ - Qiita

    3Dについて勉強したのでその備忘録です。 理解につながった記事のリンク集と、自分の理解した内容をメモとして残しています。 (いくつかの画像は参考にした記事から拝借しています) 実際にJavaScriptのCanvas2Dを使って簡単な自作3Dエンジンを作ってみました。 自作3Dエンジンサンプル ##参考にした記事など フォグについてのPDF 自作Quaternionサンプル いわずとしれたTHREE.js(GitHub) その60 変換行列A×BとB×Aの違いを知ろう 3Dプログラミングの基礎知識(1) 3Dプログラミングの基礎知識(5) 3Dプログラミングの基礎知識(6) 3D座標変換 自前でビュー変換行列を作成 3D座標変換(別記事) ワールド座標→スクリーン座標変換 1-9 座標変換其の四 その39 知っていると便利?ワールド変換行列から情報を抜き出そう ##4x4行列 ##行列のか

    3D、カメラ周りの勉強中なので、その情報集め。あと理解したもののメモ - Qiita
  • ARKitのための3D数学 - Qiita

    この記事はiOSDC2018で発表した内容のまとめ、そして続きになります。 ARKitのための3D算数 iOSDC Japan 2018 筋肉ネタを含んだスライド ARKitやSceneKitは用意されたAPIを使えば色々なことが簡単にできてしまいますが、 高度なことをしようとすると、空間ベクトル、座標変換などの算数(数学)の知識が必要になることに気づくでしょう。 例えば以下の例を見てみましょう。 カメラの前にスタンプを置く カメラの前に文字を書く カメラの前に文字を書いたり、スタンプを書いたりする際、一度カメラ座標で考えてからワールド座標に変換すると簡単に表現することができたりします。 ということで、記事ではARKitを使いこなすために自分が勉強した3Dプログラミングと基的な算数(数学)について分かりやすく説明します。 ARKitで使う座標系 まず、基ですが、ARKitでは右手座標

    ARKitのための3D数学 - Qiita
  • 線形代数の知識ゼロから始めて行列式「だけ」理解する - アジマティクス

    この記事は、線形代数において重要な「行列式」の概念だけを、予備知識ゼロから最短距離で理解したい人のための都合のいい記事です。 そのため、わかっている人から見れば「大雑把すぎじゃね?」「アレの話するんだったらアレの話もしないとおかしくね?」という部分が少なくないかもですが、趣旨をご理解いただいた上でお付き合いください。明らかな間違いに関しては、ご指摘いただけますと助かります。 線形変換 ↑座標です。 座標を変形することを考えます。つまり、座標変換です。 座標変換にもいろいろあって、以下のようにグニュッと曲げたやつ も座標変換には違いありませんが、今回ここで考えるのは線形変換だけにします。線形変換とは大雑把に言えば「すべての直線を直線に保つ」「原点を動かさない」という条件を満たす変換です。 そういう変換には例として、伸ばしたり縮めたりの拡大・縮小(scale)、原点中心に回す回転(rotate

    線形代数の知識ゼロから始めて行列式「だけ」理解する - アジマティクス
  • 回転行列からオイラー角のパラメータ抽出を行う - It_lives_vainlyの日記

    ...回転行列からオイラー角のパラメータ抽出を行いたいって要望って意外に高いんですね 個人的には、あまり意味が無いと思うのですが、一応まとめときます。 ってか、元のパラメータは一意に求めることが出来ないんです!! その辺り、ちゃんとわかってます? まず、回転行列をヨーピッチロール行列だと仮定します。 つまり ここで、は回転行列、はx軸周りの回転行列、はy軸周りの回転行列、はz軸周りの回転行列とします。 復習のため、それぞれの回転行列を書いておきます よって、ヨーピッチロール回転行列は次のような形になります ここから、 なので、 とわかります。 から、 とわかります。 すなわち、 ということですね。 同様に、なので、となります。 ここまでをまとめると ってことです。 さて、これだけで終われば話は簡単なんですが、例外があります。 ヨーピッチロール行列を良く眺めてみればわかりますが、の時には、と

    回転行列からオイラー角のパラメータ抽出を行う - It_lives_vainlyの日記
  • 1