gpt4 book ai didi

javascript - 弧度有时会翻转/反转

转载 作者:行者123 更新时间:2023-11-28 07:56:27 27 4
gpt4 key购买 nike

我有一个函数应该找到两个弧度的中间

function mrad(rb,ra){return (rb+ra)/2;}

但有时,当我用 Math.sin 和 Math.cos 绘制 x 和 y 时,这两个指定长度的新坐标与我想要的相反。

例如;如果我期望新点位于下方和右侧,有时它们会出现在上方和左侧。 除此之外,坐标是正确的!

这是我绘制新的 x 和 y 的方法

xnew=xold-(100)*Math.cos(radian);
xnew=yold+(100)*Math.sin(radian);

我猜测弧度 B (rb) 是否大于 ra 可能会很重要。我认为正在发生的事情是,在这种情况下我会绕一圈,而有时我应该做类似的事情

 function mrad(rb,ra){return (rb-ra)/2;}

我的问题是

  1. 我的假设正确吗?

  2. 什么情况下,如何判断何时进行 rb-rarb+ra,或者更好地说,你如何判断如果一个弧度指向另一个弧度的上方或下方?

它应该看起来像这样

function mrad(rb,ra){return ((/*condition*/)?(rb-ra):(rb-ra))/2;}

编辑

为了找到范围,我尝试表达不同的值来找到以弧度为单位的范围,但除了对 Angular 线之外找不到任何东西

http://jsfiddle.net/roLLqfs6/

此外,定义的长度并不总是如示例中所写的 100

最佳答案

这确实是一道数学题。您需要确保您的 Angular 处于同一范围内(-pi ... pi0 ... 2.0 * pi),但即便如此,它们的平均值不一定能找到您正在寻找的 Angular - 您可能期望(为简单起见,以度为单位)您想要的 10° 和 20° 的答案是 15°,但是您对 175° 和 -175° 的期望是多少?我怀疑你想要 180°(因为这是它们之间的小弧),但你会得到 0°。

因此,您需要测试差异,看看它们之间的距离是否小于 180°(pi 弧度),如果不小于,则相应地修改答案。

关于javascript - 弧度有时会翻转/反转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26021364/

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