?? 小算法.txt
字號(hào):
/*去除冗余點(diǎn),這里舉對(duì)帶有連續(xù)點(diǎn)的一般情形,以枳溝鎮(zhèn)數(shù)據(jù)為例*/
# include "stdio.h"
# include "math.h"
main()
{static double bx[20],by[20],
ax[20]={3983612.147,
3983635.207,
3983633.399,
3983628.425,
3983638.946,
3983645.917,
3983646.963,
3983664.146,
3983664.747,
3983676.569,
3983669.373,
3983669.887,
3983661.150,
3983637.636,
3983627.336,
3983609.956,
3983561.033,
3983543.008,
3983533.353,
3983518.773
},
ay[20]={693021.471,
693057.223,
693095.237,
693123.295,
693134.922,
693158.844,
693189.367,
693205.206,
693232.038,
693272.162,
693308.685,
693350.352,
693379.674,
693415.529,
693445.166,
693467.715,
693523.123,
693555.337,
693578.531,
693624.649
};
double a1,a2;
int i,j=0;
for (i=0;i<20;i++)
{
a1=(ay[i+1]-ay[i])/(ax[i+1]-ax[i]);
a2=(ay[i+2]-ay[i])/(ax[i+2]-ax[i]);
if(fabs(a1-a2)>=1e-4)
{bx[j+1]=ax[i+1];
by[j+1]=ay[i+1];
j=j+1;
}
else
{bx[j+1]=ax[i+2];
by[j+1]=ay[i+2];
}
}
bx[0]=ax[0];by[0]=ay[0];
for (i=0;i<j;i++)
{printf("bx[%d]= %.3f ",i,bx[i]);
printf("by[%d]= %.3f ",i,by[i]);
printf ("\n");
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -