New程序媛OpenGL全解析之—向量
大家好
文章图片
文章图片
本期视频的链接地址是:
https://www.bilibili.com/video/av23269538/
大家也可以直接在bi站首页搜索:New程序媛 ,即可看到相应视频
文章图片
本期的代码因为已经给大家全部贴出了,所以不再另附资源,请大家动手独立完成。
丹丹今天要给大家带来的是向量的基本知识。配合视频一起看效果更佳哦~
向量和矩阵是游戏开发的必备基础。
好多小伙伴跟丹丹反映每次文章过长,太干
文章图片
所以之后的推文,丹丹尽量再模块化。其实又长又干的文章要花费丹丹的不少心血,希望小伙伴们喜欢的话帮忙分享,或者给予点赞鼓励哦
文章图片
好啦,来看知识点!
向量:有方向有大小的矢量。
游戏中速度、加速度、力、位移等就是使用向量来描述的。
此处大家需要注意的是,向(矢)量只要方向和大小不改变,可以移动到任意的位置,所以向量的起始点设置到原点,向量就可以直接使用如下形式来表示了:
文章图片
文章图片
所以如果有A点为(xa,ya,za),B点为(xb,yb,zb)
则我们的AB向量为(xb-xa,yb-ya,zb-za)
接着我们来看看向量的基本运算
向量加法
我们可以看做是首尾相接首尾接的一个运算法则
文章图片
也可以看做是类似于力的合成的平行四边形法则运算:
文章图片
向量取反
向量为(x,y,z)取反即为(-x,-y,-z)
向量减法
向量取反后的加法
向量与标量的运算
文章图片
求向量长度/求模
文章图片
文章图片
直接通过勾股定理来计算:
文章图片
向量的单位化
有一个特殊类型的向量叫做单位向量(Unit Vector)。单位向量有一个特别的性质——它的长度是1。我们可以用任意向量的每个分量除以向量的长度得到它的单位向量:
文章图片
向量点积
文章图片
根据以上的公式可以看出,点积在游戏中可以用cos角度来判断两向量的夹角
文章图片
当然向量的点积还可以做的事情就是求投影:
文章图片
向量叉乘
向量的叉乘公式如下:
文章图片
文章图片
叉乘的结果是一个垂直于原来两向量所在平面的向量。根据左右手法则我们可以判断一个向量相对于另一个向量的左右方位。
其次可以利用叉乘得出点到线的距离:
文章图片
好啦,一起来看看代码吧:
文章图片
文章图片
文章图片
文章图片
文章图片
ok~ 向量的基本知识今天就给大家介绍到这里。咱们动起手来码起来吧。
【New程序媛OpenGL全解析之—向量】丹丹期待大家的意见和建议,欢迎小伙伴们积极留言
文章图片
推荐阅读
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 事件处理程序
- 编写字典程序
- Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!
- 小程序有哪些低成本获客手段——案例解析
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- 微信小程序基础知识
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
- 使用Promise对微信小程序wx.request请求方法进行封装
- 程序员客栈TOP收入的萌系开发者心得|程序员客栈TOP收入的萌系开发者心得 - 雨晴