C语言辛普森道路测量正反算,秒杀5800计算器
/*道桥测量用C语言源程序*/
/*此版本为未完成版本,只能由路线的平曲线元素计算全线中桩坐标或反算桩号*/
/*本人小白,拿出来纯属希望能得到高手指点,最终目标是完成C语言的道桥测量三维坐标正反算程序,使道桥测量计算多一些选择(5800的反算太痛苦了)*/
/*win7+wintc1.9.1编译通过,wm6.1手机+pocketdos1.12.1+turboc2.0编译通过*/ /*!!!下载后改成任意名.C编译后才能使用!!!*/
/*各种智能手机均可以通过安装DOSBOX或POCKETDOS等使用该程序,诺基亚E71反算时间约5秒*/
/*版权没有,请随意复制、修改、使用、传播*/
/*bc12358于2010.12.25*/
/*bc12358@http://doc.xuehai.net*/
#include "stdio.h"
#include "math.h"
/*定义输出结构?/
struct tag
{
double x,y,z;
}xx,yy,zz;
/*子函数:由桩号计算坐标,输入中桩桩号,输出x,y,方位角*/
struct tag xps(double dki)
{
/*n为复化辛普森积分法的分段数,n越大精度越高,计算时间也越长,n=2已经能满足一般要求*/
int k,m=0,n=64;
double a,b,c,d,h,s1,s2;
double
qx[][7]={
/*曲线元素表:{起点桩号,终点桩号,起点X,起点Y,起点方位角,起点半径,终点半径}*/
{20058.839, 20238.839, 4201152.834, 465521.276, 5.65395484192746, +0000.000, +1500.000},
{20238.839, 20816.464, 4201300.426, 465418.290, 5.71395484980653, +1500.000, +1500.000},
{20816.464, 20996.464, 4201834.240, 465207.124, 6.09903818731417, +1500.000, +0000.000},
{20996.464, 21116.464, 4202012.345, 465181.272, 6.15903858304419, +0000.000, -1244.010},
{21116.464, 21538.232, 4202131.155, 465164.502, 6.11080747575542, -1244.010, -1244.010},
{21538.232, 21658.232, 4202526.610, 465023.770, 5.77176839646516, -1244.010,