- 论坛徽章:
- 0
|
本帖最后由 dahaoshanhe 于 2013-06-01 09:40 编辑
输入文件:- 632477.4 5156466.2
- 632496.4 5156459.7
- 632515.3 5156453.2
- 632534.1 5156446.6
- 632553.2 5156440.2
- 632572.0 5156433.6
复制代码 写的小代码:- awk '
- BEGIN{
- azi=109
- du=(450-azi)/360*3.14159265*2
- cosa=cos(du)
- sina=sin(du)
- }
- {
- x=$1*cosa+$2*sina
- y=$2*cosa-$1*sina
- printf "consa= %s sina= %s x= %s y= %s newx=%.3f newy=%.3f\n", cosa,sina,$1,$2,x,y
- }' xyfile > forward_xyfile
复制代码 计算结果文件:- consa= 0.945519 sina= -0.325568 x= 632477.4 y= 5156466.2 newx=-1080762.088 newy=5081449.069
- consa= 0.945519 sina= -0.325568 x= 632496.4 y= 5156459.7 newx=-1080742.007 newy=5081449.109
- consa= 0.945519 sina= -0.325568 x= 632515.3 y= 5156453.2 newx=-1080722.021 newy=5081449.116
- consa= 0.945519 sina= -0.325568 x= 632534.1 y= 5156446.6 newx=-1080702.096 newy=5081448.997
- consa= 0.945519 sina= -0.325568 x= 632553.2 y= 5156440.2 newx=-1080681.953 newy=5081449.164
- consa= 0.945519 sina= -0.325568 x= 632572.0 y= 5156433.6 newx=-1080662.029 newy=5081449.044
复制代码 运用 bc -l 运算- 632477.4*0.945519+5156466.2*-0.325568
- -1080760.9890310
复制代码 疑问 怎么一个是 -1080762.088 一个是 -1080760.9890310
为什么会有误差呢,如何能将这个误差消除呢。 |
|