独自に円周率を求めました。たぶん既知です。2
独自に円周率を求めました。前回の記事
今回は途中式あまり書いていません。
半径をrとした円がある。
![画像1](https://assets.st-note.com/production/uploads/images/57654200/picture_pc_181f332b1c37815d891351374e138780.png)
前回は内接円を使ったが今回は外接円から考える。
半径をrとした円に外接する四角形を書く。その四角形の周囲の長さは4r
![画像2](https://assets.st-note.com/production/uploads/images/57654701/picture_pc_29639e8c8c8e006c63e1f2ca16b27ec5.png)
外接する図形を3,4,5,6,7,8...角形という風に無限に増やしその周囲の長さを求めれば円周を求めることができる。
途中式は割愛するが、半径rの円に外接する正x角形の周囲の長さは
2xr × tan(180°/x) ――周囲の長さ
半径rの円周の長さは以下になる
![画像4](https://assets.st-note.com/production/uploads/images/57655410/picture_pc_870e35d167a1c62fca1906f08381094f.png?width=1200)
円周率とは、円の直径に対する円周の長さなので上記の式から2r(直径)を割ると円周率が求まる。
![画像3](https://assets.st-note.com/production/uploads/images/57654989/picture_pc_aff4cac179b7a1ffa454248a2337b9c8.png)
javascriptで以下のコード実行したら「3.141592653589793」と出ました。
x = Number.MAX_VALUE;
// Math.tanの引数はラジアンで指定するため、180°をラジアンに変換
degrees = 180;
angle = Math.PI * degrees / 180.0;
x * Math.tan(angle/x);
この記事が気に入ったらサポートをしてみませんか?