DECLARE SUB symLklok0 () DECLARE SUB symLklok1 () DECLARE SUB Lklok01 () DECLARE SUB twparadox () DECLARE SUB titel () DECLARE SUB hippo () DECLARE SUB ruimtijd () DECLARE SUB BetaKeus () DECLARE SUB wereldlijnen () DECLARE SUB RTlichtlijn () DECLARE SUB symLklok () DECLARE SUB Lklok () DECLARE SUB RTassen () DECLARE SUB RTijking () DECLARE SUB RTtransf () DECLARE SUB kijkintro () DECLARE SUB Lklok10 () DECLARE SUB wacht () DECLARE SUB ruimtetijd () DECLARE SUB gedanken () DECLARE SUB kijken () DECLARE SUB menu () DECLARE SUB dilat () DECLARE SUB contra () DECLARE SUB intro () COMMON SHARED men%, rtmen%, beta, w, wx, len0, leng, tit$, klr% SCREEN 12 menu: CALL menu IF men% = 1 THEN intro IF men% = 2 THEN gedanken IF men% = 3 THEN ruimtijd IF men% = 4 THEN hippo IF men% = 5 THEN BetaKeus: wereldlijnen IF men% = 6 THEN BetaKeus IF ABS(beta) < .1 OR ABS(beta) > .9 THEN GOTO menu CALL symLklok0: symLklok1: Lklok10: Lklok01: symLklok: Lklok END IF IF men% = 7 THEN dilat: contra IF men% = 8 THEN BetaKeus IF ABS(beta) < .1 OR ABS(beta) > .9 THEN GOTO menu CALL RTlichtlijn: RTassen: RTijking: RTtransf END IF IF men% = 9 THEN kijken IF men% = 10 THEN BetaKeus IF ABS(beta) < .1 OR ABS(beta) > .9 THEN GOTO menu twparadox END IF IF men% = 0 THEN PLAY "l21o3gp21fp21ep21d" INPUT " RELATY verlaten (ENTER=ja) ? ", y$ IF y$ = "" THEN PLAY "l21o3cp21cp21dp21ep21l10d.l21cl5c" END END IF END IF GOTO menu END SUB BetaKeus CLS : LOCATE 3, 15: COLOR 11 PRINT "RELATIVITEIT: de ruimtetijd-structuur" LOCATE 5, 15: COLOR 14 PRINT "Credits: guido wuyts 1997" COLOR 11 PLAY "l21o3gp21fp21ep21d" LOCATE 8, 1 INPUT " -> snelheid beta (=v/c, tussen +/-.1 en +/-.9, 0=END) : ", beta IF ABS(beta) < .1 OR ABS(beta) > .9 THEN EXIT SUB len0 = 30 + 20 * ABS(beta) leng = len0 * SQR(1 - beta ^ 2) w = 150 CLS WINDOW (-1.3 * w, -w)-(1.3 * w, w) PLAY "l21o3cp21cp21dp21e" END SUB SUB contra vraagklok2: CLS : LOCATE 3, 15: COLOR 11 PRINT "RELATIVITEIT: de ruimtetijd-structuur" LOCATE 5, 15: COLOR 14 PRINT "Credits: guido wuyts 1997" LOCATE 7, 15: COLOR 11: PRINT "De lengtecontractie" PRINT " en relativiteit van gelijktijdigheid" PRINT : PRINT : COLOR 15 PRINT "Lengtecontractie van lichtklok in beweging ten opzichte van een andere," PRINT "beide lichtklokken evenwijdig aan bewegingsrichting." PRINT PRINT "De lengtecontractie moet tijdsisotropie (samenvallende retourtijden)" PRINT "behouden met lichtklokken volgens andere richtingen, zie twee referentie-" PRINT "klokken loodrecht op bewegingsrichting." PRINT PRINT "Merk wel op dat retourtijden 'horizontaal' en 'vertikaal' van klok 2" PRINT "niet meer als gelijktijdig beschouwd worden door klok 1. Maar dus wel" PRINT "door klok 2 zelf, die dan weer deze van klok 1 op 'andere' tijdstippen" PRINT "ziet, gepaard met een contractie van die haar horizontale lengte." PRINT : PRINT : COLOR 11 PLAY "l21o3gp21fp21ep21d" INPUT " -> snelheid beta (=v/c, tussen .02 en .98, 0=END) : ", beta IF beta < .02 OR beta > .98 THEN EXIT SUB PLAY "l21o3cp21cp21dp21e" CLS tel% = 0: ttel% = 0 t0 = 0: tt0 = 0: y = 0: yy = 0: x = 0: y0 = 0: yy0 = 0: x0 = 0 u = 0: uu = 0: u0 = 0: uu0 = 0 w = 100: ww = w * SQR(1 - beta * beta) dy = 2: dx = dy 'vooruitgang licht x+y klok 1, x klok 2 dxx = dy * beta 'vooruitgang pos. klok 2 dyy = dy * SQR(1 - beta * beta) 'vooruitgang licht y klok 2 dt0 = dy * .5 / w: dtt0 = dyy * .5 / w: t0 = 0: tt0 = 0 'vooruitgang tijd WINDOW (-1.3 * w * .05, -w * .5)-(1.3 * w * 1.95, w * 1.5) y = 0 CLS : LOCATE 3, 15: COLOR 11 PRINT USING "RELATIVITEIT: lengtecontractie beta .##"; beta LOCATE 28, 1: COLOR 3: PRINT "(-> SPATIE...)" LOCATE 24, 15: COLOR 7: PRINT "eigen retourtijd klok 1................ : "; COLOR 11: PRINT USING "##.#"; t0 LOCATE 25, 15: COLOR 7: PRINT "eigen retourtijd ('vert.') klok 2...... : "; COLOR 10: PRINT USING "##.#"; tt0 LOCATE 27, 15: COLOR 7: PRINT "retourtijd 'hor.' klok 2 volgens klok 1 : "; COLOR 11: PRINT USING "##.#"; t0 LOCATE 26, 15: COLOR 7: PRINT "retourtijd 'vert.' klok 2 volgens klok 1: "; COLOR 11: PRINT USING "##.#"; t0 klok2: WHILE y >= 0 AND y <= w AND yy >= 0 AND yy <= w AND x + ww < w * 1.3 * 1.95 AND uu <= x + ww '''AND uu >= x GOSUB tekenklok2 y0 = y: y = y + dy 'y klok 1 x0 = x: x = x + dxx 'pos. klok 2 u0 = u: u = u + dy 'x klok 1 yy0 = yy: yy = yy + dyy 'y klok 2 uu0 = uu: uu = uu + dx 'x klok 2 t0 = t0 + dt0: tt0 = tt0 + dtt0 ' tijden 1, 2 t = TIMER: WHILE TIMER - t < .01: WEND WEND IF x + ww >= w * 1.3 * 1.95 THEN LINE (-1.3 * .05 * w, 0)-(1.3 * 1.95 * w, w), 0, BF '''wissen ux = uu - x: x = 0: uu = x + ux END IF IF y < 0 THEN y = 0: u = 0: dy = -dy: tel% = tel% + 1: t0 = tel% LOCATE 24, 15: COLOR 7: PRINT "eigen retourtijd klok 1................ : "; COLOR 11: PRINT USING "##.#"; t0 END IF IF y > w THEN y = w: u = w: dy = -dy LOCATE 24, 15: COLOR 7: PRINT "eigen retourtijd klok 1................ : "; COLOR 11: PRINT USING "##.#"; t0 END IF IF yy < 0 THEN yy = 0: dyy = -dyy: ttel% = ttel% + 1: tt0 = ttel% uu = x: dx = -dx LOCATE 25, 15: COLOR 7: PRINT "eigen retourtijd ('vert.') klok 2...... : "; COLOR 10: PRINT USING "##.#"; tt0 LOCATE 27, 15: COLOR 7: PRINT "retourtijd 'hor.' klok 2 volgens klok 1 : "; COLOR 11: PRINT USING "##.#"; t0 LOCATE 26, 15: COLOR 7: PRINT "retourtijd 'vert.' klok 2 volgens klok 1: "; COLOR 11: PRINT USING "##.#"; t0 END IF IF yy > w THEN yy = w: dyy = -dyy LOCATE 25, 15: COLOR 7: PRINT "eigen retourtijd ('vert.') klok 2...... : "; COLOR 10: PRINT USING "##.#"; tt0 LOCATE 26, 15: COLOR 7: PRINT "retourtijd 'vert.' klok 2 volgens klok 1: "; COLOR 11: PRINT USING "##.#"; t0 END IF IF uu > (x + ww) THEN uu = x + ww - .1: dx = -dx LOCATE 27, 15: COLOR 7: PRINT "retourtijd 'hor.' klok 2 volgens klok 1 : "; COLOR 11: PRINT USING "##.#"; t0 END IF GOTO klok2 END tekenklok2: '''wissen CIRCLE (0, y0), 1, 0 LINE (x0, 0)-(x0, w), 0 CIRCLE (x0, yy0), 1, 0 LINE (x0, 0)-(x0 + ww, 0), 0 CIRCLE (u0, 0), 1, 0 CIRCLE (uu0, 0), 1, 0 '''tekenen PSET (x0, yy0), 14 LINE (0, 0)-(0, w), 3 CIRCLE (0, y), 1, 14 LINE (x, 0)-(x, w), 2 CIRCLE (x, yy), 1, 14 LINE (0, 0)-(w, 0), 3 LINE (x, 0)-(x + ww, 0), 2 CIRCLE (u, 0), 1, 14 CIRCLE (uu, 0), 1, 14 FOR dum = 1 TO 100: NEXT a$ = INKEY$ IF a$ = " " THEN GOTO vraagklok2 END IF RETURN END SUB SUB dilat vraagklok: CLS : LOCATE 3, 15: COLOR 11 PRINT "RELATIVITEIT: de ruimtetijd-structuur" LOCATE 5, 15: COLOR 14 PRINT "Credits: guido wuyts 1997" LOCATE 7, 15: COLOR 11: PRINT "De tijddilatatie" PRINT : PRINT : COLOR 15 PRINT "Tijddilatatie van twee evenwijdige lichtklokken in beweging loodrecht op hun" PRINT "langsrichting. De situatie lijkt asymmetrisch, met een schijnbare tijdcontractie" PRINT "van de klok in rust ten opzichte van deze in beweging." PRINT PRINT "Echter niet vergeten dat de gelijktijdigheid niet gelijk is voor beide," PRINT "dat de lichtstralen (voorgesteld als cirkeltjes) voor de klok in beweging" PRINT "in andere posities als gelijktijdig beschouwd worden, zodat uiteindelijk" PRINT "toch de symmetrie geldt." PRINT : PRINT : COLOR 11 PLAY "l21o3gp21fp21ep21d" INPUT " -> snelheid beta (=v/c, tussen .02 en .98, 0=doorgaan) : ", beta IF beta < .02 OR beta > .98 THEN EXIT SUB PLAY "l21o3cp21cp21dp21e" CLS tel% = 0: ttel% = 0 y = 0: yy = 0: x = 0: y0 = 0: yy0 = 0: x0 = 0 w = 100 dy = 2 dx = dy * beta dyy = dy * SQR(1 - beta * beta) dt0 = dy * .5 / w: dtt0 = dyy * .5 / w: t0 = 0: tt0 = 0 WINDOW (-1.3 * w * .05, -w * .5)-(1.3 * w * 1.95, w * 1.5) y = 0 CLS : LOCATE 3, 15: COLOR 11 PRINT USING "RELATIVITEIT: tijddilatatie beta .##"; beta LOCATE 28, 1: COLOR 3: PRINT "(-> SPATIE...)" LOCATE 24, 15: COLOR 7: PRINT "eigen retourtijd klok 1.........: "; COLOR 11: PRINT USING "##.#"; t0 LOCATE 25, 15: COLOR 7: PRINT "eigen retourtijd klok 2.........: "; COLOR 10: PRINT USING "##.#"; tt0 LOCATE 26, 15: COLOR 7: PRINT "retourtijd klok 2 volgens klok 1: "; COLOR 11: PRINT USING "##.#"; t0 klok: WHILE y >= 0 AND y <= w AND yy >= 0 AND yy <= w AND x < w * 1.3 * 1.95 GOSUB tekenklok y0 = y: y = y + dy x0 = x: x = x + dx yy0 = yy: yy = yy + dyy t0 = t0 + dt0: tt0 = tt0 + dtt0 t = TIMER: WHILE TIMER - t < .01: WEND WEND IF x >= w * 1.3 * 1.95 THEN LINE (-1.3 * .05 * w, 0)-(1.3 * 1.95 * w, w), 0, BF '''wissen x = 0 END IF IF y < 0 THEN y = 0: dy = -dy: tel% = tel% + 1: t0 = tel% LOCATE 24, 15: COLOR 7: PRINT "eigen retourtijd klok 1.........: "; COLOR 11: PRINT USING "##.#"; t0 END IF IF y > w THEN y = w: dy = -dy LOCATE 24, 15: COLOR 7: PRINT "eigen retourtijd klok 1.........: "; COLOR 11: PRINT USING "##.#"; t0 END IF IF yy < 0 THEN yy = 0: dyy = -dyy: ttel% = ttel% + 1: tt0 = ttel% LOCATE 25, 15: COLOR 7: PRINT "eigen retourtijd klok 2.........: "; COLOR 10: PRINT USING "##.#"; tt0 LOCATE 26, 15: COLOR 7: PRINT "retourtijd klok 2 volgens klok 1: "; COLOR 11: PRINT USING "##.#"; t0 END IF IF yy > w THEN yy = w: dyy = -dyy LOCATE 25, 15: COLOR 7: PRINT "eigen retourtijd klok 2.........: "; COLOR 10: PRINT USING "##.#"; tt0 LOCATE 26, 15: COLOR 7: PRINT "retourtijd klok 2 volgens klok 1: "; COLOR 11: PRINT USING "##.#"; t0 END IF GOTO klok END tekenklok: CIRCLE (0, y0), 1, 0 LINE (x0, 0)-(x0, w), 0 CIRCLE (x0, yy0), 1, 0 PSET (x0, yy0), 14 LINE (0, 0)-(0, w), 3 CIRCLE (0, y), 1, 14 LINE (x, 0)-(x, w), 2 CIRCLE (x, yy), 1, 14 FOR dum = 1 TO 100: NEXT a$ = INKEY$ IF a$ = " " THEN GOTO vraagklok RETURN END SUB SUB gedanken CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: klank en licht 1/3" PLAY "l21o3gp21fp21ep21d" PRINT : COLOR 15 PRINT "De meesten van ons hebben een hardnekkig want 'duidelijk' begrip van de ruimte" PRINT "als een entiteit buiten elk tijdsverband, en van de tijd als een universele " PRINT "parameter, die altijd en overal de ruimte 'bestrijkt' maar er verder onaf-" PRINT "hankelijk van is." PRINT PRINT "In de huidige opvattingen over de ruimtetijd is er geen plaats voor op zichzelf" PRINT "staande ruimte en tijd. Ja maar, zegt u, we kunnen toch te allen tijde een" PRINT "meting doen, en hiervoor kiezen tussen een klok of een meetstaaf? Daarbij" PRINT "vergeet u dan te melden van welke klokken en meetstaven uw klok en meetstaaf" PRINT "zelf gebruik horen te maken. En dan vallen we weer terug op de lichtklok," PRINT "een uitwisseling van signalen tussen haar eindpunten." PRINT PRINT "Ter verduidelijking van hoe dit in zijn werk gaat, verzinnen we hier even een" PRINT "gedachtenexperiment." PRINT PRINT "In Blindenland heeft de infanterie kampioen rolschaatsers in dienst genomen" PRINT "om in stedelijke omgevingen eskadrons te laten opereren met behulp van een " PRINT "geperfectioneerd sonar-systeem. Dat gaat zo: elke pion in het rooster zendt" PRINT "zijn sonar uit en ontvangt een wirwar van respons, maar hieruit filtert" PRINT "hij met gemak de samenvallende en sterke respons van zijn meest nabije buren" PRINT "die op gelijke afstand van hem staan." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: klank en licht 2/3" PRINT : COLOR 15 PRINT "Een hoek van het eskadron wordt bezet door een officier, Eenoog, die nog" PRINT "een behoorlijk zicht heeft. Deze nu kan het hele eskadron met een" PRINT "gelijkmatige snelheid de vier windstreken in sturen." PRINT "Inderdaad, bij de minste verplaatsing van een zijner buren valt het hoofdsignaal" PRINT "voor elke betrokkene uiteen. Hij zet zich dan onmiddellijk in beweging, zodat" PRINT "de samenhang ervan weer wordt hersteld. Wat gebeurt er met het eskadron?" PRINT PRINT "Loodrecht op de bewegingsrichting verandert er niet veel, omdat de symmetrie" PRINT "van de respons niet gebroken wordt (wel: responsdilatatie!). In de bewegings-" PRINT "richting echter moet het geluid nu andere afstanden heen en weer afleggen." PRINT "Bovendien zou de langsrespons achterblijven bij de transversale respons, als" PRINT "de afstand tussen achtervolgers ongewijzigd blijft. Dat gaan zij verhelpen" PRINT "door elkaar iets te naderen: Lengtecontractie! Responsisotropie!" PRINT PRINT "U merkt nu dus op, ja maar, zij worden toch wel zelf hun beweging gewaar" PRINT "en kunnen hun veranderde posities en responstijden vergelijken met meters en" PRINT "polshorloges." PRINT PRINT "Bon. Plaats hen nu in vliegende schotels waar zij niets anders waarnemen" PRINT "dan tikkende sonars en sturings-joysticks. Merk terloops op dat de grootste " PRINT "snelheid die het eskadron zo kan bereiken die is van het geluid, drager van het" PRINT "sonarsignaal. U zegt, ja maar, stilstaande en bewegende eskadrons zijn het" PRINT "nog altijd eens over hun onderlinge vervormingen, zolang zij maar 'gelijktijdig'" PRINT "uitgevoerde metingen (dus toch nog ergens horloges) vergelijken." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: klank en licht 3/3" PRINT : COLOR 15 PRINT "Bon. Bekijk nu een eskadron elementaire deeltjes, en vervang de sonar" PRINT "door lichtsignalen. Gedaan met vergelijkings-staven en -klokken. Alvorens" PRINT "tijden en afstanden te gaan meten moeten we eerst definities bedenken" PRINT "van wat we bedoelen met 'terzelfdertijd' en 'vaste punten'." PRINT PRINT "We zitten in het diepste weefsel van de ruimtetijd, waar lichtklokken de" PRINT "ultieme klokken Šn meters zijn, door geen andere te ijken." PRINT "Blijkt dat onderling bewegende objecten het op een nieuwe manier eens zijn:" PRINT "zij zien Elkaar vervormd, en wel in Gelijke mate. Het is onmogelijk" PRINT "eenduidig te beslissen over wie stilstaat of beweegt, en hoe snel." wacht END SUB SUB hippo CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: een hippo-these 1/2" PLAY "l21o3gp21fp21ep21d" PRINT : COLOR 15 PRINT "We gaan hier eens nader in op het wezenlijk verband tussen lichtklokken" PRINT "en materie. Op makroschaal is het niet moeilijk lichtklokken te zien" PRINT "als een handig hulpmiddel om waarnemers op grote afstand ten opzichte" PRINT "van elkaar te situeren met behulp van spiegels. " PRINT PRINT "Op mikroschaal is dat moeilijker. Een eerste probleem vormt de verbinding" PRINT "tussen de retourpunten. In de ultieme lichtklok is die niet materieel, zo ja" PRINT "kan zij ontbonden worden in een stelsel subklokken. De retourpunten zijn dus" PRINT "niet 'onderling bevestigd'. Maar dat betekent dat zij uit elkaar zouden gaan," PRINT "want licht is drager van impuls en energie en zou bij elke retour het punt" PRINT "wat verder doen afdrijven. " PRINT PRINT "We kunnen opmerken dat dit gepareerd wordt door de buurklokken. Maar we" PRINT "kunnen ons 'eskadron' moeilijk oneindig groot maken om elk punt te compenseren!" PRINT "We moeten dus op zoek naar externe krachten. Als we een materieel deeltje" PRINT "beschouwen als zijnde geinfesteerd door een nest lichtklokken, kunnen we" PRINT "ons voorstellen dat rond dit punt zwaartekrachtkromming of iets equivalents" PRINT "ontstaat, die de straling 'binnenhoudt'." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: een hippo-these 2/2" PRINT : COLOR 15 PRINT "Of nog: ons eskadron zakt door onder zijn eigen gewicht en blijft aldus bijeen!" PRINT "(vergelijk met het beeld van een sinaasappel op een vlies ter verklaring" PRINT "van zwaartekrachtkromming). Maar het beeld van de infanterie doet ook andere" PRINT "verschijnselen begrijpen, zoals interactie tussen deeltjes (elkaar passerende" PRINT "eskadrons snoepen deelgroepen van elkaar af door 'overvloeiing'); en spleet-" PRINT "diffractie (twee nabije vernauwingen, met hun eigen kanaliserende inzakkingen," PRINT "doen het eskadron even uiteen- en vervolgens weer ineenvloeien." PRINT PRINT "Het tweede probleem van lichtklokken zijn hun spiegels. Ook hier, zouden we" PRINT "op mikroschaal in een cirkelredenering belanden door ze te beschouwen als" PRINT "materiele punten (ter ondersteuning van lichtklokken, dus ter ondersteuning" PRINT "van materie...). Als pareerposten voor de lichtenergie zijn ze niet nodig" PRINT "gezien het bovenstaande. Het lijkt dan ook verdedigbaar om ze verder gewoon" PRINT "buiten beschouwing te laten. We hebben nu een eskadron zonder infanteristen, " PRINT "met enkel sonarsystemen..." PRINT PRINT "Een en ander komt er uiteindelijk op neer materie GELIJK te stellen met" PRINT "conglomeraten van lichtklokken. Massa is een truuk om lichtenergie te" PRINT "transporteren met infra-lichtsnelheden! Dit via de weeftechniek van heen en" PRINT "weer flitsende lichtstralen. Is dit nu zo'n paardegedacht?" PRINT wacht END SUB SUB intro CLS : LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: meetkunde 1/3" PLAY "l21o3gp21fp21ep21d" PRINT : COLOR 15 PRINT "De relativiteit wordt vaak niet begrepen omdat zij opgebouwd wordt op " PRINT "algebraische in plaats van meetkundige gronden. De laatste zijn nochtans een " PRINT "basis voor een theorie van de ruimte. Wij trachten hieraan te verhelpen." PRINT PRINT "De meetkundige basisonderstellingen voor de relativiteit beschrijven het gedrag " PRINT "van 'lichtklokken'. Een lichtklok kan beschreven worden als een heen en weer" PRINT "schietende lichtstraal tussen twee vaste punten. In feite geldt niet: als het " PRINT "twee vaste punten zijn is het een lichtklok, maar: vaste punten zijn eindpunten" PRINT "van lichtklokken. En lichtklokken zijn lichtklokken als zij in de pas" PRINT "blijven lopen met willekeurige andere lichtklokken." PRINT PRINT "Lichtklokken zijn dus periodische fenomenen, zoals andere klokken. Het verschil " PRINT "ligt erin dat zij andere klokken 'sturen' maar door geen andere 'gestuurd " PRINT "worden'. Het zijn dus de ultieme klokken, afhankelijk van het " PRINT "voortplantingsgedrag van licht, en de materie schikt zich ernaar. Zo wordt het " PRINT "verschillend gedrag van materie in beweging en in rust begrijpelijk." PRINT PRINT "De ironie van de ontwikkeling van de theorie wordt het best vertolkt door de " PRINT "fameuze proef van Michelson-Morley te herkennen als een proef op lichtklokken " PRINT "die men wilde 'betrappen' op niet-klokvast gedrag." PRINT PRINT "Nu we lichtklokken kennen, ziehier de basishypothesen voor de relativiteit van " PRINT "lineaire beweging." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: meetkunde 2/3" PRINT : COLOR 15 PRINT "1. Loodrecht op de beweging blijven lichtklok- (en dus materiele) lengten " PRINT "onveranderd. " PRINT "Hieruit volgt de tijddilatatie: het licht moet een langere weg afleggen in een " PRINT "lichtklok in beweging dan in een stilstaande, voor een gegeven waarnemer." PRINT PRINT "2. De tijd is isotropisch voor gelijke lichtklokken. " PRINT "Gelijke lichtklokken met een gemeenschappelijk eindpunt worden gedefinieerd als " PRINT "hebbende eenzelfde lichtkloktijd. Dat is immers het enige criterium ter " PRINT "beschikking van materie om het tijdsverloop volgens verschillende " PRINT "lichtorientaties te vergelijken." PRINT "Hieruit volgt de lengtecontractie: het licht volgens de bewegingsrichting moet " PRINT "immers een andere weg afleggen als loodrecht erop (waar de 'lengte' ongewijzigd " PRINT "blijft, hypothese 1)." PRINT PRINT "De toepassing van 2. voor zowel waarnemers 'in rust' als 'in beweging' leidt " PRINT "tot de relativiteit van gelijktijdigheid. Voor een lichtklok 'in rust' halveert " PRINT "het retourpunt (per definitie) de kloktijd (heen en weer). Een waarnemer in " PRINT "beweging doet hetzelfde met lichtklokken in rust ten opzichte van hemzelf. " PRINT "Beide waarnemers zien elkaars lichtklokken asymmetrisch: het retourpunt " PRINT "halveert niet langer de kloktijd." PRINT PRINT "Men begrijpt nu ook de constante lichtsnelheid: alle waarnemers zijn het erover " PRINT "eens dat gelijke lichtklokken gelijke kloktijden registreren. De lichtsnelheid, " PRINT "twee maal de kloklengte (heen en weer) gedeeld door de kloktijd, is dus " PRINT "constant." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: meetkunde 3/3" PRINT : COLOR 15 PRINT "Meten en kijken: verwarring over waarnemen." PRINT PRINT "In de meeste uiteenleggingen over relativiteit heerst voortdurend verwarring " PRINT "over het begrip waarnemen. De lengtecontractie is een meetresultaat. Zelfs zo " PRINT "moet het licht nog verschillende wegen afleggen vanuit de verschillende punten " PRINT "tot de waarnemer, opdat die het voorwerp ook kan 'zien'. Het ogenblikkelijk " PRINT "geziene voorwerp is dus nog wat anders dan het ogenblikkelijke voorwerp van" PRINT "'meting', dat een eerder abstract bestaan leidt..." PRINT PRINT "Dit programma 'bekijkt' daarom eens nader het verschil tussen meten en" PRINT "kijken in het geval van een 'eenvoudige', lineaire en eendimensionale," PRINT "beweging. Hopelijk relativeert u hierna correct..." PRINT : PRINT COLOR 7 PRINT "Voor wie het interesseert volgen hier formules." PRINT PRINT "Gegeven : Eigenlengte L0; Meetsnelheid beta=v/c" PRINT "Meetlengte : L=L0*SQR(1-beta*beta)" PRINT "Kijklengten : nadering=L/(1-beta) ; verwijdering=L/(1+beta)" PRINT "Kijksnelheden: nadering=beta/(1-beta); verwijdering=beta/(1+beta)" PRINT PRINT "Merk op dat de kijklengte bij nadering zelfs een dilatatie vertoont," PRINT "en dat de kijksnelheid bij nadering vanaf beta=.5 de lichtsnelheid overtreft," PRINT "daarentegen bij verwijdering niet boven de halve lichtsnelheid uitkomt!" wacht END SUB SUB kijken 'dumm=100 dy = 2 opnieuw: CLS CALL BetaKeus: IF ABS(beta) < .1 OR ABS(beta) > .9 THEN EXIT SUB CLS : kijkintro: CLS LOCATE 3, 15: COLOR 11: PRINT "RELATIVITEIT: verschil tussen meten en kijken" LOCATE 5, 29: COLOR 7: PRINT "(geval van eenparige beweging)" LOCATE 9, 1: COLOR 3: PRINT " *** (x,ct) - ruimtetijd " LOCATE 11, 1: COLOR 7: PRINT " *** x - as" LOCATE 13, 1: COLOR 14: PRINT " *** waarnemer, en voorwerp met eigenlengte L0" LOCATE 15, 1: COLOR 10: PRINT " *** bewegend voorwerp zoals gemeten (meetlijn lengte L)" LOCATE 17, 1: COLOR 15: PRINT " *** lichtlijnen voor ogenblikkelijke waarneming" LOCATE 19, 1: COLOR 12: PRINT " *** bewegend voorwerp zoals gezien (kijklijn lengten L- en L+)" LOCATE 22, 1: COLOR 11 PLAY "l21o3gp21fp21ep21d" beta = ABS(beta) PRINT USING " -> snelheid beta (=v/c) : #.##"; beta PRINT INPUT " -> Eigenlengte L0 (tussen 0 en 100).............. : ", len0 IF len0 < 0 OR len0 > 100 THEN PLAY "l12o4d": EXIT SUB COLOR 15: PRINT " Spoor: 1= van lichtlijnen" COLOR 12: PRINT " 2= van kijklijnen" COLOR 10: PRINT " 3= van meetlijnen" COLOR 15: PRINT " 0= geen spoor" COLOR 11: LOCATE CSRLIN - 3, 52 INPUT " -> SPOOR: ", spoor% IF spoor% <> 1 AND spoor% <> 2 AND spoor% <> 3 THEN spoor% = 0 leng = len0 * SQR(1 - beta ^ 2) t0 = 1.5 * leng / beta: t1 = 2.5 * leng / beta w = 150: wx = -w * .87: ww = wx - 5: www = wx + 5 yend = t1: IF yend < w THEN yend = w CLS WINDOW (-1.3 * w, -w)-(1.3 * w, w) COLOR 10: PRINT "Meten..." PRINT COLOR 12: PRINT "Kijken..." x10 = 0: y10 = 0: x20 = 0: y20 = 0: yw0 = 0 y = -w * .8 '''y<0 = 'Links' WHILE y < 0 - dy yw = y + dy: y = yw xm = yw * beta x1 = xm / (1 - beta): y1 = yw / (1 - beta) x2 = x1 - leng / (1 - beta): y2 = y1 - leng / (1 - beta) GOSUB links: GOSUB assen t = TIMER: WHILE TIMER - t < .01: WEND WEND 'y>=0 LINE (x20, y20)-(x10, y10), 0: LINE -(0, yw0), 0 PSET (x20, y20), 10: PSET (x10, y10), 10 ''' 'Midden' WHILE y < leng / beta - dy yw = y + dy: y = yw xm = beta * yw IF ABS(y1) > w THEN GOTO verder GOSUB midden: GOSUB assen t = TIMER: WHILE TIMER - t < .01: WEND WEND 'y>=leng/beta = 'Rechts' LINE (x20, y20)-(0, yw0), 0: LINE -(x10, y10), 0 PSET (x20, y20), 10: PSET (x10, y10), 10 WHILE y < yend - dy yw = y + dy: y = yw xm = beta * yw x1 = xm / (1 + beta): y1 = x1 / beta x2 = x1 - leng / (1 + beta): y2 = y1 + leng / (1 + beta) IF ABS(y1) > w THEN GOTO verder GOSUB rechts: GOSUB assen t = TIMER: WHILE TIMER - t < .01: WEND WEND verder: links = leng / (1 - beta) LINE (0, ww)-(-links, ww - 6), 6, B '''gezien 'links' info: LOCATE 1, 1 COLOR 11: PRINT " Lengten:" COLOR 14: PRINT USING "eigenlengte ###"; len0 COLOR 10: PRINT USING "meting beweging ###"; leng COLOR 6: PRINT USING "kijk nadering ######"; leng / (1 - beta) COLOR 12: PRINT USING "kijk verwijdering ###"; leng / (1 + beta) PRINT COLOR 11: PRINT " Snelheden:" COLOR 10: PRINT USING "beweging .##"; beta COLOR 6: PRINT USING "kijk nadering ###.##"; beta / (1 - beta) COLOR 12: PRINT USING "kijk verwijdering .##"; beta / (1 + beta) PRINT 'COLOR 11: PRINT "-> Druk een toets..." 'PLAY "l12o4d": SLEEP: a$ = INKEY$: wacht GOTO opnieuw EXIT SUB links: '''wissen CIRCLE (0, yw0), 2, 0 LINE (x20, y20)-(x10, y10), 0: LINE -(0, yw0), 0 LINE (x20, yw0)-(x10, yw0), 0: LINE -(0, yw0), 0 LINE (x20, ww)-(x10, ww - 6), 0, B LINE (xm0, yw0)-(xm0 - leng, yw0), 0 '''meting LINE (xm0 - leng, www)-(xm0, www + 6), 0, B '''gemeten '''tekenen CIRCLE (0, yw), 2, 14 '''waarnemer LINE (xm, yw)-(xm - leng, yw), 2 '''meting LINE (x2, y2)-(x1, y1), 15: LINE -(0, yw), 7 '''kijklijnen licht LINE (x2, yw)-(x1, yw), 12 '''kijklijnen instant LINE (x2, ww)-(x1, ww - 6), 12, B LINE (xm - leng, www)-(xm, www + 6), 10, B '''gemeten '''spoor IF spoor% = 1 AND y20 > www THEN LINE (x20, y20)-(x10, y10), 7 IF spoor% = 2 THEN LINE (x20, yw0)-(x10, yw0), 6 IF spoor% = 3 THEN LINE (xm0, yw0)-(xm0 - leng, yw0), 2 PSET (x20, y20), 10: PSET (x10, y10), 10 PSET (xm0, yw0), 10: PSET (xm0 - leng, yw0), 10 PSET (x20, yw0), 12: PSET (x10, yw0), 12 'FOR dum = 1 TO dumm: NEXT dum x10 = x1: y10 = y1: x20 = x2: y20 = y2: yw0 = yw: xm0 = xm RETURN midden: x2 = (xm - leng) / (1 - beta): y2 = (-leng + yw) / (1 - beta) x1 = xm / (1 + beta): y1 = x1 / beta '''wissen CIRCLE (0, yw0), 2, 0 LINE (x20, yw0)-(x10, yw0), 0 LINE (x20, y20)-(0, yw0), 0: LINE -(x10, y10), 0 LINE (x20, ww)-(x10, ww - 6), 0, B LINE (xm0, yw0)-(xm0 - leng, yw0), 0 '''meting LINE (xm0 - leng, www)-(xm0, www + 6), 0, B '''gemeten LINE (xm0, www - 3)-(xm0, www + 3), 0 '''tekenen CIRCLE (0, yw), 2, 14 LINE (xm, yw)-(xm - leng, yw), 2 '''meting LINE (x2, y2)-(0, yw), 15: LINE -(x1, y1), 15 LINE (x2, yw)-(x1, yw), 12 LINE (x2, ww)-(x1, ww - 6), 12, B LINE (xm - leng, www)-(xm, www + 6), 10, B '''gemeten '''spoor IF spoor% = 1 THEN LINE (x20, y20)-(0, yw0), 7: LINE -(x10, y10), 7 IF spoor% = 2 THEN LINE (x20, yw0)-(x10, yw0), 6 IF spoor% = 3 THEN LINE (xm0, yw0)-(xm0 - leng, yw0), 2 PSET (x20, y20), 10: PSET (x10, y10), 10 PSET (xm0, yw0), 10: PSET (xm0 - leng, yw0), 10 PSET (x20, yw0), 12: PSET (x10, yw0), 12 'FOR dum = 1 TO dumm: NEXT dum x10 = x1: y10 = y1: x20 = x2: y20 = y2: yw0 = yw: xm0 = xm RETURN rechts: '''wissen CIRCLE (0, yw0), 2, 0 LINE (x10, y10)-(x20, y20), 0: LINE -(0, yw0), 0 LINE (0, yw0)-(x20, yw0), 0: LINE -(x10, yw0), 0 LINE (x20, ww)-(x10, ww - 6), 0, B LINE (xm0, yw0)-(xm0 - leng, yw0), 0 '''meting LINE (xm0 - leng, www)-(xm0, www + 6), 0, B '''gemeten LINE (xm0, www - 3)-(xm0, www + 3), 0, B '''tekenen CIRCLE (0, yw), 2, 14 LINE (xm, yw)-(xm - leng, yw), 2 '''meting LINE (x1, y1)-(x2, y2), 15: LINE -(0, yw), 7 LINE (x2, yw)-(x1, yw), 12 LINE (x2, ww)-(x1, ww - 6), 12, B LINE (xm - leng, www)-(xm, www + 6), 10, B '''gemeten '''spoor IF spoor% = 1 AND y20 < w THEN LINE (x10, y10)-(x20, y20), 7 IF spoor% = 2 THEN LINE (x20, yw0)-(x10, yw0), 6 IF spoor% = 3 THEN LINE (xm0, yw0)-(xm0 - leng, yw0), 2 PSET (x20, y20), 10: PSET (x10, y10), 10 PSET (xm0, yw0), 10: PSET (xm0 - leng, yw0), 10 PSET (x20, yw0), 12: PSET (x10, yw0), 12 'FOR dum = 1 TO dumm: NEXT dum x10 = x1: y10 = y1: x20 = x2: y20 = y2: yw0 = yw: xm0 = xm RETURN assen: LINE (-w * 1.3, 0)-(w * 1.3, 0), 3 '''x LINE (0, -w * .8)-(0, w), 3 '''ct LINE (len0, -3)-(len0, 3), 14: LINE (-3, len0)-(3, len0), 14 '''len0 ; 0 LINE (-len0, -3)-(-len0, 3), 14 '''-len0 LINE (-w * 1.3, wx)-(-len0, wx), 7: LINE (0, wx)-(w * 1.3, wx), 7 '''x LINE (len0, wx - 3)-(len0, wx + 3), 14 '''len0 LINE (-len0, wx - 3)-(0, wx + 3), 14, B '''eigenlengte CIRCLE (0, wx), 2, 14 '''waarnemer COLOR 15 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" LOCATE 28, 76: PRINT "x" COLOR 10: LOCATE 19, 74: PRINT USING "####"; xm COLOR 12: LOCATE 20, 72: PRINT USING "######"; x1 COLOR 14: LOCATE 2, 35: PRINT USING "####"; yw RETURN END SUB SUB kijkintro '''ruimten van ogenblikkelijke waarneming '''in rust CLS COLOR 11 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" klr% = 12: tit$ = "Kijkruimten volgens xt ": CALL titel FOR y = -w TO w * .8 STEP 3 CIRCLE (0, y - 3), 2, 0: LINE -(0, y), 11 '''wissen LINE (-w * 1.3, y - 3)-(w * 1.3, y - 3), 0 LINE (-w * 1.3, y - 3 - w * 1.3)-(0, y - 3), 0: LINE -(w * 1.3, y - 3 - w * 1.3), 0 LINE (-w * 1.3, 0)-(w * 1.3, 0), 11 '''x-as LINE (0, -w)-(0, w), 11 '''ct-as LINE (-w * 1.3, y - w * 1.3)-(0, y), 14: LINE -(w * 1.3, y - w * 1.3), 14 '''lichtlijnen LINE (-w * 1.3, y)-(w * 1.3, y), 12 '''kijklijnen CIRCLE (0, y), 2, 7 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y LINE (-w * 1.3, 0)-(w * 1.3, 0), 11 LINE (0, -w)-(0, w), 11 wacht '''in beweging CLS klr% = 12: tit$ = "Kijkruimten volgens x't' ": CALL titel COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" y0 = -w FOR y = y0 TO w * .8 STEP 3 '''lichtlijnen LINE (-1.3 * w, (1 - beta * beta) * y0 - beta * 1.3 * w)-(1.3 * w, (1 - beta * beta) * y0 + beta * 1.3 * w), 0'''wissen CIRCLE (beta * y0, y0), 2, 0: LINE -(beta * y, y), 10 LINE (beta * y0 - 2 * w, y0 - 2 * w)-(beta * y0, y0), 0: LINE -(beta * y0 + 2 * w, y0 - 2 * w), 0 LINE (-1.3 * w, beta * -1.3 * w)-(1.3 * w, beta * 1.3 * w), 10 '''x'-as LINE (-w * beta, -w)-(w * beta, w), 10 '''ct'-as LINE (beta * y - 2 * w, y - 2 * w)-(beta * y, y), 14: LINE -(beta * y + 2 * w, y - 2 * w), 14 '''lichtlijnen LINE (-1.3 * w, (1 - beta * beta) * y - beta * 1.3 * w)-(1.3 * w, (1 - beta * beta) * y + beta * 1.3 * w), 12'''kijklijnen CIRCLE (beta * y, y), 2, 10 y0 = y t = TIMER: WHILE TIMER - t < .01: WEND NEXT y LINE (-1.3 * w, beta * -1.3 * w)-(1.3 * w, beta * 1.3 * w), 10 LINE (-w * beta, -w)-(w * beta, w), 10 klr% = 12: tit$ = "Kijkruimten volgens x't' ": CALL titel COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" wacht END SUB SUB Lklok '''Interpretatie van lichtklokken '''lichtklok in beweging door waarnemer 'rust' CLS LINE (-w * beta, -w)-(w * beta, w), 2 '''lichtklokken LINE (-w * beta - leng, -w)-(w * beta - leng, w), 7 LINE (-w * beta + leng, -w)-(w * beta + leng, w), 7 y0 = leng / (1 - beta) + leng / (1 + beta) FOR i = -2 TO 1 y = i * y0 LINE (y * beta, y)-(y * beta + leng / (1 - beta), y + leng / (1 - beta)), 14 LINE -((y + y0) * beta, y + y0), 14 LINE -(y * beta - leng / (1 + beta), y + leng / (1 + beta)), 14 LINE -(y * beta, y), 14 NEXT i y0 = 2 * len0 '''ruimteassen dy = y0 / 50 klr% = 3: tit$ = "Lichtkl. bew. gezien dr. rust": CALL titel FOR i = -2 TO 1 FOR k = 0 TO 49 IF k MOD 25 = 0 THEN y = i * y0 + k * dy x = y * beta LINE (x - leng, y)-(x + leng, y), 8 END IF NEXT k NEXT i LINE (-w * 1.3, 0)-(w * 1.3, 0), 11 LINE (0, -w)-(0, w), 11 COLOR 11 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" wacht '''lichtklok 'rust' door waarnemer in beweging CLS LINE (-w * 1.3, 0)-(w * 1.3, 0), 3 '''x-as LINE (0, -w)-(0, w), 3 '''ct-as LINE (-len0, -w)-(-len0, w), 7: LINE (len0, -w)-(len0, w), 7 '''lichtklokken y0 = 2 * len0 FOR i = -2 TO 2 y = i * y0 LINE (0, y)-(len0, y + len0), 14: LINE -(0, y + y0), 14 LINE -(-len0, y + len0), 14: LINE -(0, y), 14 NEXT i y0 = leng / (1 - beta) + leng / (1 + beta) '''ruimteassen dy = y0 / 50 klr% = 2: tit$ = "Lichtkl. rust gezien dr. bew.": CALL titel FOR i = -2 TO 1 FOR k = 0 TO 49 IF k MOD 25 = 0 THEN y = i * y0 + k * dy LINE (-len0, y + beta * (-len0 - beta * y))-(len0, y + beta * (len0 - beta * y)), 8 END IF NEXT k NEXT i LINE (-1.3 * w, beta * -1.3 * w)-(1.3 * w, beta * 1.3 * w), 10 LINE (-w * beta, -w)-(w * beta, w), 10 COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" wacht END SUB SUB Lklok01 CLS g = 1 / SQR(1 - beta * beta) rr = 1: ww = -.4 * w: cc = 10 klr% = 11: tit$ = "Lichtkl. rust gezien dr. bew.": CALL titel IF beta > 0 THEN xi1 = leng / ((1 + beta) * g): yi1 = xi1 '''/g ...? xi2 = -leng / ((1 - beta) * g): yi2 = -xi2 ELSE xi1 = -len0 / ((1 - beta) * g): yi1 = -xi1 xi2 = len0 / ((1 + beta) * g): yi2 = xi2 END IF FOR yi = 0 TO yi1 STEP (yi1 + yi2) * .01 '''voorgaande wissen LINE (xx, yy)-(xxx, yyy), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as '''hertekenen LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 LINE (0, 0)-(x, y), 2: LINE (0, 0)-(0, y0), 3 PSET (xx, yy), 14: PSET (xxx, yyy), 14 '''berekenen xi = -beta * yi IF beta > 0 THEN xxi = -yi: xxxi = yi ELSE xxxi = -yi: xxi = yi END IF y0 = g * (yi + beta * xi) ''' x0=g(xi+beta xi) = 0 : langs y-as x = g * (0 + beta * yi): y = g * (yi + 0) ''' langs yi = y'-as xx = g * (xxi + beta * yi): yy = g * (yi + beta * xxi) xxx = g * (xxxi + beta * yi): yyy = g * (yi + beta * xxxi) '''tekenen LINE (xx, yy)-(xxx, yyy), 8 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT yi '''laatste wissen ' '''onthouden x1 = x: y1 = y xxx1 = xxx: yyy1 = yyy FOR yi = yi1 TO yi2 STEP (yi1 + yi2) * .01 '''voorgaande wissen LINE (xx, yy)-(xxx, yyy), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as '''hertekenen LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 LINE (0, 0)-(x, y), 2: LINE (0, 0)-(0, y0), 3 PSET (xx, yy), 14: PSET (xxx, yyy), 14 '''berekenen xi = -beta * yi IF -beta > 0 THEN xxi = xi1 + (yi - yi1) xxxi = yi ELSE xxi = xi1 - (yi - yi1) xxxi = -yi END IF y0 = g * (yi + beta * xi) ''' x0=g(xi+beta xi) = 0 : langs y-as x = g * (0 + beta * yi): y = g * (yi + 0) ''' langs yi = y'-as xx = g * (xxi + beta * yi): yy = g * (yi + beta * xxi) xxx = g * (xxxi + beta * yi): yyy = g * (yi + beta * xxxi) '''tekenen LINE (xx, yy)-(xxx, yyy), 8 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT yi LINE (-w, y - 1)-(w, y - 1), 0 '''laatste wissen '''laatste wissen ' '''onthouden x2 = x: y2 = y xxx2 = xxx: yyy2 = yyy FOR yi = yi2 TO yi1 + yi2 STEP (yi1 + yi2) * .01 '''voorgaande wissen LINE (xx, yy)-(xxx, yyy), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as CIRCLE (0, y0), rr, 0 CIRCLE (x, y), rr, 0 LINE (xx, y - 1)-(xxx, y - 1), 0 '''hertekenen LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 LINE (0, 0)-(x, y), 2: LINE (0, 0)-(0, y0), 3 PSET (xx, yy), 14: PSET (xxx, yyy), 14 '''berekenen xi = -beta * yi IF -beta > 0 THEN xxi = xi1 + (yi - yi1) xxxi = xi2 - (yi - yi2) ELSE xxi = xi1 - (yi - yi1) xxxi = xi2 + (yi - yi2) END IF y0 = g * (yi + beta * xi) ''' x0=g(xi+beta xi) = 0 : langs y-as x = g * (0 + beta * yi): y = g * (yi + 0) ''' langs yi = y'-as xx = g * (xxi + beta * yi): yy = g * (yi + beta * xxi) xxx = g * (xxxi + beta * yi): yyy = g * (yi + beta * xxxi) '''tekenen LINE (xx, yy)-(xxx, yyy), 8 PSET (xx, yy), 14: PSET (xxx, yyy), 14 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT yi '''hertekenen CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as CIRCLE (0, y0), rr, 0 CIRCLE (x, y), rr, 0 LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 LINE (x1, y1)-(xxx1, yyy1), 8: LINE (x2, y2)-(xxx2, yyy2), 8 LINE (0, y0)-(x, y), 8 LINE (0, 0)-(0, y0), 11 LINE (-w, -x * w / y)-(w, x * w / y), 2: LINE (0, 0)-(x, y), 10 LINE (-w, ww)-(w, ww), 2 CIRCLE (0, ww), rr, 11 ''' x-as CIRCLE (x, ww), rr, cc: COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" LOCATE 21, 76: PRINT "x'" wacht END SUB SUB Lklok10 CLS rr = 1: ww = -.4 * w: cc = 10 klr% = 10: tit$ = "Lichtkl. bew. gezien dr. rust": CALL titel IF beta > 0 THEN x1 = -leng / (1 + beta): y1 = -x1 x2 = leng / (1 - beta): y2 = x2 ELSE x1 = leng / (1 - beta): y1 = x1 x2 = -leng / (1 + beta): y2 = -x2 END IF FOR y = 0 TO y1 '''voorgaande wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as CIRCLE (0, y - 1), rr, 0 CIRCLE (x, y - 1), rr, 0 LINE (xx, y - 1)-(xxx, y - 1), 0 '''hertekenen PSET (xx, y - 1), 14: PSET (xxx, y - 1), 14 LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 '''berekenen x = beta * y xx = -y xxx = y '''tekenen LINE (xx, y)-(xxx, y), 8 LINE (0, 0)-(0, y), 3: LINE (0, 0)-(x, y), 2 PSET (xx, y), 14: PSET (xxx, y), 14 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT y '''laatste wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (0, y - 1), rr, 0 CIRCLE (x, y - 1), rr, 0 LINE (xx, y - 1)-(xxx, y - 1), 0 FOR y = y1 TO y2 '''voorgaande wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as LINE (xx, y - 1)-(xxx, y - 1), 0 '''hertekenen PSET (x, y - 1), cc PSET (xx, y - 1), 14: PSET (xxx, y - 1), 14 LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 '''berekenen x = beta * y IF beta > 0 THEN xx = x1 + (y - y1) xxx = y ELSE xx = x1 - (y - y1) xxx = -y END IF '''tekenen LINE (xx, y)-(xxx, y), 8 PSET (xx, y), 14: PSET (xxx, y), 14 LINE (0, 0)-(0, y), 3: LINE (0, 0)-(x, y), 2 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT y LINE (-w, y - 1)-(w, y - 1), 0 '''laatste wissen '''laatste wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (0, y - 1), rr, 0 LINE (xx, y - 1)-(xxx, y - 1), 0 FOR y = y2 TO y1 + y2 '''voorgaande wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as LINE (xx, y - 1)-(xxx, y - 1), 0 '''hertekenen LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 PSET (x, y - 1), cc PSET (xx, y - 1), 14: PSET (xxx, y - 1), 14 '''berekenen x = beta * y IF beta > 0 THEN xx = x1 + (y - y1) xxx = x2 - (y - y2) ELSE xx = x1 - (y - y1) xxx = x2 + (y - y2) END IF '''tekenen LINE (xx, y)-(xxx, y), 8 LINE (0, 0)-(0, y), 3: LINE (0, 0)-(x, y), 2 PSET (xx, y), 14: PSET (xxx, y), 14 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT y '''hertekenen CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as CIRCLE (0, y - 1), rr, 0 CIRCLE (x, y - 1), rr, 0 LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 LINE (x1, y1)-(0, y1), 8: LINE (x2, y2)-(0, y2), 8 LINE (0, y1 + y2)-(x, y1 + y2), 8 LINE (-w, 0)-(w, 0), 3: LINE (0, 0)-(0, y - 1), 11 LINE (-w, ww)-(w, ww), 3 LINE (0, 0)-(x, y - 1), 10 CIRCLE (0, ww), rr, 11 ''' x-as CIRCLE (x, ww), rr, cc: COLOR 11 LOCATE 2, 37: PRINT "ct" LOCATE 15, 76: PRINT "x" LOCATE 21, 76: PRINT "x" wacht END SUB SUB menu CLS CLS : LOCATE 3, 15: COLOR 11 PRINT "RELATIVITEIT: de ruimtetijd-structuur" LOCATE 5, 15: COLOR 14 PRINT "Credits: guido wuyts 1997" LOCATE 7, 1: COLOR 11 PRINT " >>> Tekst en uitleg:" PRINT : COLOR 15 PRINT " 1 = de Relativiteit meetkundig 'revisited'" PRINT " 2 = gedachtenexperiment met Sonar" PRINT " 3 = ruimte en tijd voor Ruimtetijd" PRINT " 4 = hippothese of paardegedacht?" PRINT : COLOR 11 PRINT " >>> Graffix:" PRINT : COLOR 15 PRINT " 5 = wereldlijnen: ruimte en tijd" PRINT " 6 = lichtklokken en gelijktijdigheid" PRINT " 7 = lengtecontractie en tijddilatatie" PRINT " 8 = ruimtetijd-structuur" PRINT " 9 = meten en kijken" PRINT " 10= tweelingparadox" PRINT : COLOR 11 PRINT " >>> Einde:" PRINT : COLOR 15 PRINT " 0 of ENTER" PRINT COLOR 11 PLAY "l21o3ep21ep21fp21g" INPUT " -> KEUZE: ", men% END SUB SUB RTassen '''ruimtetijd als weefsel van tijd- en ruimteassen ''' 'rust' CLS FOR x = -w * 1.3 TO w * 1.3 STEP 3 LINE (x, -w)-(x, w), 7: LINE (-w * 1.3, x)-(w * 1.3, x), 7 NEXT x LINE (-1.3 * w, 0)-(1.3 * w, 0), 11: LINE (0, -w)-(0, w), 11 COLOR 11 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" klr% = 15: tit$ = "R-T als weefsel x/ct lijnen ": CALL titel wacht ''' in beweging LOCATE 1, 1: COLOR 0: PRINT " " '''wissen COLOR 0 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" FOR x = -w * 1.3 TO w * 1.3 STEP 3 LINE (x, -w)-(x, w), 8: LINE (-w * 1.3, x)-(w * 1.3, x), 8 NEXT x FOR x = -w * 1.3 TO w * 1.3 STEP 3 LINE (x + beta * -w, -w)-(x + beta * w, w), 2 LINE (-1.3 * w, x + beta * 1.3 * -w)-(1.3 * w, x + beta * 1.3 * w), 2 NEXT x LINE (-1.3 * w, beta * 1.3 * -w)-(1.3 * w, beta * 1.3 * w), 10 LINE (-w * beta, -w)-(w * beta, w), 10 COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" klr% = 10: tit$ = "R-T als weefsel x'/ct' lijnen": CALL titel wacht END SUB SUB RTijking '''ijking tijdruimte : eenheden lengte en tijd CLS klr% = 10: tit$ = "IJking tijdruimte: eenheden ": CALL titel LOCATE 17, 52: COLOR 10: PRINT "x' = 1" LOCATE 9, 38: PRINT "ct' = 1" LINE (-w * 1.3, 0)-(w * 1.3, 0), 7 '''x-as LINE (0, -w)-(0, w), 7 '''ct-as x0 = 30: y0 = x0 '''eenheden ruststelsel db = .01 FOR b = -.9 TO .9 STEP db '''wissen LINE (0, 0)-(yy, xx), 0 LINE (0, 0)-(xx, yy), 0 PSET (yy, xx), 10: PSET (xx, yy), 10 '''eenheidshyperbolen LOCATE 1, 70: COLOR 10: PRINT USING "v/c = #.##"; b y2 = y0 / SQR(1 - b * b): x2 = b * y2 '''tijdas b x1 = y2: y1 = x2 '''ruimteas b LINE (0, 0)-(x1, y1), 2 '''eenheden b LINE (0, 0)-(x2, y2), 2 xx = x2: yy = y2 t = TIMER: WHILE TIMER - t < .05: WEND NEXT b LINE (0, 0)-(yy, xx), 0 '''laatste wissen LINE (0, 0)-(xx, yy), 0 wacht LOCATE 17, 52: COLOR 0: PRINT "x' = 1" '''wissen LOCATE 9, 38: PRINT "ct' = 1" klr% = 15: tit$ = "Eenheden x,t en x',t'(beta) ": CALL titel LOCATE 1, 70: COLOR 10: PRINT USING "v/c = #.##"; beta LINE (-w * 1.3, 0)-(w * 1.3, 0), 7 '''x-as ruststelsel LINE (0, -w)-(0, w), 7 '''ct-as "" LINE (0, 0)-(x0, 0), 15: LINE (0, 0)-(0, y0), 15 '''eenheden ruststelsel COLOR 15 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" b = beta: xb = x0 * SQR(1 - b * b) '''voor b=beta: LINE (-1.3 * w, b * -1.3 * w)-(1.3 * w, b * 1.3 * w), 2 '''x'-as LINE (-w * b, -w)-(w * b, w), 2 '''ct'-as y2 = y0 / SQR(1 - b * b): x2 = b * y2 '''eenheid tijdas x1 = y2: y1 = x2 '''eenheid ruimteas LINE (0, 0)-(x1, y1), 10 '''eenheden LINE (0, 0)-(x2, y2), 10 COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" wacht klr% = 11: tit$ = "Wereldlijn eenheid x ": CALL titel LINE (x0, -w)-(x0, w), 11 '''wereldlijn eenheid "" CIRCLE (0, y0), 1, 15: CIRCLE (x0, 0), 1, 15 wacht klr% = 3: tit$ = "Wereldlijn eenheid x' ": CALL titel LINE (xb - w * b, -w)-(xb + w * b, w), 3 '''wereldlijn eenheid CIRCLE (x1, y1), 1, 10: CIRCLE (x2, y2), 1, 10 wacht klr% = 13: tit$ = "Tijddilatatie t' volgens t ": CALL titel LINE (0, y2)-(x2, y2), 7 CIRCLE (0, y2), 1, 13: LINE -(0, y0), 13 '''tijddilatatie 'rust' wacht klr% = 11: tit$ = "Lengtecontractie x' volgens x": CALL titel CIRCLE (xb, 0), 1, 11: LINE -(x0, 0), 11 '''lengtecontractie 'rust' wacht klr% = 13: tit$ = "Tijddilatatie t volgens t' ": CALL titel g = 1 / SQR(1 - b * b) '''gamma LINE (0, y0)-(x2 * g, y2 * g), 7 CIRCLE (x2 * g, y2 * g), 1, 13 '''tijddilatatie in S' LINE -(x2, y2), 13 wacht klr% = 11: tit$ = "Lengtecontractie x volgens x'": CALL titel CIRCLE (x1 / g, y1 / g), 1, 11 '''lengtecontractie in S' LINE -(x1, y1), 11 wacht END SUB SUB RTlichtlijn '''ruimtetijd als weefsel van lichtlijnen CLS FOR x = -w * 1.3 * 2 TO w * 1.3 * 2 STEP 5 '''wereldlijnen licht LINE (x - w, -w)-(x + w, w), 7: LINE (x - w, w)-(x + w, -w), 7 NEXT LINE (-w, -w)-(w, w), 14: LINE (-w, w)-(w, -w), 14 klr% = 15: tit$ = "R-T als weefsel lichtlijnen ": CALL titel wacht END SUB SUB RTtransf '''tijdruimte volgens 2 waarnemers CLS klr% = 15: tit$ = "Ruimtetijd volgens canon xt ": CALL titel LINE (-w * 1.3, 0)-(w * 1.3, 0), 15 '''x-as LINE (0, -w)-(0, w), 15 '''ct-as LINE (-1.3 * w, beta * -1.3 * w)-(1.3 * w, beta * 1.3 * w), 10 '''x'-as LINE (-w * beta, -w)-(w * beta, w), 10 '''ct'-as COLOR 15 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" COLOR 10 'ppos% = 37 + 31 * beta: IF ppos% < 0 THEN ppos% = 0 'LOCATE 1, ppos%: PRINT "ct'" 'ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 'IF ppos% > 0 AND ppos% < 29 THEN LOCATE ppos%, 76: PRINT "x'" ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" FOR xx = len0 TO w STEP .1 '''eenheidshyperbolen yy = SQR(xx * xx - len0 * len0) PSET (xx, yy), 2: PSET (xx, -yy), 2 PSET (yy, xx), 2: PSET (-yy, xx), 2 NEXT xx CIRCLE (len0, 0), 1, 15: CIRCLE (0, len0), 1, 15 '''eenheden xx = len0 / SQR(1 - beta * beta) CIRCLE (xx, beta * xx), 1, 10: CIRCLE (beta * xx, xx), 1, 10 wacht '''info wissen LOCATE 1, 1: COLOR 0: PRINT "Ruimtetijd volgens canon xt " COLOR 0 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" COLOR 0 'ppos% = 37 + 31 * beta: IF ppos% < 0 THEN ppos% = 0 'LOCATE 1, ppos%: PRINT "ct'" 'ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 'IF ppos% > 0 AND ppos% < 29 THEN LOCATE ppos%, 76: PRINT "x'" ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" CIRCLE (len0, 0), 1, 0: CIRCLE (0, len0), 1, 0 '''eenheden xx = len0 / SQR(1 - beta * beta) CIRCLE (xx, beta * xx), 1, 0: CIRCLE (beta * xx, xx), 1, 0 '''overgang standpunt S -> standpunt S' IF beta > 0 THEN db = .01 ELSE db = -.01 FOR b = db TO beta STEP db '''wissen LINE (-1.3 * w, (-b + db) * -1.3 * w)-(1.3 * w, (-b + db) * 1.3 * w), 0'''x-as LINE (-w * (-b + db), -w)-(w * (-b + db), w), 0 '''ct-as LINE (-1.3 * w, (beta - b + db) * -1.3 * w)-(1.3 * w, (beta - b + db) * 1.3 * w), 0'''x'-as LINE (-w * (beta - b + db), -w)-(w * (beta - b + db), w), 0 '''ct'-as '''tekenen LINE (-1.3 * w, -b * -1.3 * w)-(1.3 * w, -b * 1.3 * w), 15 '''x'-as LINE (-w * -b, -w)-(w * -b, w), 15 '''ct'-as LINE (-1.3 * w, (beta - b) * -1.3 * w)-(1.3 * w, (beta - b) * 1.3 * w), 10'''x'-as LINE (-w * (beta - b), -w)-(w * (beta - b), w), 10 '''ct'-as t = TIMER: WHILE TIMER - t < .05: WEND NEXT b '''laatste wissen LINE (-1.3 * w, (-b + db) * -1.3 * w)-(1.3 * w, (-b + db) * 1.3 * w), 0'''x-as LINE (-w * (-b + db), -w)-(w * (-b + db), w), 0 '''ct-as LINE (-1.3 * w, (beta - b + db) * -1.3 * w)-(1.3 * w, (beta - b + db) * 1.3 * w), 0'''x'-as LINE (-w * (beta - b + db), -w)-(w * (beta - b + db), w), 0 '''ct'-as '''nieuwe situatie LINE (-w * 1.3, 0)-(w * 1.3, 0), 10 '''x'-as LINE (0, -w)-(0, w), 10 '''ct'-as LINE (-1.3 * w, -beta * -1.3 * w)-(1.3 * w, -beta * 1.3 * w), 15 '''x-as LINE (-w * -beta, -w)-(w * -beta, w), 15 '''ct-as COLOR 10 LOCATE 1, 37: PRINT "ct'" LOCATE 17, 76: PRINT "x'" COLOR 15 ppos% = 37 + 28 * -b: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct" ppos% = 14 + b * 15: IF -b < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x" FOR xx = len0 TO len0 / SQR(1 - b * b) STEP .1 '''eenheidshyperbolen yy = SQR(xx * xx - len0 * len0) PSET (xx, yy), 2: PSET (xx, -yy), 2 PSET (yy, xx), 2: PSET (-yy, xx), 2 NEXT xx CIRCLE (len0, 0), 1, 10: CIRCLE (0, len0), 1, 10 '''eenheden xx = len0 / SQR(1 - b * b) CIRCLE (xx, -b * xx), 1, 15: CIRCLE (-b * xx, xx), 1, 15 klr% = 10: tit$ = "Ruimtetijd volgens canon x't' ": CALL titel wacht END SUB SUB ruimtijd CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: ruimtetijd 1/4" PLAY "l21o3gp21fp21ep21d" PRINT : COLOR 15 PRINT "De ruimtetijd is een veeldimensionale affaire als we aan de ruimte drie," PRINT "en wellicht meer dimensies willen toekennen. Voor de Speciale Relativiteit, " PRINT "die zich beperkt tot inertiale (lineaire, niet versnelde) beweging, en dan" PRINT "nog voor het meetkundig (kinematisch, niet dynamisch, dus geen E=Mc^2) aspect" PRINT "ervan, volstaat in de meeste gevallen een eendimensionale beweging, " PRINT "voor te stellen op een as." PRINT PRINT "De beweging op zo'n as kan met de tijd worden gevolgd. Zij kan ook worden" PRINT "'bevroren' door de toestanden van de ruimte-as en zijn objecten te laten" PRINT "voortglijden langs een andere, onafhankelijke as. Deze is dan te beschouwen" PRINT "als een tijdas, en samen met de ruimteas vormt die nu een vlak dat we" PRINT "tijdruimte of ruimtetijd noemen. Hierin nu kunnen alle gebeurtenissen die" PRINT "mettertijd op onze ruimteas plaatsvinden in kaart worden gebracht:" PRINT "positie, ogenblik." PRINT PRINT "De lijn die de opeenvolgende toestanden van een puntobject verbindt," PRINT "heet de 'wereldlijn' van dat punt. In het bijzonder is de tijdas zelf" PRINT "wereldlijn van een waarnemer, die traditioneel als zijnde 'in rust'" PRINT "wordt beschouwd, en zijn tijdas wordt loodrecht op de ruimteas geplaatst." PRINT "Dit is zuiver conventie: tijd voor deze waarnemer staat niet 'loodrechter'" PRINT "op zijn ruimte dan voor een waarnemer 'in beweging', van wie de wereldlijn" PRINT "'schuin' zal komen te liggen." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: ruimtetijd 2/4" PRINT : COLOR 15 PRINT "Een bijzonder soort wereldlijnen zijn deze van het licht: een stel 'heen' " PRINT "en een ander stel 'weer'." PRINT PRINT "In de Graffix opties van het hoofdmenu wordt een en ander uit de doeken" PRINT "gedaan. Vooreerst is er optie 5. Deze toont het cre‰ren van wereldlijnen" PRINT "in rust, in beweging en van licht, in een ruimte-tijd assensysteem." PRINT PRINT "In optie 6. worden lichtklokken voorgesteld, en wel symmetrische, dwz" PRINT "een lichtklok 'links' en een 'rechts', met samenvallende retourpunten." PRINT "Op basis van zulke paren lichtklokken wordt gelijktijdigheid gedefinieerd" PRINT "en wel als ruimtelijn die symmetrische retourpunten verbindt. Vandaar" PRINT "de relativiteit van gelijktijdigheid!" PRINT PRINT "Optie 7. doet de lengtecontractie en tijddilatatie uit de doeken." PRINT "De tijddilatatie volgt uit het langer traject dat licht moet volgen in" PRINT "een lichtklok geplaatst loodrecht op de bewegingsrichting." PRINT "De lengtecontractie volgt uit de noodzaak gelijke retourtijden aan te" PRINT "houden voor gelijke lichtklokken geplaatst langs, en loodrecht op, de" PRINT "bewegingsrichting. Zonder deze eis zou de tijd (die op lichtklokken" PRINT "afgestemd is) anders verlopen volgens verschillende richtingen," PRINT "m.a.w. anisotroop zijn!" wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: ruimtetijd 3/4" PRINT : COLOR 15 PRINT "Optie 8. toont hoe de ruimtetijd uiteindelijk gegenereerd wordt als een" PRINT "weefsel van, hetzij lichtlijnen, hetzij goed gedefinieerde ruimte- en " PRINT "tijdlijnen van stelsels in 'rust' of in 'beweging'. " PRINT PRINT "Vervolgens ziet u de ijking (eenheden van ruimte en tijd) voor verschillende" PRINT "waarnemers, in overeenkomst met tijddilatatie en lengtecontractie. Ter" PRINT "herinnering: de eerste volgt uit het behoud van transversale afmetingen, " PRINT "de tweede uit het behoud van responstijd ongeacht de richting." PRINT PRINT "Tenslotte blijkt hoe een eenvoudige transformatie de assen van 2 waarnemers" PRINT "onderling verwisselt, zodat de laatste vooroordelen omtrent de" PRINT "bevoorrechte positie van de waarnemer met orthogonale assen kunnen worden" PRINT "opgeheven." PRINT PRINT "Optie 9. toont de basis voor een begrip van het fundamenteel" PRINT "verschil tussen waarnemen als 'meetproces' en als 'kijkproces', vaak met" PRINT "elkaar verward." PRINT "'Ruimten van ogenblikkelijke waarneming', dus van kijken, ontstaan uit" PRINT "lichtlijnen die alle gebeurtenissen bevatten die door eenzelfde lichtstraal" PRINT "worden 'bezocht' voor ze het oog treft. 'Ruimten van beleving' van dit" PRINT "kijkproces, zijn de projecties van al deze gebeurtenissen op de ruimte-as" PRINT "die het ogenblik van kijken bevat (zie rode lijn)." PRINT "Wat dit oplevert aan verschillen tussen meet- en kijkresultaat wordt" PRINT "vervolgens uitgebreid uit de doeken gedaan." wacht CLS LOCATE 1, 15: COLOR 11: PRINT "RELATIVITEIT: ruimtetijd 4/4" PRINT : COLOR 15 PRINT "Optie 10. tenslotte is een uitbeelding van de tweelingparadox." PRINT "Volgens deze paradox vindt een reiziger, die de aarde verlaat om" PRINT "aan weinig minder dan de lichtsnelheid naar een naburige galaxie" PRINT "te flitsen en vervolgens aan ditto terug te keren, zijn partner" PRINT "op aarde veel ouder dan hijzelf terug, als hij al geen tijden " PRINT "overleden is." PRINT PRINT "De paradox, die het relativiteitsprincipe schijnt te ontkrachten" PRINT "(want dienen thuisblijvende en reizende partner geen symmetrisch" PRINT "resultaat te bekomen?) wordt ontrafeld door een zorgvuldige" PRINT "analyse van beide standpunten. Dat gebeurt in deze optie, zij het" PRINT "dan in kwalitatief, niet in kwantitatief opzicht." PRINT PRINT "Blijkt dat beide visies inderdaad niet symmetrisch zijn: de reiziger" PRINT "dient immers meerdere malen 'van inertiaalstelsel te wisselen'." PRINT "Bij het omkeren kantelt zijn ruimteas daarbij zodanig dat een hele periode" PRINT "uit het tijdsverloop van zijn thuisgebleven partner als het ware verloren" PRINT "gaat binnen het kader van zijn eigen tijdsbeschrijving. " PRINT PRINT "Veel ontleedplezier van de verschillende situaties !" wacht END SUB SUB symLklok '''lichtklokken en ruimteassen van gelijktijdigheid '''in rust CLS LINE (0, -w)-(0, w), 11 LINE (-len0, -w)-(-len0, w), 7: LINE (len0, -w)-(len0, w), 7 y0 = 2 * len0 FOR i = -2 TO 1 y = i * y0 LINE (0, y)-(len0, y + len0), 14: LINE -(0, y + y0), 14 '''lichtklokken LINE -(-len0, y + len0), 14: LINE -(0, y), 14 NEXT i klr% = 11: tit$ = "Gelijktijdigheid: rust ": CALL titel FOR i = -2 TO 1 '''(ruimteassen 'rust') FOR k = 0 TO 49 IF k MOD 25 = 0 THEN y = (i + k / 50) * y0 LINE (-len0, y)-(len0, y), 8 END IF NEXT k NEXT i LINE (-w * 1.3, 0)-(w * 1.3, 0), 11 LINE (0, -w)-(0, w), 11 COLOR 11 LOCATE 1, 37: PRINT "ct" LOCATE 17, 76: PRINT "x" wacht '''in beweging CLS LINE (-w * 1.3, 0)-(w * 1.3, 0), 3 LINE (0, -w)-(0, w), 3 LINE (-w * beta, -w)-(w * beta, w), 10 '''lichtklokken LINE (-w * beta - leng, -w)-(w * beta - leng, w), 7 LINE (-w * beta + leng, -w)-(w * beta + leng, w), 7 y0 = leng / (1 - beta) + leng / (1 + beta) FOR i = -2 TO 1 y = i * y0 LINE (y * beta, y)-(y * beta + leng / (1 - beta), y + leng / (1 - beta)), 14 LINE -((y + y0) * beta, y + y0), 14 LINE -(y * beta - leng / (1 + beta), y + leng / (1 + beta)), 14 LINE -(y * beta, y), 14 NEXT i klr% = 10: tit$ = "Gelijktijdigheid: beweging ": CALL titel FOR i = -2 TO 1 '''ruimteassen FOR k = 0 TO 49 IF k MOD 25 = 0 THEN y = (i + k / 50) * y0 llen = len0 / SQR(1 - beta * beta) LINE (-llen + beta * y, y + beta * -llen)-(llen + beta * y, y + beta * llen), 8 END IF NEXT k NEXT i LINE (-1.3 * w, beta * -1.3 * w)-(1.3 * w, beta * 1.3 * w), 10 LINE (-w * beta, -w)-(w * beta, w), 10 COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" wacht END SUB SUB symLklok0 CLS rr = 1: ww = -.4 * w: cc = 10 x1 = -leng: y1 = -x1 x2 = leng: y2 = x2 klr% = 11: tit$ = "Symm. lichtklok in rust ": CALL titel FOR y = 0 TO leng '''voorgaande wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as LINE (xx, y - 1)-(xxx, y - 1), 0 '''hertekenen PSET (xx, y - 1), 14: PSET (xxx, y - 1), 14 LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 '''berekenen x = beta * y xx = -y xxx = y '''tekenen LINE (xx, y)-(xxx, y), 8 LINE (0, 0)-(0, y), 3 LINE (0, 0)-(x, y), 2 PSET (xx, y), 14: PSET (xxx, y), 14 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT y '''laatste wissen LINE (-w, y - 1)-(w, y - 1), 0 LINE (xx, y - 1)-(xxx, y - 1), 0 FOR y = leng TO 2 * leng '''voorgaande wissen LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as LINE (xx, y - 1)-(xxx, y - 1), 0 '''hertekenen LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 PSET (xx, y - 1), 14: PSET (xxx, y - 1), 14 '''berekenen x = beta * y xx = x1 + (y - y1) xxx = x2 - (y - y2) '''tekenen LINE (xx, y)-(xxx, y), 8 LINE (0, 0)-(0, y), 3 LINE (0, 0)-(x, y), 2 PSET (xx, y), 14: PSET (xxx, y), 14 CIRCLE (x, ww), rr, cc '''x-as CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 CIRCLE (0, ww), rr, 11 ''' x-as t = TIMER: WHILE TIMER - t < .01: WEND NEXT y '''hertekenen CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0'''x-as LINE (-w, ww)-(w, ww), 3 LINE (-w, 0)-(w, 0), 3: LINE (0, 0)-(0, w), 3 LINE (-y1, y1)-(0, y1), 8: LINE (y2, y2)-(0, y2), 8 LINE (0, y1 + y2)-(x, y1 + y2), 8 LINE (0, 0)-(2 * x, 2 * (y1 + y1)), 8: LINE (0, 0)-(2 * (y1 + y2), 2 * x), 8 LINE (0, 0)-(x, y1 + y2), 10 LINE (0, 0)-(0, y1 + y2), 11 CIRCLE (0, ww), rr, 11 ''' x-as CIRCLE (x, ww), rr, 10: COLOR 11 LOCATE 1, 37: PRINT "ct" LOCATE 15, 76: PRINT "x" LOCATE 21, 76: PRINT "x" wacht END SUB SUB symLklok1 CLS rr = 1: ww = -.4 * w: cc = 10 g = 1 / SQR(1 - beta * beta) ''' xi,yi = coord bewegend stelsel -> Lorentz voor x,y xx = 0: yy = 0: xxx = 0: yyy = 0 klr% = 10: tit$ = "Symm. lichtklok bewegend ": CALL titel FOR yi = 0 TO len0 '''voorgaande wissen LINE (xx, yy)-(xxx, yyy), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0 '''hertekenen LINE (-w, ww)-(w, ww), 8 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 PSET (xx, yy), 14: PSET (xxx, yyy), 14 '''berekenen xi = 0: xxi = -yi: xxxi = yi x = g * (xi + beta * yi): y = g * (yi + beta * xi) xx = g * (xxi + beta * yi): yy = g * (yi + beta * xxi) xxx = g * (xxxi + beta * yi): yyy = g * (yi + beta * xxxi) '''tekenen LINE (xx, yy)-(xxx, yyy), 8 LINE (0, 0)-(0, yi / g), 3 LINE (0, 0)-(x, y), 2 CIRCLE (0, ww), rr, 3 CIRCLE (x, ww), rr, cc CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 t = TIMER: WHILE TIMER - t < .01: WEND NEXT yi xxo = xx: yyo = yy: xxxo = xxx: yyyo = yyy '''onthouden FOR yi = len0 TO 2 * len0 '''voorgaande wissen LINE (xx, yy)-(xxx, yyy), 0 CIRCLE (x, ww), rr, 0: CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0 '''hertekenen LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 PSET (xx, yy), 14: PSET (xxx, yyy), 14 LINE (-w, ww)-(w, ww), 8 '''berekenen xi = 0: xxi = yi - 2 * len0: xxxi = -xxi x = g * (xi + beta * yi): y = g * (yi + beta * xi) xx = g * (xxi + beta * yi): yy = g * (yi + beta * xxi) xxx = g * (xxxi + beta * yi): yyy = g * (yi + beta * xxxi) '''tekenen LINE (xx, yy)-(xxx, yyy), 8 LINE (0, 0)-(0, yi / g), 3 LINE (0, 0)-(x, y), 2 CIRCLE (0, ww), rr, 3 CIRCLE (x, ww), rr, cc CIRCLE (xx, ww), rr, 14: CIRCLE (xxx, ww), rr, 14 t = TIMER: WHILE TIMER - t < .01: WEND NEXT yi '''hertekenen CIRCLE (xx, ww), rr, 0: CIRCLE (xxx, ww), rr, 0 LINE (-w, 0)-(w, 0), 8: LINE (0, 0)-(0, w), 8 LINE (-w, ww)-(w, ww), 2 LINE (xxo, yyo)-(xxxo, yyyo), 8 LINE (0, (yi - 1) / g)-(x, y), 8 LINE (0, 0)-(x, y), 10: LINE (-w, -w * x / y)-(w, w * x / y), 2 LINE (0, 0)-(0, (yi - 1) / g), 11 CIRCLE (0, ww), rr, 11 CIRCLE (x, ww), rr, 10 COLOR 10 ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" ppos% = 14 - beta * 15: IF beta < 0 THEN ppos% = ppos% + 2 IF ppos% < 1 THEN ppos% = 1 IF ppos% > 28 THEN ppos% = 28 LOCATE ppos%, 76: PRINT "x'" LOCATE 21, 76: PRINT "x'" wacht END SUB SUB titel COLOR klr% LOCATE 1, 1 PRINT tit$ END SUB SUB twparadox '''Tweelingparadox y0 = w * .45 x0 = beta * y0 r = 1 WINDOW (-1.3 * w, 1.1 * w)-(1.3 * w, -.3 * w) wx = -.15 * w '''1. Standpunt van de thuisblijver '''******************************** CLS COLOR 2: LOCATE 15 PRINT " De Tweelingparadox:" PRINT : COLOR 11 PRINT " Standpunt van de thuisblijver...": wacht COLOR 0: LOCATE 15 PRINT " De Tweelingparadox:" PRINT PRINT " Standpunt van de thuisblijver...": '''Heen tit$ = "heenreis: beweging snelheid v " klr% = 10: CALL titel wacht LINE (0, 0)-(0, w), 8 FOR y = 0 TO y0 LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, wx), r, 0 LINE (-w, 0)-(w, 0), 7 LINE (-w, wx)-(w, wx), 3 x = beta * y LINE (-w, y)-(w, y), 3 LINE (0, 0)-(x, y), 2 LINE (0, 0)-(0, y), 11 CIRCLE (0, wx), r, 11 CIRCLE (x, wx), r, 10 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y '''Terug tit$ = "terugreis: beweging snelheid -v " klr% = 10: CALL titel wacht LINE (-w, y - 1)-(w, y - 1), 0 FOR y = y0 TO 2 * y0 LINE (-w, y - 1)-(w, y - 1), 0 CIRCLE (x, wx), r, 0 LINE (-w, 0)-(w, 0), 7 LINE (-w, wx)-(w, wx), 3 x = beta * (2 * y0 - y) LINE (-w, y)-(w, y), 3 LINE (beta * y0, y0)-(x, y), 2 LINE (0, 0)-(0, y), 11 CIRCLE (0, wx), r, 11 CIRCLE (x, wx), r, 10 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y klr% = 10: tit$ = "Aangekomen... " CALL titel wacht '''2. Standpunt van de reiziger '''**************************** CLS COLOR 3: LOCATE 15 PRINT " De Tweelingparadox:" PRINT : COLOR 10 PRINT " Standpunt van de reiziger...": PLAY "l21o3cp21cp21dp21e" wacht COLOR 0: LOCATE 15 PRINT " De Tweelingparadox:" PRINT PRINT " Standpunt van de reiziger...": '''Vertrek tit$ = "vertrek: ogenblikkelijke acceleratie rust -> beweging snelh. v" klr% = 10: CALL titel wacht FOR bet = 0 TO beta STEP beta / 20 LINE (-w, -yo)-(w, yo), 0 LINE (0, 0)-(yo, w), 0 yo = w * bet LINE (-w, -yo)-(w, yo), 2 LINE (0, 0)-(yo, w), 2 t = TIMER: WHILE TIMER - t < .01: WEND NEXT bet '''afronden LINE (-w, -yo)-(w, yo), 0 LINE (0, 0)-(yo, w), 0 yo = w * beta LINE (-w, -yo)-(w, yo), 2 LINE (0, 0)-(yo, w), 2 t = TIMER: WHILE TIMER - t < .01: WEND yy0 = yo: yo = -yo '''Heen tit$ = "heenreis: beweging snelheid v " klr% = 10: CALL titel wacht LINE (0, 0)-(0, w), 8 FOR y = 0 TO y0 LINE (-w, yo)-(w, yyo), 0 LINE (0, 0)-(x0 * 2, y0 * 2), 2 CIRCLE (x, wx), r, 0 LINE (-w, 0)-(w, 0), 8 LINE (-w, wx)-(w, wx), 2 x = beta * y y1 = y * (1 - beta * beta) yo = y1 - beta * w: yyo = y1 + beta * w LINE (-w, yo)-(w, yyo), 2 LINE (0, 0)-(x, y), 10 LINE (0, 0)-(0, y1), 3 CIRCLE (0, wx), r, 11 CIRCLE (x, wx), r, 10 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y yy1 = y1 + 2 * beta * beta * y0 '''Omkeren... tit$ = "omkeren: ogenblikkelijke acceleratie +v -> -v " klr% = 10: CALL titel wacht FOR bet = beta TO -beta STEP -beta / 20 LINE (-w, yo)-(w, yyo), 0 LINE (x0, y0)-(xo, w), 0 y11 = y0 * (1 - bet * beta) yo = y11 - bet * w: yyo = y11 + bet * w xo = x0 + bet * (w - y0) LINE (-w, yo)-(w, yyo), 2 LINE (x0, y0)-(xo, w), 2 LINE (0, y1)-(0, y11), 13 LINE (0, 0)-(beta * y0, y0), 10 t = TIMER: WHILE TIMER - t < .05: WEND NEXT bet LINE (0, 0)-(beta * y0, y0), 10 '''afronden LINE (-w, yo)-(w, yyo), 0 LINE (x0, y0)-(xo, w), 0 y11 = y0 * (1 + beta * beta) yo = y11 + beta * w: yyo = y11 - beta * w xo = x0 - beta * (w - y0) LINE (-w, yo)-(w, yyo), 2 LINE (x0, y0)-(xo, w), 2 LINE (0, y1)-(0, y11), 13 t = TIMER: WHILE TIMER - t < .05: WEND '''Weer tit$ = "terugreis: beweging snelheid -v " klr% = 10: CALL titel wacht FOR y = y0 TO 2 * y0 LINE (-w, yo)-(w, yyo), 0 CIRCLE (x, wx), r, 0 LINE (-w, 0)-(w, 0), 8 LINE (-w, wx)-(w, wx), 2 x = 2 * beta * y0 - beta * y y1 = y * (1 - beta * beta) + 2 * beta * beta * y0 yo = y1 + beta * w: yyo = y1 - beta * w LINE (-w, yo)-(w, yyo), 2 LINE (beta * y0, y0)-(x, y), 10 LINE (0, yy1)-(0, y1), 3 CIRCLE (0, wx), r, 11 CIRCLE (x, wx), r, 10 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y '''afronden LINE (-w, yo)-(w, yyo), 0 y1 = 2 * y0 yo = y1 + beta * w: yyo = y1 - beta * w LINE (-w, yo)-(w, yyo), 2 LINE (beta * y0, y0)-(0, 2 * y0), 10 LINE (0, yy1)-(0, 2 * y0), 3 '''Aankomst tit$ = "aankomst: ogenblikkelijke acceleratie beweging -v -> rust " klr% = 10: CALL titel wacht FOR bet = -beta TO 0 STEP beta / 20 LINE (-w, y1 - yo)-(w, y1 + yo), 0 LINE (0, y1)-(yo, y1 + w), 0 yo = w * bet LINE (-w, y1 - yo)-(w, y1 + yo), 2 LINE (0, y1)-(yo, y1 + w), 2 LINE (beta * y0, y0)-(0, 2 * y0), 10 LINE (0, yy1)-(0, 2 * y0), 3 t = TIMER: WHILE TIMER - t < .01: WEND NEXT bet '''afronden LINE (-w, y1 - yo)-(w, y1 + yo), 0 LINE (0, y1)-(yo, y1 + w), 0 yo = 0 LINE (-w, y1 - yo)-(w, y1 + yo), 2 LINE (0, y1)-(yo, y1 + w), 2 LINE (beta * y0, y0)-(0, 2 * y0), 10 LINE (0, yy1)-(0, 2 * y0), 3 tit$ = "eigentijd thuisblijver 'verloren' in tijdsbeschrijving reiziger" klr% = 13: CALL titel wacht END SUB SUB wacht wacht: LOCATE 28, 1: COLOR 11: PRINT " -> SPATIE" PLAY "l12o4d": SLEEP: a$ = INKEY$ IF a$ <> " " GOTO wacht LOCATE 28, 1: COLOR 11: PRINT " " END SUB SUB wereldlijnen '''bewegingslijnen en wereldlijnen IF ABS(beta) < .1 OR ABS(beta) > .9 THEN EXIT SUB r = 1 '''waarnemer 'in rust' CLS '''assen wx = -w * .9 LINE (-w * 1.3, 0)-(w * 1.3, 0), 3 '''x-as LINE (0, -w * .8)-(0, w), 3 '''ct-as LINE (-w * 1.3, wx)-(w * 1.3, wx), 7 '''x lijn COLOR 15 LOCATE 1, 37: PRINT "ct" LOCATE 14, 76: PRINT "x" LOCATE 28, 76: PRINT "x" klr% = 15: tit$ = "Wereldlijn: rust ": CALL titel CIRCLE (0, wx), r, 15 '''x-punt FOR y = -w * .8 TO w STEP 3 '''wereldlijn CIRCLE (0, y - 3), r, 0: LINE -(0, y), 15 CIRCLE (0, y), r, 15 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y LINE (-w * 1.3, 0)-(w * 1.3, 0), 3 '''x wacht CIRCLE (0, wx), r, 0 '''voorwerp 'in beweging' klr% = 10: tit$ = "Wereldlijn: beweging ": CALL titel FOR y = -w * .8 TO w STEP 3 '''wereldlijn CIRCLE ((y - 3) * beta, y - 3), r, 0: LINE -(y * beta, y), 10 CIRCLE (y * beta, y), r, 10 CIRCLE ((y - 3) * beta, wx), r, 0: LINE -(y * beta, wx), 10 '''x-punt CIRCLE (y * beta, wx), r, 10 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y ppos% = 37 + 28 * beta: IF ppos% < 0 THEN ppos% = 0 LOCATE 2, ppos%: PRINT "ct'" wacht CIRCLE ((y - 3) * beta, wx), r, 0 ''' lichtstralen naar 'links' en 'rechts' klr% = 14: tit$ = "Wereldlijnen: licht ": CALL titel FOR y = -w * .8 TO w STEP 3 CIRCLE ((y - 3) * 1, y - 3), r, 0: LINE -(y * 1, y), 14 '''wereldlijnen CIRCLE (y * 1, y), r, 14 CIRCLE ((y - 3) * -1, y - 3), r, 0: LINE -(y * -1, y), 14 CIRCLE (y * -1, y), r, 14 CIRCLE ((y - 3) * 1, wx), r, 0: LINE -(y * 1, wx), 14 '''x-punten CIRCLE (y * 1, wx), r, 14 CIRCLE ((y - 3) * -1, wx), r, 0: LINE -(y * -1, wx), 14 CIRCLE (y * -1, wx), r, 14 t = TIMER: WHILE TIMER - t < .01: WEND NEXT y wacht END SUB