开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

首页   >   博客   >   zzzsss

unity 判断两个向量的相对位置(顺逆时针)

个人分类: 数学 | 2017-6-8 15:09
把人物的z轴定义成人物向前的方向,知道人物下一个将要移动点的位置A,用A减去人物的位置,得到人物将要移动的向量A。
任务forward方向为B。怎么知道人物应该向左转还是向右转。

Vector.Cross(A,B) 这个函数会返回一个向量C,这个向量和A,B垂直,可以用C向量y轴的正负来确定A,B的相对位置。
但是在使用B向量时,要将B向量的Y置0,计算A向量时,要将两个参数向量的Y都置0。
这样就可以想象成在Y等于0的平面上进行的计算。就可以用y的正负得出相对位置。

叉乘的右手定则:
判断叉乘的方向,在数学上可以使用右手定则。以下两个图片都是在判定AXB的方向的。
 手掌指向A的方向,然后4指握向夹角小的方向。
但是因为Unity是左手坐标系,因为不能使用右手,要用左手
 判断的方法是一样的,只是换只手,这是两种手势的判定


这样就可以在得到大拇指的方向,已知将要移动的A方向的情况下,得到BA的左边还是右边了。
0 0

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册帐号
返回顶部