1)向量的归一与点乘。

点乘在实际运算中,计算公式是 :u 点乘 v = u.x * v.x + u.y * v.y

点乘在几何上有对应的公式: u 点乘 v = u的模 * v的模 * uv夹角的cos值

它的几何意义是:u的长度与v在u上的投影长度的乘积,它是一个标量,而且可正可负。

如果将向量归一化,那么长度被重新计算了,变化1,但方向仍是有效的。

归一化之后,配合点乘可以得到两个效果:

<1> 得到一条线在另一条线上的投影值。

当一个向量b与另一个向量a的夹角在(0, PI/2)&(3*PI/2, 2*PI)

之间,它在a方向上的投影向量c就是c = ( b . a1 ) * a1,其中a1是a的单位向量;它在a

相反方向的投影向量c'是c'= ( b'. a1 ) * a1,其中向量b'是b的同模相反向量。

<2> cos夹角 = (u 点乘 v) / u的模 * v的模 = (u 点乘 v) / 1 = u 点乘 v = u.x * v.x + u.y * v.y

2)利用点乘,判断物体是否在角色的前面。

如果对象在智能体朝向平面的前面,则智能体方向矢量和从智能体到对象的矢量的点乘为正 ; 如果对象在智能体朝向平面的后面,则点乘为负。

3)利用点乘的原理,可知与向量垂直的向量。

任给一个非零向量(x,y),则它相对坐标轴逆时针转90度的正交向量为(-y,x),顺时针转90度的正交向量为(y,-x)。

比如向量(2,3)r逆时针旋转90度的正交向量是(-3,2),顺时针旋转90度的正交向量是(3,-2)。

转载于:https://www.cnblogs.com/cly84920/archive/2012/10/10/4426493.html

《游戏人工智能编程》读书笔记 —— 向量的归一和点乘相关推荐

  1. 《游戏力》读书笔记作文4700字

    2019独角兽企业重金招聘Python工程师标准>>> <游戏力>读书笔记作文4700字: 作者:考拉.作为一个距离有孩子还差十万八千里的人来说,为什么会选择去看这本书? ...

  2. 《HTML5 Canvas核心技术 图形、动画与游戏开发》 读书笔记

    <HTML5 Canvas核心技术 图形.动画与游戏开发> 读书笔记 文章目录 <HTML5 Canvas核心技术 图形.动画与游戏开发> 读书笔记 第1章 基础知识 第2章 ...

  3. 游戏人工智能编程案例精粹(修订版) (Mat Buckland 著)

    https://www.jblearning.com/catalog/productdetails/9781556220784 第1章 数学和物理学初探 (已看) 第2章 状态驱动智能体设计 (已看) ...

  4. UNIX网络编程--读书笔记

    会集中这段时间写UNIX网络编程这本书的读书笔记,准备读三本,这一系类的文章会不断更新,一直会持续一个月多,每篇的前半部分是书中讲述的内容,每篇文章的后半部分是自己的心得体会,文章中的红色内容是很重要 ...

  5. mozart-oz中有限域编程读书笔记

    mozart-oz自带文档: <Finite Domain Constraint Programming in Oz. A Tutorial.>读书笔记 http://www.mozart ...

  6. 《游戏人工智能》学习笔记

    复习笔记 chapter 1 游戏人工智能是人工智能科学技术领域的一个分支 人工智能游戏的研究内容是如何将人工智能的理论.方法和技术应用于开发智能游戏.提高游戏角色的智能水平,主要包括智能游戏角色的行 ...

  7. 《游戏人工智能编程案例精粹》笔记 (一)

    第一章:数学和物理 数学 笛卡尔坐标系 方程式 三角函数 向量 归一化,保留方向,变为单位长度:    矢量分解 点乘 本地空间与全局空间(第一视角坐标和上帝视角坐标) 物理 时间 两种计量时间的方法 ...

  8. 《游戏人工智能编程》学习笔记二——简单的有限状态机

    1.有限状态机的定义 定义:一个有限状态机是一个设备,或是一个设备模型,具有有限数量的状态,它可以在任何给定的时间根据输入进行操作,使得从一个状态变换到另一个状态,或者是促使一个输出或者一种行为的发生 ...

  9. C专家编程-读书笔记(书本顺序)

    C语言设计哲学:   一切工作程序员自己负责.   语言中的所有特性都不需要隐式的运行时支持.   程序员所做的都是对的.   程序员应该知道自己在干什么,并保证自己的所作所为是正确的. ====== ...

最新文章

  1. python的try菜鸟_python异常处理try except过程解析
  2. centos 6.4 postfix mysql_postfix+dovecot+mysql+extmail安装笔记(基于CentOS 6)
  3. 《Beginning C# Objcets》学习笔记
  4. 上传github代码
  5. 关于Boost库的split函数在不同的编译器下的使用
  6. 面试题 计算机安全,XX计算机信息安全工程师面试题路由.doc
  7. 电脑ip地址设置_关于路由器动态IP如何设置教程
  8. PHP调用微信发放现金红包接口
  9. 零基础学习SQL Server(一)——启动服务,注册SQL Server服务器
  10. 交友约会APP源码大家有吗
  11. android焦距跟实际距离,android相机焦距和焦距不变
  12. 微软日语输入法键盘输入对应不上 解决方法
  13. Hazelcast Jet Pipeline详解
  14. Wannacrypt蠕虫老树开花?又见Wannacrypt
  15. IDEA maven 项目 POM文件变灰色或有个虫子(蜘蛛标记)
  16. Index out of range using input dim 2; input has only 2 dims
  17. SolidWorks二次开发-关于录制宏保存的格式
  18. 高中计算机考试ps,高中信息技术会考Photoshop操作题试题及分析
  19. python w3c_python w3c
  20. Linux 网络设备驱动(dm9000)

热门文章

  1. python 一个简单的天气预报程序
  2. 开发环境ubuntu16.04常用工具和设置(git、ssh、python、sh、java、Maven、mysql、postgresql)
  3. python基础系列教程——Python中的编码问题,中文乱码问题
  4. css伪元素选择器,first-letter、first-line
  5. Django(ORM常用字段)
  6. 前端技术分享和发展网站总结
  7. iOS AppIcon + launchImage+iPhone 屏幕分辨率相关知识
  8. 配置Hadoop开发环境(Eclipse)
  9. [转]memcached+magent实现memcached集群
  10. [转载] Python利用openpyxl模块读取excel文件内容