gpt4 book ai didi

math - 旋转插补

转载 作者:行者123 更新时间:2023-12-03 01:52:57 26 4
gpt4 key购买 nike

注意:纯粹为了简单起见,我将用度数来呈现这个问题,弧度、度数、不同的零轴承,问题本质上是相同的。

有人对旋转插值背后的代码有任何想法吗?给定一个线性插值函数:Lerp(from, to, amount),其中 amount 是 0...1,它按 amount 返回一个介于 from 和 to 之间的值。如何将相同的函数应用于 0 到 360 度之间的旋转插值?鉴于不应返回 0 和 360 之外的度数。

给定度数单位圆:

Unit Circle

其中从 = 45 到 = 315,算法应采用到达角度的最短路径,即它应该经过零,到 360,然后到 315 - 而不是一直绕过 90、180、270 到 315 .

有什么好的方法可以实现这一点吗?或者它只是一堆可怕的 if() block ?我是否缺少一些众所周知的标准方法?任何帮助将不胜感激。

最佳答案

我知道这已经有 2 年历史了,但我最近一直在寻找同样的问题,并且我没有看到没有在这里发布 if 的优雅解决方案,所以这里是:

    shortest_angle=((((end - start) % 360) + 540) % 360) - 180;
return shortest_angle * amount;

就是这样

ps:当然,%是取模的意思,shortest_angle是保存整个插值角度的变量

关于math - 旋转插补,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2708476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com