Berekenen in welk vak het coördinaat is
Ik zou graag met php willen berekenen in welk vak een bepaald coördinaat zich bevind.
Normaal gesproken zou dit geen probleem zijn, maar nu heb ik een schuin veld zoals je kunt zien in de afbeelding. Na veel denkwerk krijg ik nog altijd verkeerde berekeningen, weet iemand hoe ik dit het beste kan doen?
Er zijn 8x8 velden.
De velden zijn 80px breed en 40 px hoog.
Edit:
Probeer het bord te draaien.. Dat maakt het berekenen ook wat simpeler.
Gewijzigd op 07/05/2011 15:16:55 door Kumkwat Trender
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim regel
Dim kolom
For regels = 0 To 8
For xcor = 0 To 160
If regel Is Nothing Then
If (400 - regels * 40 + xcor * 2) < x And (200 + regels * 20 + xcor) > y Then
regel = regels
End If
End If
If kolom Is Nothing Then
If (400 + regels * 40 - xcor * 2) > x And (200 + regels * 20 + xcor) > y Then
kolom = regels
End If
End If
Next
Next
Dim kolom
For regels = 0 To 8
For xcor = 0 To 160
If regel Is Nothing Then
If (400 - regels * 40 + xcor * 2) < x And (200 + regels * 20 + xcor) > y Then
regel = regels
End If
End If
If kolom Is Nothing Then
If (400 + regels * 40 - xcor * 2) > x And (200 + regels * 20 + xcor) > y Then
kolom = regels
End If
End If
Next
Next
Dit is Visual Basic, waarom post je dat hier?
Klik
Het raster zelf is 430 * 430 pixels, dit zou betekenen dat je voor het midden van vakje:
A = (217; 27) hebt en voor vakje
B = (217; 188) hebt en voor vakje
C = (403; 208) hebt.
Althans dat denk ik hoor...
Roel van de Water op 07/05/2011 17:26:22:
Dit is Visual Basic, waarom post je dat hier?
Als iemand hetzelfde probleem zou hebben kunnen ze de berekening hier wel uit afleiden?
Mijn figuur heeft de vorm 640x320, deze vorm past beter in mijn geheel. Het is lastig om hem normaal horizaltaal en verticaal te berekenen omdat de vakken een schuine zeide hebben.
Yearupie Achternaamloos op 07/05/2011 16:34:22:
Het was een snel gemaakte schets. overigens heb ik al een oplossing gevonden..
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim regel
Dim kolom
For regels = 0 To 8
For xcor = 0 To 160
If regel Is Nothing Then
If (400 - regels * 40 + xcor * 2) < x And (200 + regels * 20 + xcor) > y Then
regel = regels
End If
End If
If kolom Is Nothing Then
If (400 + regels * 40 - xcor * 2) > x And (200 + regels * 20 + xcor) > y Then
kolom = regels
End If
End If
Next
Next
Dim kolom
For regels = 0 To 8
For xcor = 0 To 160
If regel Is Nothing Then
If (400 - regels * 40 + xcor * 2) < x And (200 + regels * 20 + xcor) > y Then
regel = regels
End If
End If
If kolom Is Nothing Then
If (400 + regels * 40 - xcor * 2) > x And (200 + regels * 20 + xcor) > y Then
kolom = regels
End If
End If
Next
Next
Nu in PHP omzetten :p