繁体   English   中英

如何使用数学标签计算 javascript 上的 sen?

[英]How to calculate sen on javascript using math tag?

我正在编写一个计算正多边形面积的网站,但在构建公式时遇到了问题。

这是公式:

((a**2)*b)/(4*tan(π/b)))

a = Size of the side
b = Number of the sides

举个例子:

一 = 10

b = 5

面积 = 172

我尝试了这些语法,但结果不是 172:

((10**2) * 5) / (4 * Math.tan(math.PI / 5))
((10**2) * 5) / (4 * Math.tan(3.1415 / 5))

我现在的问题是: "(4 * Math.tan(3.1415 / 5))" ,因为如果我直接输入“tan(π/5)”的值,即“0.726542528”,公式作品...

((10**2) * 5) / (4 * 0.726542528) = 172

哪个是正确的语法?

如果你需要在 JS 中实现((a**2)b)/(4tan(π/b))) ,那么第一步就是把它完全写出来,而不是省略隐含的操作:

((a**2) * b) / (4 * tan(π/b))

当然,一堆括号在这里无关紧要:

a**2 * b / (4 * tan(π/b))

然后你 map 到 JS,它几乎已经是除了tanπ ,我们可以从Math object 中得到这两者:

const { PI:π, tan } = Math;

function getPolygonArea(a,b) {
  return a**2 * b / (4 * tan(π/b));
}

完毕。 该公式现在有效并为getPolygonArea(10,5)产生 172.04774005889672 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM