-3

正如主题所暗示的,我正在尝试从二进制地图中计算出渐变的可见性地图。

也就是说,我有一个栅格地图,其中每个值用“1”表示其可见性,用“0”表示其不可见性。

我想让地图中可见部分的边界使用三次渐变函数渐变,以便它在边界处从零平滑地变为一。我不知道如何全局计算这种平滑的斜坡。我需要在 C 中使用数组来完成。

4

1 回答 1

2

基本算法相当简单:一次扫描地图,查看 NxM 个子集(通常 N 和 M 都等于大约 5 左右)。对于每个这样的窗口,您将计算一个输出像素作为中心像素及其相邻像素的平均值。由于您需要立方(而不是线性)过渡,因此您将根据立方与中心距离的倒数对每个像素进行加权。

于 2012-11-19T20:05:19.747 回答