forked from robhagemans/basicode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathA04_Planeetbanen_uitleg.bc3
316 lines (315 loc) · 16.1 KB
/
A04_Planeetbanen_uitleg.bc3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
1000 A=1000:GOTO20:REM uitleg bij PLANEETBANEN
1010 HM=HO:HT=HO:VT=VE:RV$=""
1020 GOSUB1660:REM initialisatie
1030 READRG$:J=1
1040 IFLEFT$(RG$,1)<>"." THEN1280
1050 LC$=LEFT$(RG$,2):RU=2:GOSUB1410
1060 IFLC$<>".P" THEN1120
1070 IFRV$<>LM$ THENSR$=RV$:GOSUB1530:RV$=LM$
1080 SR$="":GOSUB1530:IFSC=2 THEN GOSUB1530:GOTO1100
1090 IFAL<>2 THEN1070
1100 RU=1:GOSUB1410
1110 GOTO1260
1120 IFLC$=".E" THEN950:REM E=einde programma
1130 CO=VAL(LEFT$(RG$,1)):RU=1:GOSUB1410
1140 RU=1:GOSUB1410
1150 IFLC$<>".F" THEN1190
1160 IFRV$<>"" THENSR$=RV$:GOSUB1530:RV$=LM$:CO=CO-1
1170 CO=CO-1:IFCO>-1 THENSR$="":GOSUB1530:GOTO1170
1180 GOTO1260
1190 IF(LC$<>".R")OR(SC=2) THEN1250
1200 REM reverseprint volgende RF woorden
1210 GOSUB1340
1220 IFLEN(RV$)+8+LEN(RP$)>HT THENSR$=RV$:GOSUB1530:RV$=LM$
1230 PRINTRV$;:SR$=RP$
1240 GOSUB150:HT=HT-LEN(RV$)-LEN(RP$)-7:RV$="":GOTO1260
1250 IFLC$=".T" THEN GOSUB1340:TT$=RP$:GOTO1040
1260 IFRG$="" THEN1030
1270 GOTO1040
1280 IFMID$(RG$,J,2)=" ." THEN1310
1290 J=J+1:IFJ<LEN(RG$) THEN1280
1300 RE$=RG$:GOSUB1440:GOTO1030
1310 RE$=LEFT$(RG$,J-1):GOSUB1440
1320 RU=J:GOSUB1410:GOTO1040
1330 REM SR zet volgende <n> woorden in RP$
1340 RP$=RG$:I=1
1350 IFMID$(RP$,I,1)=" " THENCO=CO-1:IFCO=0 THEN1390
1360 I=I+1:IFI<LEN(RP$) THEN1350
1370 IFRP$<>"" THENRP$=RP$+" "
1380 READRG$:RP$=RP$+RG$:GOTO1350
1390 RG$=RIGHT$(RP$,LEN(RP$)-I):J=1:RP$=LEFT$(RP$,I-1)
1400 RETURN
1410 IFLEN(RG$)>RU THENRG$=RIGHT$(RG$,LEN(RG$)-RU):RETURN
1420 RG$="":RETURN
1430 REM subroutine verwerk RE$
1440 IFRV$<>LM$ THENRV$=RV$+" "
1450 RV$=RV$+RE$
1460 IFLEN(RV$)<HT THENRETURN
1470 K=HT
1480 IFMID$(RV$,K,1)=" " THEN1510
1490 K=K-1:IFK>0 THEN1480
1500 SR$=RV$:GOSUB1530:RV$=LM$:RETURN
1510 SR$=LEFT$(RV$,K-1):GOSUB1530
1520 RV$=LM$+RIGHT$(RV$,LEN(RV$)-K):GOTO1460
1530 HT=HM:IFSC=2 THEN GOSUB350:GOSUB360:GOTO1550
1540 PRINTSR$
1550 AL=AL+1:IFAL>VT-SL THEN GOSUB1580:REM paper to new page
1560 RETURN
1570 REM melding onder,wacht, ev screendump
1580 IFSC=2 THENFORI=1 TOSL:GOSUB360:NEXTI:AL=1:RETURN
1590 HO=3:VE=VT:GOSUB110
1600 SR$="VERVOLG: druk op <return>":GOSUB150
1610 GOSUB210:IFIN<>13 THEN1610
1620 GOSUB100:AL=2:SR$=TT$
1630 PRINTLEFT$(SP$,(HT-LEN(SR$))/2-3);:GOSUB150
1640 PRINT:PRINT:RETURN
1650 REM *** INITIALISATIE ***
1660 AL=1:PS=0:LM$="":TT$="COMPUTERBULLETIN PLANEETBANEN"
1670 SP$=" ":SP$=SP$+SP$+SP$
1680 GOSUB1620:PRINT:PRINT"Wilt u het bulletin op"
1690 PRINT:PRINT" 1 Het beeldscherm,"
1700 PRINT" 2 De printer."
1710 PRINT:PRINT"Welk nummer kiest u ";:GOSUB210
1720 SC=IN-48:PRINTSC:IFSC=1 THENSL=2:GOSUB1620:RETURN
1730 IFSC<>2 THEN1660
1740 PRINT:PRINT"Hoeveel spaties wilt u aan het"
1750 PRINT"begin van elke regel ";:INPUTPS:LM$=LEFT$(SP$,PS)
1760 PRINT:PRINT"Hoeveel tekens echte tekst wilt"
1770 PRINT"u op elke regel ";:INPUTHT:HT=HT+PS:HM=HT
1780 PRINT:PRINT"Hoeveel regels wilt u bij de scheurlijn"
1790 PRINT"laten overslaan ";:INPUTSL:RV$=LM$
1800 PRINT:PRINT"Hoeveel echte tekstregels wilt u op"
1810 PRINT"elk blad ";:INPUTVT:VT=VT+SL:GOTO360
25000 REM BASICODE-3 COMPUTERBULLETIN Planeetbanen
25010 DATA".T2 COMPUTERBULLETIN PLANEETBANEN .F2 Dit"
25020 DATA"computerbulletin geeft een korte uitleg bij het"
25030 DATA"programma .R1 PLANEETBANEN/KEPLERWETTEN. Een"
25040 DATA"uitgebreider artikel staat in het tijdschrift"
25050 DATA"A&K Informatica, nr 6, 15 augustus - 1 oktober"
25060 DATA"1987. Let op: NIET in de echte Aarde en Kosmos,"
25070 DATA"ALLEEN in het dunne informatica uittreksel. In"
25080 DATA"Aarde en Kosmos kwam dit programma al aan de"
25090 DATA"orde in nummer 8/85, bladzijde 596-601. Het"
25100 DATA"artikel daar bevatte echter een aantal kwalijke"
25110 DATA"fouten, met name in de onderschriften. Verder"
25120 DATA"ging het om een andere versie van het programma."
25130 DATA"We waren toen nog niet in de ban van BASICODE."
25140 DATA"Sterker nog: BASICODE-3 bestond nog niet en op"
25150 DATA"grafisch gebied zong iedere computer zijn eigen"
25160 DATA"lied. .T1 Invoer .P Wanneer we"
25170 DATA"PLANEETBANEN/KEPLERWETTEN starten, verschijnen"
25180 DATA"een aantal invoervragen. De eerste is: tekening"
25190 DATA"(0), lijst energie (1) of omlooptijd (2)? Omdat"
25200 DATA"de tekening het meest aanschouwelijk is, geven"
25210 DATA"we hier een 0, gevolgd door een druk op de"
25220 DATA"invoertoets. .P Dan wordt er gevraagd om een"
25230 DATA"tijdstap. Het programma gaat de baan van de"
25240 DATA"planeet uitrekenen in stapjes. Nemen we die"
25250 DATA"stapjes klein, dan is de berekening nauwkeurig."
25260 DATA"Bij kleine stapjes moeten er wel veel stapjes"
25270 DATA"gezet worden. Dat betekent dat de berekening"
25280 DATA"lang duurt. We dachten dat de waarde 0.02 een"
25290 DATA"aardig compromis was. .P De volgende vraag is,"
25300 DATA"of de stap dichtbij de zon, bij het zogeheten"
25310 DATA"perihelium, verkleind moet worden. In dat deel"
25320 DATA"van de baan loopt de planeet snel. Nemen we"
25330 DATA"grote stappen, dan zit de berekening snel naast"
25340 DATA"de echte baan. Daarom is de mogelijkheid"
25350 DATA"geschapen het daar wat voorzichtiger aan te"
25360 DATA"doen. .F2 Hieraan zit het nadeel dat niet langer"
25370 DATA"elk nieuw puntje op het scherm overeenkomt met"
25380 DATA"eenzelfde tijdsduur. De snelheid van de planeet"
25390 DATA"kunnen we dus niet meer aflezen aan de tekening."
25400 DATA"Bij de eerste kennismaking kunnen we het beste"
25410 DATA"de 0 kiezen voor een vaste tijdstap. .P Via de"
25420 DATA"vraag naar de beginsnelheid (cirkel=1, ellips<1)"
25430 DATA"geven we aan, met welke snelheid we onze planeet"
25440 DATA"van start willen laten gaan. Zouden we een"
25450 DATA"snelheid groter dan 1 nemen, dan vliegt de"
25460 DATA"planeet uit de bocht en kan hij buiten het"
25470 DATA"scherm terechtkomen. Vandaar de gegeven"
25480 DATA"beperkingen. .F2 Bij een snelheid 1 zijn de"
25490 DATA"middelpuntvliedende kracht en de"
25500 DATA"aantrekkingskracht van de zon met elkaar in"
25510 DATA"evenwicht. De planeet blijft dan steeds op"
25520 DATA"dezelfde afstand tot de zon en we krijgen een"
25530 DATA"cirkelbaan. Bij snelheden kleiner dan 1 wint de"
25540 DATA"zwaartekracht van de zon het. In een ellipsbaan"
25550 DATA"buigt de planeet naar de zon toe. .F2 Laten we"
25560 DATA"bij de eerste kennismaking een beginsnelheid 1"
25570 DATA"kiezen om het eenvoudig te houden. Dan wordt"
25580 DATA"gevraagd, welke zwaartekrachtswet we willen"
25590 DATA"toepassen, die van Newton of die van Einstein."
25600 DATA"Ook nu houden we het eenvoudig: we kiezen 0 voor"
25610 DATA"de klassieke zwaartekrachtswet. .T1 Tekening .P"
25620 DATA"Middenop het scherm wordt de positie van de zon"
25630 DATA"getekend. Aan de rechterkant gaat de planeet van"
25640 DATA"start. Overeenkomstig onze invoer beschrijft de"
25650 DATA"planeet een cirkelbaan. We kunnen hem net zo"
25660 DATA"lang laten ronddraaien als we geduld hebben. Het"
25670 DATA"afbreken gaat in deze versie van het programma"
25680 DATA"door een willekeurige toets aan te slaan. .T3 We"
25690 DATA"gaan experimenteren .P Wanneer we het programma"
25700 DATA"opnieuw draaien, kunnen we het beste het eerst"
25710 DATA"gaan experimenteren met de beginsnelheid. De"
25720 DATA"andere getallen kunnen het beste gelijk blijven,"
25730 DATA"dan weten we tenminste wat we doen. Een kleinere"
25740 DATA"beginsnelheid laat de planeet tijdens zijn"
25750 DATA"omloop dichter naar de zon toe vallen. Daarbij"
25760 DATA"krijgt hij een zo grote snelheid dat hij"
25770 DATA"tegenover zijn beginpunt uit de bocht vliegt en"
25780 DATA"dan toch weer op het uitgangspunt terechtkomt."
25790 DATA".P We mogen de beginsnelheid niet te klein"
25800 DATA"kiezen. De ondergrens ligt ongeveer bij 0.6. Bij"
25810 DATA"kleinere snelheden scheert de planeet zo snel"
25820 DATA"langs de zon, dat de berekening uit de koers"
25830 DATA"raakt. De planeet komt niet meer precies op zijn"
25840 DATA"beginpunt uit, zoals zou moeten. De gevolgen"
25850 DATA"worden duidelijk, wanneer we de planeet een"
25860 DATA"aantal malen laten rondgaan. Zelfs wie niet"
25870 DATA"zoveel belangstelling heeft voor de"
25880 DATA"natuurkundige kant van het gebeuren, kan"
25890 DATA"genieten van de fraaie figuur die ontstaat. We"
25900 DATA"kunnen de berekening beter maken (en de figuur"
25910 DATA"minder mooi) de tijdstap bij het perihelium wel"
25920 DATA"te laten verkleinen, via de betreffende"
25930 DATA"invoervraag. .T1 Einsteinwet .P Wanneer we dat"
25940 DATA"alles bekeken hebben, kunnen we ook eens gaan"
25950 DATA"kiezen voor een Einsteinwet. In zijn Algemene"
25960 DATA"Relativiteitstheorie wijkt de zwaartekrachtswet"
25970 DATA"een heel klein beetje af van die van Newton. In"
25980 DATA"dit programma nemen we het heft der natuurwetten"
25990 DATA"zelf in handen en kiezen we hoeveel we de"
26000 DATA"zwaartekrachtswet willen laten afwijken. De"
26010 DATA"aanbevolen waarde is 0.01. Daarbij worden de"
26020 DATA"uitwerkingen een beetje zichtbaar. In feite is"
26030 DATA"dat getal een reusachtige overdrijving ten"
26040 DATA"opzichte van wat de echte relativiteitstheorie"
26050 DATA"voorspelt. .F2 We zien dat bij een Einsteinwet"
26060 DATA"de planeet bij een ellipsbaan ook niet meer op"
26070 DATA"zijn beginpositie terugkeert. De uitwerking is"
26080 DATA"dus dezelfde als bij onnauwkeurig rekenen,"
26090 DATA"alleen zijn de banen nu ook bij grotere"
26100 DATA"beginsnelheden al niet meer mooi gesloten. Niet"
26110 DATA"alleen onnauwkeurig rekenen bij de"
26120 DATA"periheliumdoorgang en de Einsteinwet leiden"
26130 DATA"daartoe. Vele storingen op een planeetbaan"
26140 DATA"hebben ditzelfde effect, bijvoorbeeld ook de"
26150 DATA"aantrekking van de planeten onderling en de"
26160 DATA"afplatting van de zon. Het is daardoor voor"
26170 DATA"sterrekundigen best een moeilijke zaak om die"
26180 DATA"verschillende effecten te ontrafelen. .T1"
26190 DATA"Periheliumverschuiving .P De planeetbaan kunnen"
26200 DATA"we beschrijven als een ellips waarvan het verste"
26210 DATA"punt, het zogeheten ap-helium, zich verplaatst"
26220 DATA"(en wel in de richting van de planeetbeweging)."
26230 DATA"De planeet loopt dus in een baan die aan het"
26240 DATA"verdraaien is. Het perihelium tegenover het"
26250 DATA"ap-helium verschuift ook mee. Die verplaatsing"
26260 DATA"is minder opvallend, maar niettemin heeft die de"
26270 DATA"naam aan het effect gegeven:"
26280 DATA"periheliumverschuiving. In veel boeken kunt u"
26290 DATA"lezen over de periheliumverschuiving van"
26300 DATA"Mercurius als bewijs voor de Algemene"
26310 DATA"Relativiteitstheorie. Mercurius is de planeet"
26320 DATA"het dichtst bij de zon, waarvoor het effect het"
26330 DATA"sterkst is. .T1 Lijsten .P Wat tekeningen"
26340 DATA"aangaat, hebben we nu alles gezien, wat mogelijk"
26350 DATA"is. Voor de echte liefhebbers van natuurkunde"
26360 DATA"zijn er nu nog de keuzes lijst energie (1) en"
26370 DATA"omlooptijd (2). Daarbij krijgen we lijsten"
26380 DATA"getallen te zien. Laten we beginnen met de"
26390 DATA"energielijst. Deze keuzes zijn overigens alleen"
26400 DATA"zinvol bij gebruik van de klassieke Newtonwet."
26410 DATA".T1 Energielijst .P Er flitst nu bij iedere"
26420 DATA"tijdstap een viertal getallen over ons scherm."
26430 DATA"Het eerste getal is de kinetische energie,"
26440 DATA"eenvoudiger gezegd is dat de bewegingsenergie."
26450 DATA"Hoe sneller onze planeet zich verplaatst, des te"
26460 DATA"groter wordt zijn bewegingsenergie. De planeet"
26470 DATA"gaat sneller bewegen, wanneer hij in een"
26480 DATA"ellipsbaan dichter bij de zon komt. De"
26490 DATA"bewegingsenergie neemt toe. Er is weer een"
26500 DATA"afname, wanneer de planeet op zijn beginpunt"
26510 DATA"afkoerst. In de lijst wordt niet vermeld, waar"
26520 DATA"de planeet op het moment is, maar dat kunnen we"
26530 DATA"eigenlijk aflezen aan het veranderen van de"
26540 DATA"kinetische energie. .P De potentiele energie"
26550 DATA"heeft te maken met de zwaartekracht van de zon."
26560 DATA"Wat zich ver van de zon bevindt, kan diep vallen"
26570 DATA"en daarbij veel bewegingsenergie opdoen. Wat"
26580 DATA"zich ver van de zon bevindt, heeft zo meer"
26590 DATA"potentiele energie dan wat zich dichtbij de zon"
26600 DATA"bevindt. Uit de afstand op ieder moment rekent"
26610 DATA"het programma de potentiele energie uit. .F2 De"
26620 DATA"potentiele energie is een getal kleiner dan nul."
26630 DATA"De grootst mogelijke potentiele energie in een"
26640 DATA"zwaartekrachtsveld is in feite nul. Dat klinkt"
26650 DATA"ongetwijfeld vreemd, maar dat is de manier"
26660 DATA"waarop natuurkundigen het hebben afgesproken."
26670 DATA"Wie er meer van wil weten, moet de leerboeken er"
26680 DATA"maar eens op naslaan. .F2 Wat de planeet er aan"
26690 DATA"bewegingsenergie bijkrijgt, verliest hij aan"
26700 DATA"potentiele energie. Die twee samen zijn daardoor"
26710 DATA"vrijwel constant, zoals is af te lezen aan het"
26720 DATA"derde getal dat steeds wordt weergegeven. .T1"
26730 DATA"Draaiing .P Ook het vierde getal verandert maar"
26740 DATA"weinig en in principe helemaal niet. Dit getal"
26750 DATA"heeft weer een heel andere betekenis. De"
26760 DATA"zwaartekracht probeert de planeet naar de zon"
26770 DATA"toe te trekken. Wanneer we in een wiel langs de"
26780 DATA"spaken trekken, gaat het wiel niet draaien. We"
26790 DATA"kunnen het wiel alleen aan het draaien krijgen"
26800 DATA"met een kracht langs de omtrek van het wiel. .F2"
26810 DATA"Bij de planeten is er alleen een kracht naar het"
26820 DATA"midden, geen kracht in de rondte. De draai die"
26830 DATA"we de planeet meegeven bij de start, is daarom"
26840 DATA"onveranderlijk. Die draai wordt weergegeven door"
26850 DATA"het vierde getal. Kepler was de eerste die deze"
26860 DATA"dingen uitvond. Hij formuleerde het resultaat"
26870 DATA"als de zogeheten perkenwet. .T1 Omlooptijd .P"
26880 DATA"Laten we de energielijst nu maar afbreken door"
26890 DATA"een toets in te drukken. Bij de volgende keer"
26900 DATA"dat we het programma draaien, kiezen we voor"
26910 DATA"(2), de omlooptijd. De computer gaat in stilte"
26920 DATA"de planeet een halve omloop volgen. Daarna kan"
26930 DATA"hij ons vertellen, hoelang een hele omloop"
26940 DATA"duurt. Wanneer we deze berekening doen met een"
26950 DATA"kleinere beginsnelheid, is de omlooptijd korter."
26960 DATA"Verder komt de planeet dichter bij de zon. Het"
26970 DATA"getal bij perihelium is kleiner. .F2 Deze dingen"
26980 DATA"zijn niet zomaar kleiner, er bestaat een formule"
26990 DATA"voor, die ook door Kepler gevonden is. Daarin"
27000 DATA"komt een getal a voor. Dit is het gemiddelde van"
27010 DATA"de perihelium en de ap-helium afstand. Het"
27020 DATA"programma laat ons zien dat de uitkomst van die"
27030 DATA"formule steeds (vrijwel) hetzelfde is. Voor de"
27040 DATA"nauwkeurigheid is het aan te bevelen hier steeds"
27050 DATA"de tijdstap te laten verkleinen bij het"
27060 DATA"perihelium. .T1 Besluit .P Inlichtingen over de"
27070 DATA"tijdschriften Aarde en Kosmos en A&K Informatica"
27080 DATA"kunt u krijgen bij .F2 Postbus 108, .F1"
27090 DATA"1270 AC HUIZEN, .F1 telefoon 02152 - 58388. .F2"
27100 DATA"Het programma en deze toelichting zijn gemaakt"
27110 DATA"door .F2 Pim van Tend, .F1 Veldheimwg 8, .F1"
27120 DATA"6871 CD RENKUM, .F1 telefoon 08373 - 15358."
27130 DATA".F2 .F2 **************************"
27140 DATA".F1 * TROS-radio *"
27150 DATA".F1 * BASICODE-3 *"
27160 DATA".F1 * Postbus 450 *"
27170 DATA".F1 * 1200 AL Hilversum * .F1"
27180 DATA"************************** .P .E"
30000 REM "****************************"
30010 REM "* *"
30020 REM "* BASICODE - 3 Bulletin *"
30030 REM "* Planeetbanen *"
30040 REM "* *"
30050 REM "* TROS-Radio *"
30060 REM "* *"
30070 REM "* Copyright (c) 1987: *"
32000 REM "* Pim van Tend *"
32010 REM "* Veldheimweg 8 *"
32020 REM "* 6871 CD RENKUM *"
32030 REM "* *"
32040 REM "****************************"
32050 REM TROS-RADIO dd 870909