タグ

3dcgに関するsigmadreamのブックマーク (4)

  • カメラの回転 - ゲームプログラミングWiki

    対象物中心にカメラ回転 今度はカメラの回転法について説明します。 カメラの回転は 3D ゲームの基礎中の基礎です。 これがないと話にもなりません。 使われているゲームもさまざまあります。 スーパーマリオ 64 やラグナロクオンラインなどもそうです。 残念ですが、DirectXのカメラの指定方法は全て直接点を指定しなくてはなりません。 そのため、回転の時に実際にカメラの頂点をいちいち指定するのはかなりの労働です。 そこでカメラを実際に操作してるようなプログラムを書いてみようと思います。 まず実際のカメラで大事なのはターゲットです。 このターゲットを中心にカメラは球状に上下左右に回転をしていきます。 以上のことを用いたら以下の式になります。 カメラの位置 = カメラのターゲットからの相対的位置 + カメラのターゲットの位置 = 球の位置   + カメラのターゲットの位置 球の位置はD3DXMa

  • その10 クォータニオンを学んでみよう!

    ホーム < ゲームつくろー! < DirectX技術編 < クォータニオンを学んでみよう! その10 クォータニオンを学んでみよう! ① What is Quaternion ? クォータニオン(Quaternion)とは日語で「4元数」と訳します(アルク:http://www.alc.co.jp/)。数字が4つ集まったもので、言ってみれば4次元ベクトルです。3次元ベクトルであれば縦横高さで何となく想像ができますが、4次元となるともうドラえもんしかわかりません(笑)。この原稿を書いている私も、実は何のことやらさっぱり。そこで、私と同じような境遇にいる皆さんにも理解できるように、このクォータニオンを1から学んでみようと思います。 クォータニオンについてマイクロソフトのHPに一通りの説明がありました(http://www.microsoft.com/japan/msdn/academic/A

    sigmadream
    sigmadream 2009/11/11
    クォータニオンの勉強向け
  • 四元数で3次元回転 (ソースコード付き)

    四元数で3次元回転 中田 亨, 2003年11月25日 ★こうすれば四元数で3次元の回転が計算できる 四元数(しげんすう, クォータニオン, quaternion)を使った回転の取り扱い手順を説明します。 (1)四元数の実部と虚部と書き方 四元数とは、4つの実数を組み合わせたものです。4つの要素のうち、ひとつは実部、残り3つは虚部です。たとえば、Qという四元数が、実部 t で虚部が x, y, z から成り立っているとき、下のように書きます。 また、V = (x, y, z)というベクトルを使って、 Q = (t; V) とも書くことがあります。 正統的に虚数単位i, j, kを利用した書き方だと、 Q = t + xi + yj + zk とも書きますが、こっちはあまり使いません。 (2)四元数同士の掛け算 虚数単位同士の掛け算は ii = -1, ij = -ji = k (この他の組

    sigmadream
    sigmadream 2009/11/11
    quaternionによる回転の取扱いかた
  • 座標変換

    ベクトルで座標を表し、行列で変換することを扱います。 ロボットの世界は3次元が基ですが、平面上で3次元を扱うことが、そもそも分かりにくいことなので、ここでは主に2次元平面を扱います。 2次元と3次元、異なる点はいろいろありますが、3次元はだいたいは「2次元+1」か「2次元×3」なので、まずは2次元でしっかりイメージをつかみましょう。 表 記 これから座標を扱うに当たって、表記の仕方を原則として以下のようにきめておきます。 座標、ベクトルはボールドイタリック(太字斜体)、小文字 座標変換のための行列などはボールドイタリック(太字斜体)、大文字 座標軸名、点などはローマン体(普通の)大文字 座標、ベクトル、行列の左肩に、基準となる座標系を記載する。 もちろん、不要なら省略します。(詳細は追って) 例: ベクトル p 1を座標系Aで観察したものを転置(横ベクトル)。 なお、通常の文章(HTML

    sigmadream
    sigmadream 2009/11/06
    roll-pitch-yawと座標変換まとめ
  • 1