[Shader学习笔记]一些向量的几何知识
2015-11-11 14:32
435 查看
一、向量的标准化(单位化)
原理:把向量的模(向量的长度)变成1(也就是把原来向量的各个分量除以原模长,得到一个新向量,新向量模长为1,方向与原来模长一致)
Unity封装方法:
Vector3.normalized(不改变原来向量)
Vector3.Normalize(改变原来向量)
二、向量的点积
原理:把两个向量的各个分量对应相乘再求总和,得到的一个标量积
用途:求两个规范化向量的点积可以得到这两个向量夹角的余弦值,从而可以求两个向量的夹角
Unity封装方法:
Vector3.Dot
三、向量的叉积(叉乘)
原理:公式比较难记,有需要查资料,两个向量叉乘过后得到一个新向量,新向量会同时垂直以前两个向量
用途:用来求法线向量,注意两个向量叉乘顺序不一样,得到法线得方向也会不一样
Unity封装方法:
Vector3.Cross
个人主页文章链接:http://www.bihod.com/post-49.html
原理:把向量的模(向量的长度)变成1(也就是把原来向量的各个分量除以原模长,得到一个新向量,新向量模长为1,方向与原来模长一致)
Unity封装方法:
Vector3.normalized(不改变原来向量)
Vector3.Normalize(改变原来向量)
二、向量的点积
原理:把两个向量的各个分量对应相乘再求总和,得到的一个标量积
用途:求两个规范化向量的点积可以得到这两个向量夹角的余弦值,从而可以求两个向量的夹角
Unity封装方法:
Vector3.Dot
三、向量的叉积(叉乘)
原理:公式比较难记,有需要查资料,两个向量叉乘过后得到一个新向量,新向量会同时垂直以前两个向量
用途:用来求法线向量,注意两个向量叉乘顺序不一样,得到法线得方向也会不一样
Unity封装方法:
Vector3.Cross
个人主页文章链接:http://www.bihod.com/post-49.html
相关文章推荐
- 0/1背包问题动态规划 空间复杂度是o(C)
- Solr智能提示autosuggest
- iOS开发之tableView(自用贴)
- HDU 5538 L - House Building 水题
- HTML与CSS入门——第二章 发布Web内容
- (七)Linux下的关机与重启命令
- Linux 下Maven错误
- python 学习笔记
- Pexpect学习:
- [No000041]如果你被ruby惯坏了,不如试试python3-在Windows下安装ipython
- 计算器软件的代码实现
- AnroidQQ空间头部图片下拉放大
- phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
- muduo库阅读(27)——Net部分:字节顺序转换的封装
- 建设商业网站
- shell中的${},##, %% , :- ,:+, ? 的使用
- Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
- 【Android开发】如何实现android和服务器长连接呢?推送消息的原理
- Android Bitmap Api总结和使用方法
- HTTP协议 代理