#define _CRT_SECURE_NO_DEPRECATE#include stdioh#include stdlibh#define PIXEL_SIZE 50 像素大小#define NO_DATA_VALUE -99990 无效像素值int main FILE fp_dem; const char filename = Dkjfxdemtif; int width
这个程序存在一个问题,就是在计算体积的过程中,可能会出现被除数为0的情况,导致计算结果为NaN(Not a Number)或Inf(Infinity)。具体来说,在计算挖方体积时,如果两个相邻像素的高度相等,那么计算出的差值为0,此时除以像素面积(即PIXEL_SIZE * PIXEL_SIZE),结果就会变成NaN或Inf。
为了解决这个问题,我们可以在计算之前先判断一下当前像素和相邻像素的高度是否相等,如果相等就跳过计算。修改后的程序如下:
原文地址: https://www.cveoy.top/t/topic/fsv3 著作权归作者所有。请勿转载和采集!