假设我有一个大的地图(比如20000x20000
)由大量(20000
)三角形障碍物(带整数坐标)定义,可能会重叠。
是否存在生成布尔网格20000x20000的快速方法,其中单元格(i,j)如果位于可用空间中则为0,如果(大部分)位于三角形内,则为1?
答案 0 :(得分:0)
最简单的方法 - 利用任何图形库的设施 - 使用8位(对于8位布尔类型)位图,将这些三角形以白色绘制到黑色背景上。因此,位图存储器将在所需位置包含0 / 0xFF值。
您也可以使用自己的三角形栅格化例程来填充布尔矩阵。
似乎反向方法 - 检查每个点是否属于某个三角形 - 即使对于三角形的空间数据结构也应该更慢