Vector3.Dot 与Vector3.Cross

原创 2015年07月10日 17:32:40

Vector3.Dot(点积) :

点积的计算方式为:  a·b=|a|·|b|cos<a,b>; 其中<a,b>和<b,a> 夹角不分顺序;

物理学中点积用来计算力沿物体运动的方向所做的功:W=F*S=|F|*|S|*cosθ;功是数量,故点积又称数量积,无向积等;

通过点积的计算我们可以简单粗略的判断当前物体是否朝向另外一个物体: 只需要计算当前物体的transform.forward向量与 (otherObj.transform.position – transform.position)的点积即可, 大于0则面对,否则则背对着。

判断目标在自己的前后方位可以使用下面的方法:

   Vector3.Dot(transform.forward, target.position)
       返回值为正时,目标在自己的前方,反之在自己的后方


此处AimDirection默认为0.8,即direction<0.8,目标物体不在对面,解锁;


与Vector3.Cross(叉积):

叉积的计算方式为:两个向量的叉积a×b=︱a︱︱b︱sin<a,b> =|c| ;

在物理学里,用叉积表示一个力对一个定点的力矩 M=r×F;︱M︱=︱r︱︱F︱sinθ;力矩M是向量,因此叉积又称向量积,有向积等;c= a×b,c的方向用右手法则:将三个向量a,b,c附着于同一个起点,把右手的拇指顺着a的方向,食指顺着b的方向,则中指的指向就是c的方向。

判断目标在自己的左右方位可以使用叉乘的方法:   Vector3.Cross(transform.forward, target.position);      返回值为正时,目标在自己的右方,反之在自己的左方



            
版权声明:本文为Cxihu田树东原创文章,转载请注明出处。

相关文章推荐

unity3d Vector3.Dot Cross Angle 用法记录

今天为一个角度问题找了很多算法用法资料。结果发现网上几乎全来自一个源头。都是一样的。真的是文章一大抄!操! 找到一篇写得比较实用,正确的: 蓝色问题是我补充的用法 1.已知两个向量dir...

Unity3D Vector3.Dot 点乘 与 Vector3.Cross 叉乘

一、点积(又称“数量积”、“内积”)     1、理论知识    在数学中,点积的定义为a·b=|a|·|b|cos 【注:粗体小写字母表示向量,表示向量a,b的夹角,取值范围为[0,π]】。从定...

异步赠书:9月重磅新书升级,本本经典

敲重点:        活动规则:试读样章,评论区留言说一下你对本书的一些感想,同时关注异步社区博客,并留言你想要得到的图书。        活动时间:即日起-9月20日(活动奖项公告在10月9日) ...

关于Unity3d中Vector3.Dot方法

在网络上关于Vector3.Dot的解释都不清除,其实Vector3.Dot方法很简单。 Vector3.Dot也叫点积,它返回1个-1.0~1.0之间的一个值。网上确实也这么说。但是这个值表示...

[Unity实战]攻击范围的绘制

效果图: 代码如下: using UnityEngine; using System.Collections.Generic; public class DrawToo...
  • lyh916
  • lyh916
  • 2015-12-23 00:05
  • 4772

Vector3.Dot 方向判断

当两个向量夹角超过90度,就变成了负数,所以可以判断是否在背面.Vector3 dir1, dir2; dir1 = me.transform.forward; dir...

【Unity3D】浅谈Vector3的点积与叉积

原文地址:http://unity3d.9tech.cn/news/2013/1127/38923.html 一、点积(又称“数量积”、“内积”)     1、理论知识    在数学中,点积的定...

<Unity3D>浅谈Vector3的点积与叉积

一、点积(又称“数量积”、“内积”)  1、理论知识 在数学中,点积的定义为a·b=|a|·|b|cosa,b> 【注:粗体小写字母表示向量,a,b>表示向量a,b的夹角,取值范围为[0,π]...

Unity 点乘(Dot)、叉乘(Cross)判断移动方向、朝向等向量问题

转自:  http://blog.csdn.net/liqiangeastsun/article/details/50331933 Unity 点乘(Dot)、叉乘(Cross)判断...

Unity3D Vector3.Dot 点乘 与 Vector3.Cross 叉乘

一、点积(又称“数量积”、“内积”)     1、理论知识    在数学中,点积的定义为a·b=|a|·|b|cos 【注:粗体小写字母表示向量,表示向量a,b的夹角,取值范围为[0,π]...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)