sql - Selection of neighbors cells in a hexagonal field -


हेक्सागोनल स्पेस 3 आयामों के साथ कल्पना करो।

प्रत्येक टाइल XYZ का समन्वय करता है मुझे उसी विमान में दिए गए सेल पड़ोसियों को चुनना होगा। एसक्यूएल के साथ ऐसा दिखता है:

  $ tbDir = $ y% 2 == 0? -1 1; $ Result = db_query ('SELECT x, y, z से {cells}} जहां x =% d और y =% d और z =% d या x =% d और y =% d और z =% d या x =% D और y =% d और z =% d या x =% d और y =% d और z =% d या x =% d और y =% d और z =% d या x =% d और y =% D और z =% d या x =% d और y =% d और z =% d ', $ x, $ y, $ z, $ x-1, $ y, $ z, $ x + 1, $ y , $ Z, $ x, $ y-1, $ z, $ x, $ y + 1, $ z, $ x + $ टीबीडीर, $ y-1, $ z, $ x + $ टीबीडीर, $ y + 1, $ जेड);  

लेकिन, मुझे इस तरह से पसंद नहीं है। शायद किसी को अधिक इष्टतम एल्गोरिदम पता है? धन्यवाद

ऐसा लगता है कि आप

  के बीच का उपयोग कर सकते हैं $ X-1 और $ x + 1 के बीच और $ y-1 और $ y + 1 और z = $ z  

के बीच यह शायद $ tbDir अनुभाग के लिए काम नहीं कर सकता है मैं इस मामले को और अधिक विस्तार से देखेंगे।

ठीक है, बल्कि इसे कोशिश

  जहां x के बीच ($ x-1 और $ x + 1 और y = $ Y और z = $ z) या (यानी $ y-1 और $ y + 1 और x = $ x और z = $ z) या (y $ y-1 और $ y + 1 और x = $ x के बीच + $ TbDir और z = $ z)  

या यहां तक ​​कि

  WHERE ((एक्स के बीच एक्स $ 1 और $ x + 1 और y = $ Y) या (y $ y-1 और $ y + 1 और x = $ x) या (यानी $ y-1 और $ y + 1 और x = $ x + $ tbDir) और z = $ z < / कोड> 

Comments

Popular posts from this blog

c# - How to capture HTTP packet with SharpPcap -

php - Multiple Select with Explode: only returns the word "Array" -

php - jQuery AJAX Post not working -