De digitale vraagbaak voor het wiskundeonderwijs

home |  vandaag |  gisteren |  bijzonder |  gastenboek |  wie is wie? |  verhalen |  contact

HOME

samengevat
vragen bekijken
een vraag stellen
hulpjes
zoeken
FAQ
links
twitter
boeken
help

inloggen

colofon

  \require{AMSmath} Printen

Berekenen index van een ruit gegeven een coordinaat

Ik ben bezig met het programmeren van een spel, dit spel bevat een speelbord wat bestaat uit allemaal vierkantjes die 45 graden zijn gekanteld en iets naar achteren zijn geheveld. Daardoor ontstaat het idee dat het bord 3d is. Elk vakje ziet er voor de gebruiker nu uit als een ruit, in dit geval 20 hoog en 48 breed. Nu wil ik weten als een gebruiker klikt op het speelbord op welk vakje hij geklikt heeft. De enige gegevens die ik terugkrijg zijn de coordinaten op het scherm.

Hoe zet ik deze coordinaten van het scherm om naar de index van het speelbord? Bijvoorbeeld vakje 1 van links en vakje 2 van boven?

Voorbeeld op http://www.gamedev.net/reference/articles/taniso/MapIso.gif

Gr. Floran

Floran
Student hbo - woensdag 21 april 2004

Antwoord

Dag Floran,

De grenslijnen van je ruitjespatroon zijn allemaal te beschrijven met een (lineair) verband tussen de schermcoördinaten, dus:
y = a·x + b
waarbij a de helling is, en b de verticale afsnijding.

De lijnen van linksonder naar rechtsboven horen allemaal bij eenzelfde positieve waarde van a, die van rechtsboven naar linksonder hebben een waarde die hier juist aan tegengesteld is.
Bepaal nu eerst hoe groot jouw a is.
Stel dat deze waarde 0.5 is.
Bepaal vervolgens welke b-waarden er bij de lijnen horen.
Stel dat dit het volgende lijstje oplevert:
0, 100, 200, 300, enz.

Neem nu het punt met coördinaten (356, 719)
Bereken dan
y - 0.5·x = 541
en
y + 0.5·x = 897

Dan weet je dus dat dit punt ligt tussen de volgende vier lijnen:
y - 0.5·x = 500
y - 0.5·x = 600
y + 0.5·x = 800
y + 0.5·x = 900
en dan weet je ook het vakje.
Ik hoop dat je hier even mee verder kunt.
succes,
groet,

Wie is wie?
Vragen naar aanleiding van dit antwoord? Klik rechts..!
vrijdag 23 april 2004



home |  vandaag |  bijzonder |  gastenboek |  statistieken |  wie is wie? |  verhalen |  colofon

©2001-2024 WisFaq - versie 3