1. Hoi. Patrick hier. Zag vannacht in een droom een zoon in code.
Kruisbepalingscode. Dacht dat wordt een PERL programma want dat is
sneller dan een tekstdocument te schrijven in pseudo code. Hierbij de
pseudo code.
- Laadt 4 punten uit een collectie van n punten die groter is dan 4.
- Bepaal van het eerste punt genaamd A of andere punten in lijn liggen
oftewel dezelfde richtingscoëfficiënt hebben. Ligt er meer dan 1 punt op
dezelfde lijn dan resultaat is 'geen kruis'. Herhaal dit voor alle andere
punten.
- Bepaal van elk punt binnen de verzameling van 4 of het binnen of buiten
de puntenverzameling ligt zoals beschreven in 'Omtrek puntenverzameling
versie 4' waarbij men de hoeken berekent van 1 punt naar alle andere
punten. Ligt er 1 punt binnen de omtrek van de 3 andere punten dan
resultaat is 'geen kruis'.
- Bepaal door sortering van de x en y coördinaten van de 4 punten welke
twee punten boven zijn en welke twee punten onder zijn dan heb je alvast
de top/bottom coördinaten van de verzameling. Doe hetzelfde met de
richting van links naar rechts zodat je de left en right punten hebt van
de verzameling.
- Dus 8 volgordes van kruisingen levert dit op. Oftewel:
A---B
| |
C---D
AD, BC
AD, CB
CB, DA
CB, AD
BC, DA
BC, AD
DA, CB
DA, BC
Dus komt 1 van deze patronen voor in uw permutatie van uw verzameling van
punten dan heb je een kruis te pakken.
Met veel plezier gebrouwen,
Patrick ten Bruggencate.
24-10-2020
Heerlen