I et 2 dimensionalt og strengt positivt koordinatsystem skal i lave en algoritme som finder det punkt som er tættest på jeres startpunkt. Altså den korteste afstand fra nuværende position.
Når vi ser på koordinatsystemet er der flere måde vi kan løse det på.
Vi kan lave en cirkel og se hvilket punkt den rammer først.
Vi kan også måle fra hvert punkt og ind til vores startpunkt og derfra aflæse hvilket har kortest afstand.
Vi har ikke helt samme muligheder når vi selv skal lave et værktøj (eller har vi)?
Dog kan vi bruge vores viden om arrays og matematik til at lave en løsning.
Vi starter med at antage at alle punkter er i heltal, for at gøre det lidt nemmere.
En måde at finde diagonalen på som i forhåbentligt kender på forhånd er ved brug af Pythagoras $a^2+b^2=c^2$
Når vi befinder os i et 2D koordinatsystem med positive tal, virker den formel.
Opgaven går på at i skal lave en algoritme som fra startpunktet [5,2] - måler på hvilket punkt der er nærmest.
Punkterne bliver eller kan blive lavet på følgende måde:
let i = 0;
let punkter = [];
while (i < 20)
{
punkter[i] = [Math.floor(Math.random() * 10), Math.floor(Math.random() * 10)]
}
Hvis man vil style det ekstra meget og vise ens funktion kan man bruge følgende:
Building a coordinate system in CSS and HTML