世界の隅の開発室

 

◎  スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

◎  【幾何学】斜面にオブジェクトを配置する 

3Dマッピングなどに必要な、斜面に水平にオブジェクトを置く為の幾何学演算のお話をします。

斜面にオブジェクトを配置した時、当然オブジェクトも斜面に合わせて傾かなければなりません。
そうでなければ床にめり込みますからね。


では、どうすればいいのか?
今回はオブジェクトが剛体であることを前提としてお話します。

まず、1つ目が、当たり判定と重力演算を使って物理的に配置する方法ですね。
斜面に配置した時、床が剛体に対して重心を捉えた、もしくは3点の支点を持った時に重力演算を終えればきちんと斜面に配置されるはずです。

しかし、そもそも静的なオブジェクトに対し物理演算を行うのは非常に非効率です。

ここで、2つ目の方法として、剛体が配置された平面の法線ベクトルを求める方法があります。

剛体が配置される平面上の任意の点3点を(剛体を支える3点が望ましい)
p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3)
とした時(以降ベクトルは斜体で表す)
p1p2p1p3の外積nが法線ベクトルとなるので

p1p2 = [x2-x1 y2-y1 z2-z1]
p1p3 = [x3-x1 y3-y1 z3-z1]


p1p2 × p1p3 = n

= [ (y2-y1)(z3-z1)-(z3-z1)(y3-y1) , (z2-z1)(x3-x1)-(x2 -x1)(z3-z1) , (x2-x1)(y3-y1)-(y2-y1)(x3-x1) ]


このベクトルnと、オブジェクトの中心軸が平行となることで、斜面に対して水平にオブジェクトを配置することが出来ます。

もし接地面が曲面の場合は....微小領域を考えてそこから接する平面を考えればいいのだろうか。
それともやはり普通に支点3点から同様に計算するのか?



今回はこの辺で。
スポンサーサイト

COMMENT FORM

  • URL:
  • comment:
  • password:

title

あっつ♪

2013/12/27(金) |URL|name [edit]

Trackback

トラックバックURL:http://joints.blog111.fc2.com/tb.php/15-98d23654


back to TOP

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。