next up previous
Next: Približek Up: Obseg n-kotnika Previous: Obseg n-kotnika

Potek dela

Ugotoviti moramo splošno formulo za izračun obsega n-kotnika. Vemo, da je obseg n-kotnika malo manjši od obsega 2n-kotnika. n-kotnik včrtamo v enotski krog (torej, krog s polmerom 1) in ga razrežemo na n enakostraničnih trikotnikov. Ti trikotniki so sestavljeni iz dveh enako dolgih stranic (polmerov) in iz stranice a. Naj bo kot med polmeroma tex2html_wrap_inline126 in naj bo obsek n-kotnika tex2html_wrap_inline128 . Podobno lahko razrežemo 2n-kotnik, le da imamo tukaj v trikotnikih polmera in stranico b, kot med polmeroma tex2html_wrap_inline132 ter obseg tex2html_wrap_inline134 .

Recimo, da poznamo obseg tex2html_wrap_inline128 . Potem lahko izračunamo tex2html_wrap_inline134 na sledeč način:

displaymath112

Ker velja tex2html_wrap_inline140 in tex2html_wrap_inline142 izpeljemo

displaymath113

iz česar sledi

eqnarray31

Zatorej, če poznamo tex2html_wrap_inline128 poznamo tudi tex2html_wrap_inline134 .

Preden bomo napisali program preverimo našo formulo na nekaj primerih:

Napišimo program!:

#include <stdio.h>
#include <conio.h>
#include <math.h>

#define sqr(x) x*x

#define DVA_PI 6.2831854

void main() {
  float s;
  int n;

  clrscr();

  n= 3;            /* zacetni priblizek je pravilni 3-kotnik */
  s= 3*sqrt(3);
  do {
    s= sqrt(2-sqrt(4-sqr(s/n)));
    n= 2*n;                      /* n=2n */
    s*= n;
    printf("Obseg %d-kotnik je %f, resnicni PI=%f\n", n, s, DVA_PI);
  } while(getch()==`d`);
} /* main */

Začetni približek lahko dobimo tudi na drugačen način. Vzamemo pravilni 2-kotnik, ki je premer kroga in dobimo:

displaymath116

Torej

eqnarray64

Kar je pravilno.



Andrej Brodnik (Andy)
Fri Jan 9 14:21:53 MET 1998