読者です 読者をやめる 読者になる 読者になる

VR 研究記

3D技術の経験を活かして、VRに挑戦するおっさんの奮闘記

【Shaderプログラミング】雪を降らせる手法について Part.3

次回をベクトルの加算と内積を説明して、一回目の話と繋げようと思っていたら、加算の話だけで長くなったので公開しちゃいます。 私の中のイメージから、分かりやすいように纏めてみました。

ぜひ、役立ててみてください!

前回のおさらい

前回は、ベクトルの【量】について説明しました。
【Shaderプログラミング】雪を降らせる手法について Part.2 - VR 研究記

【量】とは、直角三角形の直角と対を成す位置の辺の長さでした。

イメージは、以下の画像のcにあたります。
f:id:subrutm:20170326001512p:plain

では、次にベクトルの性質について、説明します。

ベクトルの性質

ベクトルの性質のうち、今回のロジックを考えるに必要な要素のみを抜粋します。 とある平面にある、ベクトルを使って説明します。

f:id:subrutm:20170325174624p:plain

加算

ベクトルの足し算は、下記のように考えます。

  1. まず、原点にベクトルを移動しましょう。 下の画像のように、原点Oに平行移動します。 f:id:subrutm:20170326113658p:plain

  2.  \vec{a} , \vec{b}をそれぞれ、 \vec{b} , \vec{a}の先まで平行移動して、平行四辺形を作成します。 平行移動したベクトルを、 \vec{a'} , \vec{b'}とします。 f:id:subrutm:20170326114002p:plain

  3.  \vec{a} , \vec{b}の始点と \vec{a'} , \vec{b'}の終点を線で引いた線分が、 \vec{a} + \vec{b}となる。 f:id:subrutm:20170326131659p:plain
     \vec{a} + \vec{b}の【量】は、 \vec{a}の【量】と \vec{b}の【量】の総量に等しい。
     \vec{a}の【量】と \vec{b}の【量】は、以下の通りとなります。
    f:id:subrutm:20170326144952p:plain
     \vec{a} \vec{b}の移動量を足すと、総和は下のような図になる。
    f:id:subrutm:20170326160040p:plainbr> では、 \vec{a} + \vec{b}の移動量と一致するか確認しましょう。
    f:id:subrutm:20170326155650p:plain
    と、なりました。

    これで、 \vec{a} + \vec{b}の話は、おしまい♪

まとめ

ベクトルの加算は、それぞれの方向に分解して加算すると合成後の【量】が見えてくるよ。
次回は、雪を乗せるかの判定に利用する内積をやります。

Let’s try it!