空间向量OA到转到空间向量OB、以及四元素Q1转到Q2的函数

本文介绍了一种简单的方法来实现空间向量从OA到Oa的平移和旋转,通过向量AB计算出AK,再通过归一化和长度修正得到Oa。此外,还提供了osg空间四元素Q1到Q2的转换函数,与之前的向量算法无关。
摘要由CSDN通过智能技术生成

在这里插入图片描述
注意:Oa其实在OK的延长线上,上图只是为了好看才把Oa和OK分开了

算法需求如图所示:
已知空间向量OA和空间向量OB我想算出OA向OB按某角度或者某时间移动变成空间向量Oa的算法
先说废话:我一开始尝试了:空间平面、矩阵、四元素等等方式都能算出来,但是很繁琐。
然后发现,其实向量之间的算法完全能满足需求:
1.先求出向量AB
2.然后按某时间,某角度或者某百分比 乘以AB向量得到向量:AK
3.OA+AK=OK
4.将OK的向量归一化,乘以OA的模(长度)得到Oa
注意:Oa其实在OK的延长线上,上图只是为了好看才把Oa和OK分开了

osg::Vec3d rotateVector(double time, osg::Vec3d OA, osg::Vec3d OB)
{
    //http://www.cnblogs.com/lyggqm/p/8820676.html
    osg::Vec3d _Oa;
    osg::Vec3d AB = OB - OA;
    if (time >=0.0 && time <= 1.0)
        AB *= time;//AK = AB*time
    else
        return OA;
    osg::
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值