圆内接正多边形算pi的值面积
前面通过周长计算过一次,现在从面积着手:
先从内接正方形开始,然后扩展到八边形,16边形。。。
通过找出规律,从而计算
4边形时
pi/4=2* { 1/(sqrt 2) } * { 1/(sqrt 2) }
在这里cos s=1/(sqrt 2) ,为45度
8边形时
pi/4=2* { sin s/2 }*{ cos s/2 }
因为有公式cos s=2 *cos s/2-1
所以cos s/2= (sqrt {(1+ cos s) /2} )
sin s/2= (sqrt {(1- cos s) /2} )
将上面的变化为
pi/4=2* {(sqrt (- 1 (* cos s/2 cos s/2)))}*{ cos s/2 }
这样就形成了递归关系,写程序可以验证如下:
(defun pow (num count)
(if (or (> count 1) (eq count 1))
(* num
(pow num
(- count 1) ) )
1))
(defun anglevalue (n)
(if (eq n 45 )
(/ 1 (sqrt 2))
(sqrt (/ (+ 1
(anglevalue (* 2
n)))
2))))
(defun pivalue ( n)
(* (* 4
(/ 45
n))
(* (anglevalue n)
(sqrt (- 1
(* (anglevalue n)
(anglevalue n)))))))
(defun test (count)
(if (> count 0.00001)
(progn
(print (pivalue count))
(print 'compare )
(print pi)
(test (/ count 2)))
(print 'over)))
(test 45)