【发布时间】:2012-01-13 04:20:54
【问题描述】:
这对计算机科学家来说有点棘手。 假设我有一个 100 x 100 个条目的二维数组/矩阵,arr[i][j]。 i 和 j 从 0 到 99。 这可以设想为一个正方形的点,每个点对应一个数据值。
现在,如果我定义一个 4 点多边形并知道这 4 个点的索引: 是否有可能(是否有一个聪明的算法)只遍历矩阵中位于 4 点多边形内的那些条目? 也就是说,循环圈中 i 和 j 的每个值都对应于 arr[i][j] 中的一个有趣的值(i 和 j 在 4 点多边形内)。
这清楚吗?如果很难理解,我可以理解。
此致
【问题讨论】:
-
在网上搜索“扫描转换”。您会发现大量的教程和示例代码。
-
你本质上是在寻找一种填充算法,其中有很多。
-
非常感谢,这确实帮助解决了我的大部分问题。你知道这些算法是否也适用于参数化椭圆而不是多边形?
-
谢谢 Iskar,我也找到了那张纸。但我需要它是一个比轴对齐的更通用的椭圆。 /尼克
标签: c++ c loops real-time point-in-polygon