简单的利用正2的a次方边形求圆周率的方法

Lylelove

编程|2020-3-23|最后更新: 2022-11-3|
type
status
date
slug
summary
tags
category
icon
password
Property
Nov 3, 2022 02:15 AM
notion image
每个正n边型都可以分成n个如图所示的三角形,每个三角形的角a都相等,假设斜边长都为1。 当n=4时,角a=90°;当n=8时,角a=45°;当n=16时,角a=22.5°…… 当n=2的a次方时,角a=360/n°。 又因为sin的半角公式:
可以算出每个角a的sin值,又三角形面积公式=absinc/2,可得三角形面积,n边形面积为n个三角形相加,,而n边形的面积又近似等于圆的面积,根据圆面积公式s=Πr²可得Π值。 下面的代码计算了2²²边形的面积计算出的Π值:
当次数超过22时,因为浮点数精度的问题,sin值的计算结果出现偏差,Π的结果也会出现错误。