作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
注意:纯粹为了简单起见,我将用度数来呈现这个问题,弧度、度数、不同的零轴承,问题本质上是相同的。
有人对旋转插值背后的代码有任何想法吗?给定一个线性插值函数:Lerp(from, to, amount),其中 amount 是 0...1,它按 amount 返回一个介于 from 和 to 之间的值。如何将相同的函数应用于 0 到 360 度之间的旋转插值?鉴于不应返回 0 和 360 之外的度数。
给定度数单位圆:
其中从 = 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/
补: Rest 风格请求处理的的内容补充(1) Rest风格请求:注意事项和细节 客户端是PostMan 可以直接发送Put,delete等方式请求,可不设置Filter 如果哟啊
我是一名优秀的程序员,十分优秀!