从多边形障碍物

时间:2018-03-15 11:22:20

标签: geometry game-engine computational-geometry

假设我有一个大的地图(比如20000x20000)由大量(20000)三角形障碍物(带整数坐标)定义,可能会重叠。

示例地图: enter image description here

是否存在生成布尔网格20000x20000的快速方法,其中单元格(i,j)如果位于可用空间中则为0,如果(大部分)位于三角形内,则为1?

1 个答案:

答案 0 :(得分:0)

最简单的方法 - 利用任何图形库的设施 - 使用8位(对于8位布尔类型)位图,将这些三角形以白色绘制到黑色背景上。因此,位图存储器将在所需位置包含0 / 0xFF值。

您也可以使用自己的三角形栅格化例程来填充布尔矩阵。

似乎反向方法 - 检查每个点是否属于某个三角形 - 即使对于三角形的空间数据结构也应该更慢