当前位置:  开发笔记 > IOS > 正文

如何计算两个向量的平均方向

如何解决《如何计算两个向量的平均方向》经验,为你挑选了4个好方法。

我正在编写一个基于opengl的iphone应用程序,并希望允许用户根据他们在屏幕上移动两根手指的方向来转换视图.对于一根手指,我知道我可以计算从用户手指的起始位置到当前位置的向量,然后找到这个单位向量以获得方向,但我不知道如何为两个做这个手指,我不认为添加向量的组成部分和计算平均值将起作用所以我几乎卡住了.



1> Alex Wayne..:

矢量数学就像你想的那样工作:

v3 = (v1 + v2)/2

// so:
v3.x = (v1.x + v2.x) / 2;
// same for Y and Z



2> petrocket..:

通常情况下,在进行图形编程时,为了速度原因,乘以除数比较好,所以我建议这样做:

v3 =(v1 + v2)*0.5f;


这样的东西不会被编译器优化,所以`/ 2.0`与`*0.5`相同吗?

3> SingleNegati..:

如果你只对方向感兴趣,你应该添加它们并规范化结果向量,

(v1 + v2)/abs(v1 + v2)


被零除!

4> duffymo..:

简单思考实验:对x和y方向的单位向量进行处理.直观地,您可以想象"平均"将是向上和向右45度角的单位向量.这正是发生的事情.思想实验表明,您需要将平均值按其大小标准化以获得单位向量.我建议你这样做.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有