向量在游戏开发中的应用(二)
来源:互联网 发布:mac怎么转音频格式 编辑:程序博客网 时间:2024/05/22 13:38
在上一篇博客中讲了利用向量方向的性质来解决问题。这篇博客将继续用一个简单的小例子来讲解如何将向量的点乘性质应用到实际的游戏开发中。
向量点乘的几何定义设二维空间内有两个向量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**的方向相反向量点乘的公式:U·V = |U||V|cosθ
根据该公式可以退到下面五条结论:
向量点乘的应用情景关于向量点乘的其他定义、规律以及应用有兴趣的朋友可以参考百度百科,这里就不再啰嗦了。本篇博客主要讲如何将以上五条结论应用到游戏开发中。
- 根据向量点乘公式求两个向量的夹角大小。
- 根据结论1和2判断两个向量的夹角,可以用来限定两个向量的夹角。
- 根据结论3判断两个向量是否垂直。
- 根据结论4和5可以判断方位。可判断一个物体位于另一个物体的前面还是后面(或者左边还是右边)。
向量点乘如何判断一个物体在另一个物体的的前面还是后面呢?在《3D数学基础:图形与游戏开发》这本书中对这点做了很好的解释。下面贴出书中原话:
既然能判断前面还是后面,当然也能判断左边还是右边了,只是选择的方向向量不同而已,这里留给读者自己思考。
阅读全文
0 0
- 向量在游戏开发中的应用(二)
- [Unity游戏开发]向量在游戏开发中的应用(二)
- 向量在HTML5游戏开发中的应用
- 向量在游戏开发中的应用(一)
- 向量在游戏开发中的应用(三)
- [Unity游戏开发]向量在游戏开发中的应用(一)
- [Unity游戏开发]向量在游戏开发中的应用(三)
- 向量在游戏中的应用
- 游戏开发中的数学、向量的应用
- 向量在游戏开发中的作用
- 向量在游戏中的应用 2017-1-30
- netty在游戏服务器开发中的应用(二)--配置启动服务器
- 设计模式在游戏中的应用说明(二)
- 设计模式在游戏中的应用--策略模式(二)
- netty在游戏服务器开发中的应用(一)
- Rectangle对象在游戏开发中的应用
- 设计模式在游戏开发中的应用
- Rectangle对象在游戏开发中的应用
- Date8Util
- Omnibus GitLab 使用说明
- HDU 5536 Chip Factory ACM/ICPC 2015 Changchun(Trie)
- 06jquery filternot has
- spring 配置多个数据源(基于JPA)
- 向量在游戏开发中的应用(二)
- C++ const成员函数
- GEM5 Tutorial
- 使用Node+Koa2+Mysql搭建简易博客
- java.lang.UnsupportedClassVersionError: Bad version number in .class file
- 我的第一篇博客
- select2默认选中
- 出勤记录I (水道DP)
- java的递归和copy文件艺术