将正方形的组合分成三角形并计算坐标

Divide a combination of squares into triangle and calculate coordinates

我的图表达了这个想法。

例如:我将square1分成triangle1和2。所以三角形1的坐标是(0, 1); (0, 0); (1, 0;)和三角形 2 是 (0, 1); (1, 0); (1, 1)。与其余方块类似。

我必须使用哪种算法来计算所有三角形的剩余坐标。

只需将坐标移动(列、行)即可。如果您以线性方式对三角形编号,那么对于第 k 个三角形(Wdt 正方形在行中):

C = ((k - 1) / 2) mod Wdt   //integer modulo
R = (k - 1) / (2 * Wdt)  //integer division
if Odd(k)
    coords = (C, R + 1); (C, R); (C + 1, R)
else
    coords = (C, R + 1); (C + 1, R); (C + 1, R + 1)