2D空间中的视线遮挡判断
地图用二维数组表示,0为无障碍,1为有障碍.
给出两个点(x1, y1)(x2, y2),如果要判断这两个点之间是否有障碍遮挡的话,一般的做法的时间复杂度都至少是O(n),需要判断两点连线上的所有格子.
想通过预处理的方法,将时间复杂度降低到O(1),因此提出了以下方法:
每个格子上标记一个数值,如果给出的两点上的数值差的范围在[-n, n]范围内,则认为他们之间没有障碍.现在的问题是如果用一个数值去标记这些格子.
问题1:是否存在这样的一系列数值可以满足这个要求?即解的存在性.
问题2:遍历标记求解的收敛效率是否和n的大小有关?
问题3:我觉得应该有类似的问题存在,是否有前人的研究结果?如能告知,不胜感激!