ベクトル演算は、頻繁にゲーム制作、少し要約で使用されます。
まず、ドット
示されるように、それが仮定されます
ベクトルドット積のBは、B、B金型の投影を示します
公式:
コード:
機能MathHelper.GetVector3Dot(V1、V2)
リターン V1.X * v2.xの+ v1.y * v2.y + v1.z * v2.z
終了
第二に、外積
外積ベクトル、すなわち、Aベクター垂直同時に二つのベクトルを見つけるために
公式:
コード:
- 向量叉乘
機能MathHelper.GetVector3Cross(V1、V2)
ローカルV3 = {X = v1.y * v2.z - v2.y * v1.z、Y =バージョン2.x * v1.z-V1.X * v2.z、Z = V1.X * v2.y-バージョン2.x * v1.y}
戻りV3の
端
第三に、金型
ベクトルの長さ
公式:
コード:
- ベクトルのノルム
機能MathHelper.GetVector3Module(V)
リターン Math.sqrt(VX * Vyの* VX + VZ + Vyの* VZ)
終了
第四に、角度
公式:
コード:
- 2つのベクトル間の角度を求めること
MathHelper.GetVector3Angle(V1、V2)機能
ローカルCOS = MathHelper.GetVector3Dot(V1、V2)/(MathHelper.GetVector3Module(V1)* MathHelper.GetVector3Module(V2))
リターン Math.acos(COS )* 180 [ / にMath.PI
終了
完全なコード:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 MathHelper = {}
2 - ベクトルドット
。3 機能MathHelper.GetVector3Dot(V1、V2)
。4 リターン V1.Xバージョン2.x + * + V1.z V1.y * v2.yのv2.z
。5 終了
6。
7。 - ベクトル外積
。8 関数MathHelper.GetVector3Cross(V1、V2)
9。 ローカル V3 = {X * = V1.y v2.z - v2.y V1.z *、Y * =バージョン2.x V1.z-V1。 * v2.z X、Z = V1.X * v2.y-バージョン2.x V1.y}
10 リターンV3
。11 エンド
12は、
13である - ベクトルのノルム
14 機能MathHelper.GetVector3Module(V)
15 リターン Math.sqrt(VX * Vyの* VX + VZ + Vyの* VZ)
16 エンド
17。
18は、 - 2つのベクトル間の角度を求める
。19 機能MathHelper.GetVector3Angle(V1、V2)
20は、 ローカル COS MathHelper.GetVector3Dot =(V1、V2 )/(MathHelper.GetVector3Module(V1)* MathHelper.GetVector3Module(V2))
21が リターン Math.acos(COS)* 180 / にMath.PI
22は エンド