首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将物体旋转到运动方向是系统不准确的。

将物体旋转到运动方向是系统不准确的。
EN

Stack Overflow用户
提问于 2022-11-15 01:56:40
回答 2查看 37关注 0票数 0

这是统一的2019.4.40f1。我试着把一个物体旋转到它的运动方向。然而,我注意到这是不准确的,在调查中我注意到不准确来自实际的运动量。我的意思是,在下面的代码中,delta.y / delta.x在每个循环迭代中输出不同的值,即使destination没有改变。因此,Atan2当然也返回不同的结果。每一帧的误差都在小数点第4、3或4位,然而,在几秒钟内,它加起来并不是随机变化,而是系统的。

还请注意,在这个阶段,我实际上并没有将旋转应用于对象。我的期望是,下面的代码应该将对象从其位置移动到目标位置,每帧都以一条直线的形式移动。这似乎是视觉上的情况,但在数值上有足够的偏差,以引起问题的角度计算。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IEnumerator TweenFunc (object myObject, Vector2 destination, float speed)
{
    while (condition)
    {
        currentPosition = myObject.transform.position;
        delta = destination - currentPosition;
        Vector2 dir = delta.normalized;
        frameTime = TimeManager.FrameTime
        myObject.transform.Translate(dir.x * frameTime * speed, dir.y * frameTime * speed, 0);

        Debug.Log(delta.y / delta.x);
        Debug.Log(Mathf.Rad2Deg* Mathf.Atan2(delta.y, delta.x));

        yield return true;
    }
}

我想保持角度计算的一致性。它可以预先计算角度一次,外环,通过计算三角洲首先在环外,然后得到角度,然后进入循环。但是,这个解决方案在我的用例中是不可用的,因为实际的角度计算需要在代码库的另一个部分进行,它只知道dirspeed,而不知道destination

编辑其他信息:当从(1.2, -0.2)(0.2, -3.2)旅行时,角度从~108.43352变为108.3664。真正的角度应该是108.435。虽然这仅仅是10度,但如果我把旋转应用到物体上,它就会变得可见,尤其是因为大部分的变化似乎都发生在运动结束的时候。我想知道,作为迪尔-x和迪尔-y的零精度是否变得更糟糕,在一个系统的方式。此外,在任何一个主要方向旅行时,没有角度漂移。在那里,di.x和di.y的精度不需要小数位,因为它们要么是0,要么是1,所以这可能就是正在发生的事情。

我想知道是否有办法解决这个问题,因为最终的目标其实是一件很普通的事情--把物体旋转到它的运动方向。

EN

回答 2

Stack Overflow用户

发布于 2022-11-15 03:49:34

尽管这里显示的代码只转换为not旋转,但通常要记住,Transform.Translate默认在本地空间中工作。

因此,如果(从您的标题中,我只是假设)对象是旋转的,这实际上是不准确的,因为您取了一个world space delta,然后在它上移动,但在本地空间。

要显式传入的=>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myObject.transform.Translate(dir.x * frameTime * speed, dir.y * frameTime * speed, 0, Space.World);

然后,您可能想要操作实际规范化的运动向量,afaik,您翻转了参数的顺序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Debug.Log(Mathf.Rad2Deg * Mathf.Atan2(dir.x, dir.y));
票数 0
EN

Stack Overflow用户

发布于 2022-11-15 23:30:44

我将添加我的部分解决方案的答案,因为我还没有弄清楚如何直接抵消这个问题。

  1. 可以将x和y的运动方向及随后的所有计算结果转换成双倍计算,通常通过计算destination - currentPosition,将其转换为双倍,并以双精度手工完成其余的向量计算(例如归一化、Atan2),并且使用Math而不是Mathf函数。由于对象转换位置仍然以浮点数的形式存储,因此仍然存在错误,但这会使0.05示例中的误差减少一定程度,因此它将该示例中的错误减少了一半。

  1. ,因为函数TweenFunc不更新目标,并且不期望游戏对象在活动时被移出函数之外,我可以将dir.xdir.y的计算移出循环之外,因此它们只能在开始时以最大的精度计算一次,在示例中返回-108.4349,并且不会进一步积累额外的错误。

这可以产生稳定的运动方向,但是它的主要缺点是,如果游戏对象以某种方式在这个函数之外移动,那么它可能永远不会到达它的目的地,因此我们可能永远不会退出TweenFunc中的循环。这可以通过增加复杂性来解决,比如检查运动方向是否改变了超过1度或其他阈值,然后重置它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74443663

复制
相关文章
四旋翼无人飞行器自主飞行控制原理
形式如图所示,电机1和电机3逆时针旋转的同时,电机2和电机4顺时针旋转,因此当飞行器平衡飞行时,陀螺效应和空气动力扭矩效应均被抵消。 与传统的直升机相比,四旋翼飞行器有下列优势:各个旋翼对机身所施加的反扭矩与旋翼的旋转方向相反,因此当电机1和电机3逆时针旋转的同时,电机2和电机4顺时针旋转,可以平衡旋翼对机身的反扭矩。四旋翼飞行器在空间共有6个自由度(分别沿3个坐标轴作平移和旋转动作),这6个自由度的控制都可以通过调节不同电机的转速来实现。 其基本运动状态分别是: (1)垂直运动;(2)俯仰运动; (3
机器人网
2018/04/12
2.2K0
四旋翼无人飞行器自主飞行控制原理
四旋翼飞行器3——四旋翼运动学简介
四旋翼飞行器是通过调整四个电机的转速来保证其飞行的。每个电机旋转,产生推力向上。
全栈程序员站长
2022/07/25
6250
四旋翼飞行器3——四旋翼运动学简介
详解多旋翼飞行器/无人机的传感器技术
两年来,大疆精灵系列更新了两代,飞控技术更新了两代,智能导航技术从无到有,诸多新的软件和硬件产品陆续发布。同时我们也多了很多友商,现在多旋翼飞行器市场火爆,诸多产品琳琅满目,价格千差万别。为了理解这些飞行器的区别,首先要理解这些飞行器上使用的传感器技术。我觉得现在很有必要再发一篇科普文章,定义“智能导航”这个概念,顺便字里行间介绍一下两年来大疆在传感器技术方面的努力。 1. 飞行器的状态 客机、多旋翼飞行器等很多载人不载人的飞行器要想稳定飞行,首先最基础的问题是确定自己在空间中的位置和相关的状态。测量这些状
机器人网
2018/04/12
2.3K0
详解多旋翼飞行器/无人机的传感器技术
(36)JS运动之使物体向右运动「建议收藏」
基本思路:样式要是绝对定位,不然的话根本走不起来。当开启一个定时器的时候。必须先清除定时器。这是为了防止鼠标连续点击button而开启多个定时器,导致物体的速度加快等原因,其次要控制好物体的运动和停止。用if-else控制逻辑控制。
全栈程序员站长
2022/07/10
7740
OpenCV中如何获得物体的主要方向
问题来源为网友提供的资料,原文为:《Object Orientation, Principal Component Analysis & OpenCV》
OpenCV学堂
2018/07/26
3.4K0
OpenCV中如何获得物体的主要方向
CVPR 2019 | 条件运动传播:从运动中学习物体性质
本文介绍了一种从运动中无监督地学习物体性质的方法:Self-Supervised Learning via Conditional Motion Propagation [1].
CV君
2019/12/27
5040
流体运动估计光流算法研究
大家好!我是苏州程序大白,今天讲讲流体运动估计光流算法研究。请大家多多关注支持我。谢谢!!! 简介: 对流体图像序列进行运动分析一直是流体力学、医学和计算机视觉等领域的重要研究课题。 从图像对中提取的密集精确的速度矢量场能够为许多领域提供有价值的信息,基于光流法的流体运动估计技术因其独特的优势成为一个有前途的方向。 光流法可以获得具有较高分辨率的密集速度矢量场,在小尺度精细结构的测量上有所改进,弥补了基于相关分析法的粒子图像测速技术的不足。 此外,光流方法还可以方便的引入各种物理约束,获得较为符合流体运动特性的运动估计结果。 为了全面反映基于光流法的流体运动估计算法的研究进展,本文在广泛调研相关文献的基础上,对国内外具有代表性的论文进行了系统阐述。 首先介绍了光流法的基本原理,然后将现有算法按照要解决的突出问题进行分类:结合流体力学知识的能量最小化函数,提高对光照变化的鲁棒性,大位移估计和消除异常值。 对每类方法,从问题解决过程的角度予以介绍,分析了各类突出问题中现有算法的特点和局限性。 最后,总结分析了流体运动估计技术当前面临的问题和挑战,并对未来基于光流法的运动估计算法的研究方向和研究重点进行了展望。 定义: 流体运动估计技术在日常生活的众多领域发挥着重要作用,对从流体图像序列中提取的速度场进行分析,有助于更深入地了解复杂的流体运动并提取有用的信息。粒子图像测速( particle image velocimetry,PIV)(Adrian,1991)是一种广泛使用的流体运动估计技术。 其基于两个连续粒子图像之间局部空间性,通过搜索图像对的两个查询窗口之间互相关的最大值,获得查询窗口之间的位移矢量。 这种依赖于互相关函数的PIV 技术虽然能够简单有效地从图像序列间获取速度矢量场,但仍存在许多不足。 首先,其假设查询窗口内的位移矢量保持一致,这使得获取的速度场空间分辨率低,无法测量流场中的小尺度精细结构。 其次,PIV 技术主要用于粒子图像,无法可靠获取标量图像的速度矢量场。 最后,PIV技术缺乏物理解释,对图像序列进行运动估计时,平等地对待各种性质的运动物体。研究发现光流法非常适合流体运动估计( Li等,2015)。 与基于互相关的 PIV 技术相比,光流法可以获取更加密集的速度场,而且可以对标量图像进行运动估计而不仅限于粒子图像。 此外,与 PI技术相比,光流法更能适应各种物理约束。 基于光流法的流体运动技术是对 PIV 技术的良好补充。虽然现有的基于光流法的流体运动估计技术已经广泛用于各种流体测速场景,但仍存在计算耗时鲁棒性不足等问题。 本文从光流法的基本原理入手,根据光流法需要解决的几个关键问题对现有的算法进行分类,并对每一类方法从问题解决的角度予以介绍。
苏州程序大白
2021/08/13
1.5K0
流体运动估计光流算法研究
Crazepony固件-裸机版本
你如果搜索开源的四旋翼,大概率会出现这个。主人公以博客的形式将这个东西的从有到无的过程记录下来了。我比较敬佩,但是真正到了实现的地方,笑死,根本没有人讲为什么。单片机的应用之所以难,就是你学的是单个的功能快,但是没有人告诉你,你的书本知识到实物的变化。而且我也想知道其中的奥妙。
云深无际
2022/03/07
4020
Crazepony固件-裸机版本
iOS MachineLearning 系列(5)—— 视频中的物体运动跟踪
本系列的前面几篇文章中,我们将静态图片分析相关的API做了详尽的介绍。在Vision框架中,还提供了视频中物体追踪的能力。
珲少
2023/04/27
6990
iOS MachineLearning 系列(5)—— 视频中的物体运动跟踪
IBM用AI和传感器通过指甲检测帕金森病
握力可以揭示很多问题,包括神经退行性疾病是否将要发。在“Scientific Reports”期刊上发表的一项研究中,IBM的研究人员描述了一种可穿戴系统“指甲传感器”,可以测量人的指甲如何弯曲和连续移动(握力的关键指标),以及可以从这些指标中得出健康状态的见解的机器学习模型。
AiTechYun
2018/12/29
5700
IBM用AI和传感器通过指甲检测帕金森病
Python+OpenGL实现物体快速运动时的模糊效果
编写Python程序,调用OpenGL,绘制一个球和一个茶壶,其中茶壶作为参照物。运行程序后,球静止于窗口左侧,按下空格键可以把球发射出去向右运动,并且速度越来越慢直到最后停止,然后按r键可以把场景恢复到初始状态。
Python小屋屋主
2022/04/13
6480
Python+OpenGL实现物体快速运动时的模糊效果
无人直升机之旋翼篇
直升机作为20世纪航空技术极具特色的创造之一,极大的拓展了飞行器的应用范围。直升机是典型的军民两用产品,在军用方面,无人直升机既能执行各种非杀伤性任务,又能执行各种软硬杀伤性任务,包括侦察、监视、目标截获、诱饵、攻击、通信中继等。在民用方面,无人直升机在大气监测、交通监控、资源勘探、电力线路检测、森林防火等方面具有广泛的应用前景。
用户7053485
2020/06/19
2.8K0
unity3d:dotween pingpong 物体来回运动
立羽
2023/08/24
6110
Python-OpenCV运动物体检测
运动物体检查,在移动目标定位和智能安防系统中有广泛的应用,它的实现原理:捕获连续帧之间的变化情况,将每次捕获的图像进行对比,然后检查差值图像中的所有斑块(颜色相近的地方)。
不脱发的程序猿
2021/01/20
1.1K0
Unity2D开发入门-物体的运动和朝向
通过修改物体的位置: 你可以直接修改物体的Transform组件的位置属性来实现运动。
码客说
2023/07/26
7400
运动想象系统的原理
图1详解:想象左手右手运动的ERD现象。当想象左手运动时,大脑皮层右侧(C4电极附近) 出现ERD 现象,相关区域能量减小;当想象右手运动时,大脑皮层左侧(C3电极附近)出现ERD 现象,相关区域能量减小[2]。
脑机接口社区
2020/06/30
1.9K0
大雾环境不再是障碍,MIT研发出可让自动驾驶汽车在大雾环境中准确检测物体的系统 | 热点
其实,不只黑暗环境,自动驾驶汽车想要安全上路,必须能够在大雾、下雨等极端天气或高密集人群等环境中实时识别路况。 近日,麻省理工学院(MIT)的研究人员宣布已研发出“可解析物体的图像并测量它们的深度”的系统,可在最浓的雾中拥有57厘米的能见度。值得一提的是,与普通的有雾环境不同,在研究人员营造的浓雾环境中,普通人的视野只有36厘米。 据悉,该系统是一个基于可见光的传感器系统,其核心在于统计数据。研究人员表示,雾粒子“反射”的光线到达单一统计模式(称为“伽马分布”)的时间是有规律的,因此,无论所处的环境雾浓度如
镁客网
2018/05/29
2990
[CVPR 2022 | 论文简读] 基于隐式运动处理的视频伪装物体检测
Implicit Motion Handling for Video Camouflaged Object Detection
智能生信
2022/12/29
5690
[CVPR 2022 | 论文简读] 基于隐式运动处理的视频伪装物体检测
Unity基础教程-物体运动(八)——攀爬(Sticking to Walls)
本教程使用Unity 2019.2.21f1编写。它还使用了ProBuilder包。
放牛的星星
2020/11/25
2.8K0
Unity基础教程-物体运动(八)——攀爬(Sticking to Walls)
点击加载更多

相似问题

按物体的运动方向旋转

12

通过物理引擎获取物体的运动方向

24

给出运动物体的方向

14

在不使用刚体的情况下,将运动物体的方向设置为运动方向。

35

围绕物体旋转到其速度方向

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文