Ik programmeer een soort zeeslag en zit vast met een formule.
Ik heb een speelveld van 100 bij 100 punten.
Ik heb nu 4 variabelen: snelheid, koers, x en y.
snelheid wordt nu even voor het gemak genomen in punten per
seconden en koers in graden 0 tot 360. (0 is absoluut noord)
De rasterpunten worden gemeten met een precisie van 2 getallen
achter de komma.
Stel, ik heb een bootje op locatie 50,50 die vaart met 3 punt per
seconde en heeft een koers van 135 graden.
Hoe bereken ik de volgende coordinaten, ik probeerde het met
cos (x-coordinaat) en sin (y-coordinaat) te berekenen, omdat ik
de hoek en afgelegde afstand weet, maar ik mijn formule klopt niet.
Ik dacht de nieuwe coordinaten worden dan zo berekend:
xVerschil = afstand / Math.cos(koers % 90);
yVerschil = afstand / Math.sin(koers % 90);
Aan de hand van het aantal graden wordt daarna dit vershil bij de
coordinaten opgeteld of afgetrokken.
Helaas geeft dit als uitkomst NaN bij het uitprinten van het verschil.
Wie heeft er een wiskunde knobbel en weet mijn formule te verbeteren?
Misschien heb je wel een veel betere oplossing of kun je een mij wijzen
op online info?
Elk beetje info is mooi meegenomen, maar het hoeft niet ingewikkeld te
worden.
Ik heb een speelveld van 100 bij 100 punten.
Ik heb nu 4 variabelen: snelheid, koers, x en y.
snelheid wordt nu even voor het gemak genomen in punten per
seconden en koers in graden 0 tot 360. (0 is absoluut noord)
De rasterpunten worden gemeten met een precisie van 2 getallen
achter de komma.
Stel, ik heb een bootje op locatie 50,50 die vaart met 3 punt per
seconde en heeft een koers van 135 graden.
Hoe bereken ik de volgende coordinaten, ik probeerde het met
cos (x-coordinaat) en sin (y-coordinaat) te berekenen, omdat ik
de hoek en afgelegde afstand weet, maar ik mijn formule klopt niet.
Ik dacht de nieuwe coordinaten worden dan zo berekend:
xVerschil = afstand / Math.cos(koers % 90);
yVerschil = afstand / Math.sin(koers % 90);
Aan de hand van het aantal graden wordt daarna dit vershil bij de
coordinaten opgeteld of afgetrokken.
Helaas geeft dit als uitkomst NaN bij het uitprinten van het verschil.
Wie heeft er een wiskunde knobbel en weet mijn formule te verbeteren?
Misschien heb je wel een veel betere oplossing of kun je een mij wijzen
op online info?
Elk beetje info is mooi meegenomen, maar het hoeft niet ingewikkeld te
worden.
AsRock 690FX Deluxe3 - AMD X4 640, 4GB PC6400 DualChannel Kingston - 1x OCZ 60GB SSD - Samsung SpinPoint 1TB