자바스크립트로 파이(원주율) 구하기

원주율이란?

원주율(圓周率, 문화어: 원주률)은 원둘레와 지름의 비 즉, 원의 지름에 대한 둘레의 비율을 나타내는 수학 상수이다. 
수학과 물리학의 여러 분야에 두루 쓰인다. 그리스 문자 π로 표기하고, 파이(π)라고 읽는다
- 위키백과 - 

이렇게 원주율 3.141592~~ 여러개가 있죠
저희는 js를 이용해 파이(원주율)을 구해 보겠습니다.

그리고 구한 파이로 원도 한 번 그려 볼 것 입니다.

파이 구하는 식을 여러분들은 아시나요?
라이프니츠가 정리한 식을 사용하면 간단히 파이를 구할 수 있습니다.


자 인제 본격 적으로 프로그래밍을 시작하죠
일단 for문을 돌려서 계산을 해야합니다.
한 for문을 1000번 정도 돌려보겠습니다.

일단 저 사진의 공식을 보시면 분모가 2식 늘어나고 -,+가
반복된다는 것을 알 수 있습니다.

+,- 을 바꾸어주기 위해서는 단순히 쉽게 * -1을 해주면 되겠죠…. 이걸 코드로 짜면


var pi = 0;
var under = 1;
var type = -1;
for(var i=0;i<10000;i++){
  pi += type*1/under;
  under += 2;
  type *= -1;
}
console.log(4*pi);


이러면 파이를 구할 수 있습니다.
인제 구한 파이로 원을 그리는 예제를 만들어 보겠습니다.
일단 canvas를 만들어 주셔야 합니다.
그리고 ctx로 변수를 만들어 주시고
원을 그려야 겠죠

ctx.beginPath();
ctx.arc(50, 50, 20, 0, pi * 2);
ctx.stroke();

이걸 for문 안에 넣으면 됩니다!. 인제 한 번 보시죠.

이렇게 원이 그려집니다! 여러분들 한테 계산 하는 것을 보여드리기
전 setimeout을 이용했기 때문에 이것 보다 훨씬 빠릅니다!
소스코드 :

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
function pidraw(){
  var pi = 0;
  var pi4 = 0;
  var under = 1;
  var type = -1;
  for(var i=0;i<10000;i++){
    pi += type*1/under;
    under += 2;
    type *= -1;
    ctx.beginPath();
    pi4 = pi * 4;
    ctx.arc(200, 200, 80, 0, 2 * pi4);
    ctx.stroke();
    document.getElementById("pidata").innerHTML = ""+pi4;
  }
}

for문을 더 돌리면 더 정확한 pi를 얻을 수 있답니다! 댓글은 큰 도움이 됩니다.

Written on September 15, 2018