首先,这不是一个编程问题(语法等),因为它只是我试图弄清楚一个问题)。如果这不是正确的区域,甚至是正确的网站,我很抱歉。为了记录,这是在php中计算的,数据来自sql数据库。 我一直在研究一个xy坐标系的地图系统,然而,它的布局方式是在'单元格中,它们像标准网格系统一样在更大的范围内组织(右边是x +,上面是y +) 棘手的部分是实际的内容'在x和y轴上以一个角度布局,使得一般的想法是这样的:
红色字体显示"单元格坐标" (标有纯黑色轮廓)
'细胞内的黑色字体'是内容坐标。单元格0,0以内容0,0开头,单元格0,1以5,5开头 这在产品中显示的方式是这样的(细胞被概述 - 忽略不匹配的河瓦) 对于重叠外观,定位是交错的。在产品中,y轴几乎完美地对角线运行,x轴垂直延伸。
我知道要找到' root'的内容坐标。 coord(相对0,0)它是这样的:
$contentRootX=($cellX+$cellY)*5;
$contentRootY=($cellY-$cellX)*5;
当我给出一组坐标时,我试图找到CellX和CellY是什么时,我的问题就出现了。除非我的大脑放弃了我的基本代数和方程式......否则你无法在没有CellY的情况下解决CellX问题 这就是为什么我来到这里:有没有人有解决方案,甚至是一个简单的解决方法,能够计算单元格的X和Y.
旁注:我试图进行方程式简化,导致CellX =(X-5Y)/ 26 ......但是每次都会返回一个小数,无论我如何绕它(中间圆,ceil, ()),它将返回无效的x响应。例子:
2,-3(应返回CellX = 0)。 0.653。唯一有效的操作是获得0 因此,如果你总是对结果进行平局,那么0,10将是一个例外:-1.923(应该向上舍入到1)....即使在同一个单元格中,另一个结果也需要舍入DOWN ....所以标准方程式不是#39; t提供我可以使用的任何信息...如果你能找到一个等式返回的值的模式,并找到一种方法来区分你必须向下和向上舍入,知道
答案 0 :(得分:0)
所以你真的在使用两个主要部分:“单元格坐标”和“内容坐标”。对我来说,这似乎相当混乱,因为对于单元格和内容使用(X,Y)系统是相同的,这可能会产生潜在的问题。你需要将两者分开。例如,对于单元格坐标具有字母(A,B,C,D),对于内容坐标具有数字。虽然,第二个想法,似乎没有必要同时拥有两者。是否应该保留两者取决于您首先使用它们的原因。
您提供的第一张图表非常不准确,所以我希望它只是一个例子来解释您解决问题的方法。单元格位置不正确。如果单元格坐标不正确,那么其他任何内容都没有意义。我离题了。
我认为你的问题有些循环:“当我试图找到CellX和CellY时,给定一组坐标......你不能解决没有Cell Y的Cell X”
嗯......当你“给出一套坐标”时,你不知道你需要的信息吗?如果您的真正问题是“如何使用不同的坐标集找到一组坐标?”那是一个不同的问题。如果那是你的问题,那么答案是你的另一个问题 - 它取决于所需坐标在X轴和Y轴上的位置是否不同。如果所需的单元格(您正在查找的单元格)只在一个方向上,那么您只需要一个给定系统的坐标。例如,如果我告诉您在车内驾驶北(纬度)5英里,则您不需要知道东/西(经度)..因为你刚刚驾驶北。
在我看来,你需要确保你的图表系统是可靠的。如果你的图表系统已经关闭,那么你的坐标是什么并不重要。练习在方格纸上绘制点并计算“坡度”,就像我们在高中时所做的那样。使用公式找到斜率将帮助你解决这个问题。
BTW - 我不是这方面的专家,我没有任何游戏行业的经验(无论如何编程)。但是,我经常编程并在大学里研究了相当数量的计算。