hallo zusammen.
ich hab mal wieder ne frage.
das Ziel ists, pi zu bestimmen. dazu wird in der theorie ein kreisausschnitt mit gleichbreiten rechtecken gefüllt, die ihn einmal grade ausfüllen, und einmal überschneiden. daraus wird dann der mittelwert bestimmt (kreisfläche A) und dann kann pi mit der formel A/r²=pi bestimmt werden.
Beispiel:
wenn man mit 5 rechtecken in einem viertel kreis mit radius 100 arbeitet. die punkte der rechtecke, die den kreis berühren nennen wir mal P.
dann kann man P über die formel y=wurzel aus(r(redius)²-x²) (entsprechener punkt auf der x-achse) bestimmt werden.
die punkte der rechtecke die den kreis überdecken nennen wir mal Q. sie liegen also praktisch immer auf der höhe P des letzten x wertes.
also hat P die koordinaten:
P1(20|Wurzel(100²-20²))
P2(40|Wurzel(100²-40²))
P3(60|Wurzel(100²-60²))
P4(80|Wurzel(100²-80²))
P5(100|Wurzel(100²-100²))
und Q die koordinaten:
Q1(20|Wurzel(100²-0²))
Q2(40|Wurzel(100²-20²))
Q3(60|Wurzel(100²-40²))
Q4(80|Wurzel(100²-60²))
Q5(100|Wurzel(100²-80²))
daraus kann man dann die allgemeine formel für k streifen mit n streifen insgesamt ableiten:
Pk(K r/n | wurzel( r²-(K r/n)²)
Qk(K r/n | wurzel r²-((k-1)*r/n)²)
so, das war dan die einführung, sorry, is leider en bisschen lang geworden.
die anzahl n der streifen soll in ein editfeld eintragbar sein, ausgabe soll durch ein memofeld erfolgen.
zuersteinmal geht es nur darum, den flächeninhalt A zu bestimmen, wobei der radius 100 vorgegeben ist.
jetzt hab ich einfach mal lustig drauflos versucht, wusste aber schon nach kurzer zeit nicht mehr weiter.
hier mal mein bisheriger programmtext.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.BtStartClick(Sender: TObject); var AInnen, AAussen, k, n, Pk : double; x : int; begin k:=StrToFloat(EStreifen.text); for x:=0 to k do begin Pk:=sqrt (100*100-(k*100/n)*(k*100/n)) end; end; |
falls irgendeiner diesem wirren erklärungsversuch iregendwie folgen konnte würde ich ich über den ein oder anderen tip riesig freuen!!
schonmal danke!
jannik
Moderiert von
Christian S.: Topic aus VCL (Visual Component Library) verschoben am Mi 06.12.2006 um 16:28