将正方形的组合分成三角形并计算坐标
Divide a combination of squares into triangle and calculate coordinates
我的图表达了这个想法。
例如:我将square
1分成triangle
1和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)
我的图表达了这个想法。
例如:我将square
1分成triangle
1和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)