De Tabaksdoos

De Tabaksdoos


 

De eersteling


Zoals de titel van de blog Programmeur en Zeiler aangeeft, zal het onderwerp van een memoire veelal gaan over een belevenis of als programmeur of als zeiler.

Het Voorliggende verhaal betreft echter een gebeurtenis waarin ik in beide hoedanigheden optrad, en daarom begin ik hiermee.




Deze tabaksdoos kreeg ik tijdens de onderstaande belevenis als geschenk. Hij heeft een nautisch karakter, ligt al 50 jaar bij mij aan boord. Ik ben er trots op en hij wordt af en toe aan iemand getoond als ik dit verhaal wil vertellen.




Programmeercursussen


In 1971 was ik medewerker op de Informatica-afdeling van het Mathematisch Centrum, tegenwoordig het Centrum voor Wiskunde en Informatica genaamd. 

Een van mijn taken was het geven van programmeercursussen. in die tijd was dat vanzelfsprekend ALGOL60. De cursus duurde een paar dagen en bestond uit het leren van die taal, en het schrijven van een paar simpele programmaatjes. Als ‘handboek’ voor de taal was er een simpel boekje, eigenlijk meer een schriftje, van 43 pagina’s. Daarin stond de grammatica van de taal in een formeel opgeschreven. Met daarbij de semantiek; wat een computer er mee zou doen, in klare taal erbij. En vaak ook nog een of twee voorbeelden.


Ik denk nog weleens aan dat schriftje terug. Ja, als je een programma geschreven had, was je met ALGOL60 nog even aan het worstelen voordat het programma syntactisch correct was. Maar daarna was ook volledig bepaald wat het programma zou doen.

Het schriftje heet “the revised report on the algorithmic language ALGOl 60” en was het resultaat van een internationale wetenschappelijke samenwerking, en de formele definitie van deze taal. Het was een grote stap vooruit vergeleken met de bestaande talen. En was bedoeld om de wereldwijde standaardtaal, in ieder geval voor het wetenschappelijk rekenen, te worden. Maar het heeft deze rol nooit gekregen, net zo min als enige andere taal.


Veelal gaf ik cursussen aan studenten. Meestal, maar niet altijd, ging het programmeren de beta’s makkelijker af dan de alfa’s. Maar ik heb ook wel eens meegewerkt aan een cursus voor kunstenaars, onder andere de componisten Louis Andriessen en Peter Schat. Harry Mulisch had zich ingeschreven maar kwam niet opdagen. Een leuke ervaring omdat zij zoveel eigenzinniger waren dan de studenten, maar daarmee nog geen betere programmeurs bleken.


Na afloop van de cursus was je nog lang geen programmeur, maar kon je je verder gaan bekwamen, vaak betekende dat min of meer zelfstandig een opdracht uit te voeren waar voor je een serieus programma moest schrijven.


De bedoeling van de cursus was dat de deelnemers zelfstandig een simpel programmaatje leerden schrijven, en dat ze dat programma ook aan de praat konden krijgen.

Maar ook dat ze zich bewust werden, dat het programma niet alleen voor een computer, maar ook voor een mens begrijpelijk moet zijn.

Zonder dat kun je het niet aan iemand uitleggen. En als je het na een maand zelf weer naar het programma kijkt, begrijp je het anders ook niet meer.


Sommige studenten, vaak de beta’s, waren heel snel in het schrijven van een werkend programma, dat moeilijk aan een ander uitgelegd kon worden. De remedie was om ze een wat groter programma te laten schrijven. Gewoonlijk ontdekten ze dan dat het erg handig is als het programma ook voor de mens begrijpelijk is. 



Een zomercursus programmeren voor wiskundeleraren van zeevaartscholen.

In de vacantieperiode van 1971 had het MC voor wiskundeleraren een       

een zomercursus Programmeren georganiseerd. Ik was met een paar collega’s docent. Elk van ons zou de cursus aan een groep van een mens of twintig geven.

De cursus bestond uit zeg drie dagen onderwijs in de programmeertaal Algol 60, en twee dagen uit opgaven: het schrijven en testen van simpele programmaatjes.

 

Er waren ook een groep wiskundeleraren van zeevaartscholen bij, en als zeezeiler leek het me leuk, en lukte het mij, juist die groep te krijgen. Het onderricht in Algol 60 zou niet verschillen van dat voor de andere wiskunde leraren; maar voor de opgaven wilde ik onderwerpen uit de navigatie kiezen. 


Let wel in 1971 bestond er  nog niet zoiets als GPS, het meest geavanceerd waren radiopeilingen. De standaard op de grote vaart was een zonnetje schieten met de sextant om de breedtegraad te bepalen, en de lengtegraad  met behulp van een chronometer uit het tijdverschil tussen de locale tijd en Greenwich MeanTime, waarop de chronometer is afgesteld.

Voor de kustnavigatie deed men kruispeilingen op bekende objecten om een positie te bepalen. Als er niks te zien was voer men vanaf de laatste bekende positie  op gegist  bestek; afgelegde weg en koers vanaf deze laatste positie. 


‘Mijn’ wiskundeleraren wisten natuurlijk heel veel van navigatie, veel meer dan ik, maar ze kenden, doceerden, ook het vak analytische meetkunde. En dat vak leek mij bij uitstek geschikt als theoretische basis om het navigeren te automatiseren.

 


Analytische Meetkunde

Voor dit verhaal kunt u zich dit vak voorstellen als meetkunde op ruitjespapier waarop een rechthoekig assenstelsel is getekend. Met een verticale Y-as en een horizontale X-as. 

Dankzij de ruitjes kunnen punten op het vel met coördinaten  worden aangewezen. Bijvoorbeeld (4,7) is 4 hokjes rechts van de Y-as en 7 hokjes boven de X-as. Iets als 

 (-3.7 , 4)  mag ook. Het snijpunt van de assen is de oorsprong (0,0).


Binnen het assenstelsel kunnen figuren worden weergegeven. Dit gebeurt altijd met een vergelijking in x en y. Alle punten die voldoen aan de vergelijking behoren tot de figuur, en alle andere punten niet. 


Dit betekent dat je meetkunde met behulp van algebra (met het oplossen van vergelijkingen) kunt bedrijven. Twee lijnen snijden elkaar als ze een punt gemeen hebben; als het stelsel van de twee vergelijkingen een oplossing heeft.


Het feit dat je in de analytische meetkunde, de figuren vervangt door vergelijkingen maakt dat je een computer kunt inschakelen. Want die kan prima met vergelijkingen overweg.




Kustnavigatie


Het belangrijkste onderdeel van de kustnavigatie is de zogenaamde kruispeiling. De stuurman ziet op zijn kaart staan dat de kust waar hij langs vaart, en die hij in zicht heeft, twee kenbare objecten staan, zeg een molen en een kerktoren. Gewoonlijk staat er op de kaart, een profiel van het object getekend. Bovendien weet de stuurman wel ongeveer waar hij zit. Dus hij kan met kijker en peilkompas zekerheid krijgen dat hij inderdaad deze objecten waarneemt. 

Met zijn peilkompas peilt hij dan de kompashoek naar beide punten, en tekent lijnen door de objecten conform die hoeken. Op het snijpunt van beide lijnen bevindt hij zich.


De analytische meetkunde levert een goed model, vereenvoudiging van de werkelijkheid, voor dit probleem.

Om de belangrijkste te noemen:

  • De kompasnaald fixeert de oriëntatie van het assenkruis. Je gebruikt de noord/zuidlijn als Y-as, en de X-as moet daar loodrecht op staan.
  • De coördinaten van beide kenbare objecten leveren vervolgens ieder de positie van het assenkruis. Hun x-waarde geeft de afstand tot de Y-as, en de y-waarde geeft de afstand tot de X-as.

Dit alles maakt dat er voldoende gegevens beschikbaar zijn, om de positie te berekenen in plaats van te tekenen. 

En dat maakt dus een app of een kastje met electronica mogelijk waar je je waarnemingen en de coördinaten van de kenbare objecten in stopt en waar de positie van de waarnemer uitkomt.




De coördinaten van A en B zijn bekend. De hoeken alfa en beta zijn gepeild. Dat geeft voldoende informatie om P met gradenboog en liniaal op de kaart te tekenen.

Maar ook voldoende informatie om de coördinaten van P met wat goniometrie te berekenen.



De uitwerking


De opdracht was: schrijf een programma voor (kust)navigatie bijvoorbeeld een peiling.

Men kon het goed vinden in het idee om analytische meetkunde als model voor het automatiseren van de kustnavigatie te gebruiken. En men loste de problemen die dat nog met zich meebracht goed op. 

Problemen zoals:

  • het werken met graden en minuten en zeemijlen. In plaats van meters. Op dat verschijnsel kom ik aan het eind nog terug.
  • Problemen met de schaal van een kaart, die niet te klein mag zijn want anders mag je het niet als een afbeelding van het platte vlak behandelen. 
  • Ook voor het probleem dat op een echte kaart, de vakjes gewoonlijk geen vierkanten zijn, herinner ik me geen klachten.

Iedereen lukte het wel om een programma te schrijven, al zullen er wel zijn geweest die dicht bij het model bleven. Maar ik heb ook een leraar gezien die het verschijnsel behandelde dat op een zogenaamde overzeiler, een kaart met een kleine schaal, de kortste verbinding tussen twee punten niet meer als een rechte lijn kan worden behandeld, maar als het onderdeel van een grootcirkel op de aardbol; en daarmee een gebogen lijn wordt.



De Evaluatie

Men vond dat het doel van de zomercursus: kennismaken met programmeren geslaagd was. Ook vond men de relatie die ik gelegd had tussen Analytische Meetkunde en Navigeren verrassend. En de oefening op zich leuk.


Echter, nogmaals het was voor de intrede van de GPS, men geloofde niet dat dit de praktijk van de kustnavigatie zou worden. Immers op de brug staat een stuurman, en die moet de omgeving goed in de gaten houden en ook wat te doen hebben (er is op zeeschepen een aparte roerganger, die van hem aanwijzingen krijgt). Het moeilijkste van kruispeilingen is niet het op de kaart zetten, maar het doen van nauwkeurige peilingen. Dus dat zou volgens hen nog heel lang zo blijven.


De praktijk leerde dat ze het mis hadden, en niet alleen door de navigatiesattelieten. Al een paar jaar daarna was er een “kastje” dat de scheepspositie leverde op basis van een systeem van radiopeilingen. En met behulp van radar worden peilingen van een schip ( tegenligger ) gemaakt en getoond hoe ze elkaar bij ongewijzigde koers zullen passeren, of dat er een koerswijziging vereist is. Op een jacht doen we dat met het handpeilkompas.


De Tabaksdoos


De wiskundeleraar van de H.Z.V.S. Nieuwediep had een verrassing voor mij. Deze zeevaartschool had de gewoonte om de afgestudeerden bij de diploma-uitreiking een tabaksdoos, geïnspireerd op een 18de eeuws Amsterdams voorbeeld, met inscriptie te geven. En hij had er voor mij ook een laten maken.


Als amateur-zeeman ben ik bijzonder trots op deze eer. Het Maritiem Museum van Rotterdam heeft ook een exemplaar van deze tabaksdoos.



Graden, minuten, zeemijlen en knopen


De zeekaarten hanteren en systeem van lengte- en breedtegraden met bijbehorende minuten waarmee iedere plek op aarde uniek geïdentificeerd kan worden. Dat is natuurlijk een groot goed. 

Echter de afstanden worden in dit systeem uitgedrukt in zeemijlen van 1852 meter, en de snelheid in knopen van een zeemijl per uur. Hetgeen natuurlijk niet volgens het metrieke stelsel is.


Nu koester ik de volgende privé-theorie die daarom nog niet onwaar is:


Als Nelson de slag bij Trafalgar verloren had, en het dus Napoleon rules de waves was geworden, dan had hij het metrieke stelsel nog rigoureuzer doorgezet. Hij had de rechte hoek bepaald als hebbende niet 90, maar 100 graden, net als het koken van water dus. Dit had hij ook doorgevoerd voor het coördinatenstelsel van de oppervlakte van de aarde. Dat had hij deels al gedaan door de meter als 1/40.000.000 van de omtrek van de aarde te definiëren. De omtrek van de aarde bij de evenaar was dus 40.000 kilometer.


Maar met de combinatie van de rechte hoek van 100 graden en de kilometer als 1/40.000 deel van de omtrek langs de evenaar had hij lekker los kunnen gaan. Een lengtegraad langs de evenaar is dan 100 km, en dan definieer je natuurlijk meteen 1 lengte-minuut langs de evenaar als 1 kilometer.  

Iedere breedtegraad is daarmee ook 100 kilometer en iedere breedte-minuut  één kilometer. 

Nu is de aarde niet helemaal rond, hij is een beetje afgeplat, maar dat wist  Nappy nog niet, bovendien kloppen dit soort dingen nooit helemaal, en worden de definities van de basiseenheden zoals de meter en de seconde regelmatig scherper geformuleerd. Ook worden er tabellen voor afplattingen enzo gehanteerd.


Van die flauwekul en stoerdoenerij van zeemijlen en knopen waren we dan verlost geweest. Gewoon kilometers en kilometers per uur. Of meters per seconde.


De pint had hij van mij in stand mogen houden, het bekt wel lekker en bovendien ik wil helemaal niet weten hoeveel ik drink.


O! Als de Ruyter eens in de Franse tijd geleefd had, en de vloot tegen Nelson had aangevoerd! 

Natuurlijk had de Prins van Oranje wel onder Wellington moet helpen Napoleon bij Waterloo te verslaan. Want Napoleon was toch wat lastig in de staatkundige omgang.




                  


Comments

Post a Comment

Popular posts from this blog

INTRODUCTIE TOT DE BLOG “PROGRAMMEUR EN ZEILER, GERARD KOK”

Sommen in de vorm van een verhaaltje.