TIL:三角形网格
我一直在和一个使用三角形网格的朋友卡在一个小游戏原型上。 弄清楚如何建立坐标系是一个噩梦。 三角形超级怪异! 目前,我们已经对其进行了设置,以使每排三角形共享一个y坐标,然后x坐标会根据您所处的y位置而有所波动。 像这样: 这对于将地图存储在内存中非常方便,但是对于回答诸如“这两个三角形彼此之间的距离有多远”或“玩家单击了哪个三角形”甚至什至“我在哪里绘制此三角形”这样的问题都不太好三角形”。 在此坐标系中,(0,0)和(2,1)之间还有另外两个三角形,但是(1,0)和(3,1)共享一个公共点。 因此,弄清楚三角形的相邻位置取决于该三角形的特定位置。 阿米特·帕特尔(Amit Patel)当然已经考虑了这个问题。 他建议使用类似偏斜正方形网格的坐标系,在该坐标系中,将每个正方形沿对角线一分为二。 在此系统中,存在三个坐标: x , y和R。 x和y坐标告诉您所处的菱形, R坐标告诉您是处于菱形的左下角三角形的一半还是右上角的三角形,因此它只是二进制0或1。 (Amit标记了两个选项L和R…