作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 Lerp 函数
public static headingPitchRollLerp(v1: HeadingPitchRoll, v2: HeadingPitchRoll, t: number): HeadingPitchRoll {
Math.min(Math.max(t, 0), 1);
const result = new Cesium.HeadingPitchRoll();
result.heading = v1.heading + (v2.heading - v1.heading) * t;
result.pitch = v1.pitch + (v2.pitch - v1.pitch) * t;
result.roll = v1.roll + (v2.roll - v1.roll) * t;
return result;
}
当旋转不超过或低于 360' 时,效果很好。
但是,例如,我的航向为 350',而我的 v2 的航向为 10',而不是从 350' 到 10'(仅 20'),我的代码向后移动并重做一次完整旋转(340 ')。
我可以改变什么来使旋转始终最小?
最佳答案
与问题无关,但据我所知
Math.min(Math.max(t, 0), 1);
实际上并没有改变“t”的值。需要重新分配它
t = Math.min(Math.max(t, 0), 1);
关于javascript - 确保值环绕 360 度时正确插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56662061/
我是一名优秀的程序员,十分优秀!