向量在游戏开发中的应用(二)
2017-09-08 09:12
363 查看
在上一篇博客中讲了利用向量方向的性质来解决问题。这篇博客将继续用一个简单的小例子来讲解如何将向量的点乘性质应用到实际的游戏开发中。
向量点乘的几何定义
设二维空间内有两个向量U和V,它们的夹角为θ([0, π]),则内积定义为以下实数:
向量点乘的公式:U·V = |U||V|cosθ
根据该公式可以退到下面五条结论:
1. **U·V** > 0,表示向量**U**和**V**之间的夹角小于90度(锐角)2. **U·V** < 0,表示向量**U**和**V**之间的夹角大于90度(钝角)3. **U·V** = 0,表示向量**U**和**V**之间的夹角为90度(相互垂直)4. **U·V** = 1,表示向量**U**和**V**的方向相同5.
**U·V** = -1,表示向量**U**和**V**的方向相反
[align=left]关于向量点乘的其他定义、规律以及应用有兴趣的朋友可以参考百度百科,这里就不再啰嗦了。本篇博客主要讲如何将以上五条结论应用到游戏开发中。[/align]
向量点乘的应用情景
根据向量点乘公式求两个向量的夹角大小。
根据结论1和2判断两个向量的夹角,可以用来限定两个向量的夹角。
根据结论3判断两个向量是否垂直。
根据结论4和5可以判断方位。可判断一个物体位于另一个物体的前面还是后面(或者左边还是右边)。
向量点乘如何判断一个物体在另一个物体的的前面还是后面呢?在《3D数学基础:图形与游戏开发》这本书中对这点做了很好的解释。下面贴出书中原话:
既然能判断前面还是后面,当然也能判断左边还是右边了,只是选择的方向向量不同而已,这里留给读者自己思考。
向量点乘的几何定义
设二维空间内有两个向量U和V,它们的夹角为θ([0, π]),则内积定义为以下实数:
向量点乘的公式:U·V = |U||V|cosθ
根据该公式可以退到下面五条结论:
1. **U·V** > 0,表示向量**U**和**V**之间的夹角小于90度(锐角)2. **U·V** < 0,表示向量**U**和**V**之间的夹角大于90度(钝角)3. **U·V** = 0,表示向量**U**和**V**之间的夹角为90度(相互垂直)4. **U·V** = 1,表示向量**U**和**V**的方向相同5.
**U·V** = -1,表示向量**U**和**V**的方向相反
[align=left]关于向量点乘的其他定义、规律以及应用有兴趣的朋友可以参考百度百科,这里就不再啰嗦了。本篇博客主要讲如何将以上五条结论应用到游戏开发中。[/align]
向量点乘的应用情景
根据向量点乘公式求两个向量的夹角大小。
根据结论1和2判断两个向量的夹角,可以用来限定两个向量的夹角。
根据结论3判断两个向量是否垂直。
根据结论4和5可以判断方位。可判断一个物体位于另一个物体的前面还是后面(或者左边还是右边)。
向量点乘如何判断一个物体在另一个物体的的前面还是后面呢?在《3D数学基础:图形与游戏开发》这本书中对这点做了很好的解释。下面贴出书中原话:
既然能判断前面还是后面,当然也能判断左边还是右边了,只是选择的方向向量不同而已,这里留给读者自己思考。
相关文章推荐
- [Unity游戏开发]向量在游戏开发中的应用(一)
- [Unity游戏开发]向量在游戏开发中的应用(二)
- [Unity游戏开发]向量在游戏开发中的应用(二)
- 游戏开发中的数学、向量的应用
- 向量在游戏开发中的应用(一)
- [Unity游戏开发]向量在游戏开发中的应用(三)
- 向量在游戏开发中的应用(三)
- [Unity游戏开发]向量在游戏开发中的应用(三)
- [Unity游戏开发]向量在游戏开发中的应用(一)
- iOS软件开发揭密:iPhone&iPad企业应用和游戏开发(china-pub首发)
- 【Android 应用开发】Android游戏音效实现
- 转载:Amf3+socket开发网络游戏或应用的一点研究心得
- Java在游戏服务器开发中的应用
- 开发利器:对游戏开发者最具价值的5类iOS应用
- [置顶]游戏引擎开发与应用最佳 实践 【引擎开发篇】 之三 :模块功能描述与设计抽象思想(设计)
- 【COCOS2DX-ANDROID-游戏开发之十二】Android平台第三方应用分享到微信开发
- Android游戏开发教程之四:Canvas与Paint的应用实例
- J2ME游戏开发学习之游戏开发应用的几个核心技术
- 从游戏开发到应用开发的转变
- 浅谈MVC模式在游戏开发的应用