gpt4 book ai didi

javascript - JS |如何以弧度为单位旋转?

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

function lerp(start, end, amt) {
return (1-amt)*start+amt*end
}

这个 lerp 函数与坐标完美配合。我可以轻松地将 X 从 1 调整到 10。
但当涉及轮换时就会出现问题。物体的旋转以弧度为单位。它可以是从 -3.14 到 3.14。那么让我们旋转我们的对象。从0开始,某一时刻旋转会达到3.14,然后...-3.14。因此,当从 3.14 调整到 -3.14 时,对象会进行一次完整的 360° 旋转(3.14, 2, 1, 0, -1, -2, -3.14),这并不好。那么,有人能告诉我如何调整轮换吗?
我正在使用 JavaScript。

最佳答案

老实说,我不记得这是如何运作的。但是,它确实有效。

它在我的代码中处理玩家对象的 lerping 旋转以指向鼠标,当指针 Angular 穿过 -3.14 到 3.14 时,此函数正确计算跨越间隙的 lerp。带着,嗯,魔法。

function rLerp (A, B, w){
let CS = (1-w)*Math.cos(A) + w*Math.cos(B);
let SN = (1-w)*Math.sin(A) + w*Math.sin(B);
return Math.atan2(SN,CS);
}

关于javascript - JS |如何以弧度为单位旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63970781/

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