曲线任意里程中边桩坐标正反算修改程序5800.docx
- 文档编号:11841328
- 上传时间:2023-04-05
- 格式:DOCX
- 页数:14
- 大小:24.88KB
曲线任意里程中边桩坐标正反算修改程序5800.docx
《曲线任意里程中边桩坐标正反算修改程序5800.docx》由会员分享,可在线阅读,更多相关《曲线任意里程中边桩坐标正反算修改程序5800.docx(14页珍藏版)》请在冰豆网上搜索。
曲线任意里程中边桩坐标正反算修改程序5800
曲线任意里程中边桩坐标正反算修改程序
本程序由一个主程序(ZB)和四个子程——正算子程序(SUB1)、反算子程序(SUB2)、放样子程序(SUB3)、数据源子程序(SUB0)序构成。
此程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
也可以在CASIOfx-4500P计算器及CASIOfx-4800P计算器上运行。
1.主程序(ZB)
"1.SZ=>XY":
"2.XY=>SZ":
N:
N=2=>Goto2:
≠>Goto1Δ←┘
Lbl1:
{SZN}:
S:
Prog"SUB0":
Z:
N=90:
W=Abs(S-O):
Prog"SUB1":
"XS":
X◢
"YS":
Y◢
Prog"SUB3"←┘
Goto1←┘
Lbl2:
{XYS}:
XYS:
I=X:
J=Y:
Prog"SUB2":
"S":
S=O+W◢
"Z":
Z◢
Goto2
注:
如将N=90改为N,可计算斜交。
2.正算子程序(SUB1)
A=0.1739274226:
B=0.3260725774:
K=0.0694318442:
L=0.3300094782:
F=1-L:
M=1-K:
X=U+W(Acos(G+Q(180÷π)KW((1÷P)+KW((P-R)÷(2HPR))))+Bcos(G+Q(180÷π)LW((1÷P)+LW((P-R)÷(2HPR))))+Bcos(G+Q(180÷π)FW((1÷P)+FW((P-R)÷(2HPR))))+Acos(G+Q(180÷π)MW((1÷P)+MW((P-R)÷(2HPR))))):
Y=V+W(Asin(G+Q(180÷π)KW((1÷P)+KW((P-R)÷(2HPR))))+Bsin(G+Q(180÷π)LW((1÷P)+LW((P-R)÷(2HPR))))+Bsin(G+Q(180÷π)FW((1÷P)+FW((P-R)÷(2HPR))))+Asin(G+Q(180÷π)MW((1÷P)+MW((P-R)÷(2HPR))))):
F=G+Q(180÷π)W((1÷P)+W((P-R)÷(2HPR))):
X=X+Zcos(F+N):
Y=Y+Zsin(F+N)
注:
如应用Defm命令用Z[i]将部分字母代替出来,用以扩充变量,以实现二次运行同一程序时输入值不变。
3.反算子程序(SUB2)
Lbl0:
Prog"SUB0":
T=G-90:
W=Abs((Y-V)cosT-(X-U)sinT):
W≥H=>S=S+H:
Goto0Δ←
Z=0:
Lbl1:
N=90:
Prog"SUB1":
L=T+Q(180÷π)W((1÷P)+W((P-R)÷(2HPR))):
Z=(J-Y)cosL-(I-X)sinL:
AbsZ<1e-6=>Goto2:
≠>W=W+Z:
Goto1Δ←┘
Lbl2:
Z=0:
Prog"SUB1":
Z=(J-Y)÷sin(F+90)
注:
SUB1、SUB2中(1÷P)、((P-R)÷(2HPR)、(180÷π)为原程序中的C、D、E。
4.放样子程序(SUB3)
{CDET}:
C"XJ":
D:
"YJ":
E"XH":
T:
"YH":
X:
Y:
I=0:
J=0:
Pol(E-C,T-D):
J<0=>J=J+360Δ←┘
"HSFW":
J->DMS◢
N=J:
"HSJL":
I◢
Pol(X-C,Y-D):
J<0=>J=J+360Δ←┘
"QSFW":
J->DMS◢
N=J-N:
N<0=>N=N+360Δ←┘
"QSZJ":
N->DMS◢
"QSJL":
I◢
5.数据源子程序(SUB0):
对O"S0":
U"X0":
V"Y0":
G"F0":
H"LS":
P"R0":
R"RN":
Q进行赋值。
6.数据库(SUB4)
S≥500=>S<769.256=>O=500:
U=19942.837:
V=28343.561:
G=125。
16。
31.00。
:
H=269.256:
P=1e45:
R=1e45:
Q=0ΔΔ←┘
S≥769.256=>S<806.748=>O=769.256:
U=19787.340:
V=28563.378:
G=125。
16。
31.00。
:
H=37.492:
P=1e45:
R=221.75:
Q=-1ΔΔ←┘
S≥806.748=>S<919.527=>O=806.748:
U=19766.566:
V=28594.574:
G=120。
25。
54.07。
:
H=112.779:
P=221.75:
R=221.75:
Q=-1ΔΔ←┘
S≥919.527=>S<999.812=>O=919.527:
U=19736.072:
V=28701.893:
G=91。
17。
30.63。
:
H=80.285:
P=221.75:
R=9579.228:
Q=-1ΔΔ←┘
S≥999.812=>S<1099.812=>O=999.812:
U=19744.038:
V=28781.659:
G=80。
40。
50.00。
:
H=100.000:
P=1e45:
R=1e45:
Q=0ΔΔ←┘
三、使用说明
1、规定
(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2)当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线中线右侧时,Z取正值。
(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径
(6)当线元为非完整缓和曲线时,起点(止点)与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1.SZ=>XY
2.XY=>SZ
N?
选择计算方式,只有输入2时进行坐标反算,其余均为正算。
S0?
线元起点里程
X0?
线元起点的X坐标
Y0?
线元起点的Y坐标
LS?
线元长度
F0?
线元起点切线方位角
R0?
线元起点曲率半径
RN?
线元止点曲率半径
Q?
线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
S?
正算时所求点的里程
Z?
正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
XJ?
正算时置镜点X坐标
YJ?
正算时置镜点Y坐标
XH?
正算时后视点X坐标
YH?
正算时后视点Y坐标
X?
反算时所求点的X坐标
Y?
反算时所求点的Y坐标
S?
反算时给定一初始里程(必须起点里程小于计算点里程,无法判断时输起始里程,越接近计算越快)。
显示部分:
XS=×××正算时,计算得出的所求点的X坐标
YS=×××正算时,计算得出的所求点的Y坐标
HSFW=×××正算时,置镜点到后视点的后视方位角
HSJL=×××正算时,置镜点到后视点的后视距离
QSFW=×××正算时,置镜点到前视点的前视方位角
QSZJ=×××正算时,视线自后视到前视的顺时针转角
QSJL=×××正算时,置镜点到前视点的前视距离
S=×××反算时,计算得出的所求点的里程
Z=×××反算时,计算得出的所求点的边距
四、算例
某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组成,各段线元的要素(起点里程S0、起点坐标X0Y0、起点切线方位角F0、线元长度LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志Q)如下:
S0X0Y0F0LSR0RNQ
500.00019942.83728343.5611251631.00269.2561E451E450
769.25619787.34028563.3781251631.0037.4921E45221.75-1
806.74819766.56628594.5741202554.07112.779221.75221.75-1
919.52719736.07228701.893911730.6380.285221.759579.228-1
999.81219744.03828781.659804050.00100.0001E451E450
1、正算
S=700Z=-5计算得XS=19831.41785YS=28509.72590
S=700Z=0计算得XS=19827.33592YS=28506.83837
S=700Z=5计算得XS=19823.25398YS=28503.95084
S=780Z=-5计算得XS=19785.25749YS=28575.02270
S=780Z=0计算得XS=19781.15561YS=28572.16358
S=780Z=5计算得XS=19777.05373YS=28569.30446
S=870Z=-5计算得XS=19747.53609YS=28654.13091
S=870Z=0计算得XS=19742.68648YS=28652.91379
S=870Z=5计算得XS=19737.83688YS=28651.69668
S=940Z=-5.123计算得XS=19741.59118YS=28722.05802
S=940Z=0计算得XS=19736.47687YS=28722.35642
S=940Z=3.009计算得XS=19733.47298YS=28722.53168
2、反算
X=19831.418Y=28509.726计算得S=699.9999974Z=-5.00018164
X=19827.336Y=28506.838计算得S=699.9996493Z=0.000145136
X=19823.25398Y=28503.95084计算得S=699.9999985Z=5.000003137
X=19785.25749Y=28575.02270计算得S=780.0000035Z=-5.000001663
X=19781.15561Y=28572.16358计算得S=780.0000025Z=-0.000002979
X=19777.05373Y=28569.30446计算得S=780.0000016Z=4.99999578
X=19747.536Y=28654.131计算得S=870.0001137Z=-4.99941049
X=19742.686Y=28652.914计算得S=870.0003175Z=-0.00041814
X=19737.837Y=28651.697计算得S=870.0002748Z=4.999808656
X=19741.5912Y=28722.0580计算得S=939.9999786Z=-5.123024937
X=19736.4769Y=28722.3564计算得S=939.9999862Z=-0.000027710
X=19733.4730Y=28722.5317计算得S=940.0000238Z=3.00898694
3、放样
例:
以起点为置镜点XJ=19942.837,YJ=28343.561后视点XH=19948.837,YH=28343.561
S=700Z=-5计算得XS=19831.41785YS=28509.72590
HSFW=0。
00。
00。
HSJL=6QSFW=123。
50。
35.45。
QSZJ=123。
50。
35.45。
QSJL=200.0624902
S=700Z=0计算得XS=19827.33592YS=28506.83837
HSFW=0。
00。
00。
HSJL=6QSFW=125。
16。
31。
QSZJ=125。
16。
31。
QSJL=200
S=700Z=5计算得XS=19823.25398YS=28503.95084
HSFW=0。
00。
00。
HSJL=6QSFW=126。
42。
26.55。
QSZJ=126。
42。
26.55。
QSJL=200.0624902
注意事项:
1、程序使用前状态:
(1)角度必须60进制,屏幕显示“D”
(2)屏幕设置Norm1,设置方式Function=>6DSP/CLR=>3Norm=>1设定
2、当使用数据库运算时,计算的里程必须在最小里程和最大里程范围之内,否则无法显示。
例如在运行程序6中的数据库时所输入的里程S<500或S>1099.812时,程序显示“error”
3、主程序(ZB)中Prog"SUB0"是使用数据源,当你需要使用数据库"SUB4"时只需要把Prog"SUB0"中的"SUB0"改为"SUB4"即可,相反同理。
4、本主程序(ZB)加了放样所以显示与输入的内容比较多,如果不需要放样程序的时候可以把主程序(ZB)中的Prog"SUB3"←┘删除,需要用的时候在加进去原来地方,可以按照需要做相应的修改。
曲线任意里程中边桩坐标正反算(CASIOfx-4800P计算器)程序
一、程序功能
本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(
SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线
元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲
率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
另
外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲
线任意里程中边桩坐标进行正反算。
本程序也可以在CASIOfx-4500P计算器及CASIOfx-4850P计算器上运行。
特别申明:
(1).适用于弧长小于2倍半径的各种线元坐标正反算,精度优
于1mm;
(2).在引用该核心计算部分时,请注明来源。
二、源程序
1.主程序(TYQXJS)
"1.SZ=>XY":
"2.XY=>SZ":
N:
U"X0":
V"Y0":
O"S0":
G"F0":
H"LS":
P"R0":
R"
RN":
Q:
C=1÷P:
D=(P-R)÷(2HPR):
E=180÷π:
N=1=>Goto1:
≠>Goto2Δ←┘
Lbl1:
{SZ}:
SZ:
W=Abs(S-O):
Prog"SUB1":
X"XS"=X◢
Y"YS"=Y◢
F"FS"=F-90◢
Goto1←┘
Lbl2:
{XY}:
XY:
I=X:
J=Y:
Prog"SUB2":
S"S"=O+W◢
Z"Z"=Z◢
Goto2
2.正算子程序(SUB1)
A=0.1739274226:
B=0.3260725774:
K=0.0694318442:
L=0.3300094782:
F=1-L:
M=1-K:
X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW
(C+FWD))+Acos(G+QEMW(C+MWD))):
Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+
QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))):
F=G+QEW(C+
WD)+90:
X=X+ZcosF:
Y=Y+ZsinF
3.反算子程序(SUB2)
T=G-90:
W=Abs((Y-V)cosT-(X-U)sinT):
Z=0:
Lbl0:
Prog"SUB1":
L=T+QEW(C+
WD):
Z=(J-Y)cosL-(I-X)sinL:
AbsZ<1E-6=>Goto1:
≠>W=W+Z:
Goto0Δ←┘
Lbl1:
Z=0:
Prog"SUB1":
Z=(J-Y)÷sinF
三、使用说明
1、规定
(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2)当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右
侧时,Z取正值。
(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6)当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1.SZ=>XY
2.XY=>SZ
N?
选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算
里程和边距。
X0?
线元起点的X坐标
Y0?
线元起点的Y坐标
S0?
线元起点里程
F0?
线元起点切线方位角
LS?
线元长度
R0?
线元起点曲率半径
RN?
线元止点曲率半径
Q?
线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
S?
正算时所求点的里程
Z?
正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X?
反算时所求点的X坐标
Y?
反算时所求点的Y坐标
显示部分:
XS=××× 正算时,计算得出的所求点的X坐标
YS=××× 正算时,计算得出的所求点的Y坐标
FS=××× 正算时,所求点对应的中线点的切线方位角
S=××× 反算时,计算得出的所求点的里程
Z=××× 反算时,计算得出的所求点的边距
验证过的数据,
缓和曲线左偏
S0=87418.227 X0=4581068.056Y0=484543.0267F0=347°25′50.78″LS=340R0=10^45 RN=3000 Q=-1
(已验证过:
正算正确 反算正确)
第一缓和曲线段桩号:
正算
K87+460左(-)13m s?
87460 z?
-13 XS=4581105.985 YS=484521.2385
K87+460中线上0m s?
87460 z?
0 XS=4581108.825 YS=484533.9245
K87+460右(+)13m s?
87460 z?
13 XS=4581111.665 YS=484546.6105
反算
X=4581105.985 Y=484521.2385 S=87459.99964 Z=-13.00004001
X=4581108.825 Y=484533.9245 S=87459.99965 Z=-0.00005237499
X=4581111.665 Y=484546.6105 S=87459.99984 Z=12.99997507
K87+600左(-)13m XS=4581242.22 YS=484489.8717
K87+600中线上0m XS=4581245.254 YS=484502.5126
K87+600右(+)13m XS=4581248.289 YS=484515.1536
反算
X=4581242.22 Y=484489.8717 S=87599.99981 Z=-13.00001607
X=4581245.254 Y=484502.5126 S=87599.99982 Z=-0.00006918891
X=4581248.289 Y=484515.1536 S=87600.00043 Z=13.00012293
K87+740左(-)13m XS=4581377.383 YS=484455.1799
K87+740中线上0m XS=4581380.852 YS=484467.7085
K87+740右(+)13m XS=4581384.321 YS=484480.2371
反算
X=4581377.383 Y=484455.1799 S=87740.00013 Z=-12.99998575
X=4581380.852 Y=484467.7085 S=87740.00013 Z=-0.00000001556
X=4581384.321 Y=484480.2371 S=87739.9999 Z=12.99999725
K87+758.227左(-)13m XS=4581394.861 YS=484450.2853
K87+758.227中线上0m XS=4581398.404 YS=484462.7931
K87+758.227右(+)13m XS=4581401.947 YS=484475.3009
反算
X=4581394.861 Y=484450.2853 S=87758.22744 Z=-12.99983181
X=4581398.404 Y=484462.7931 S=87758.22741 Z=0.00011225994
X=4581401.947 Y=484475.3009 S=87758.22721 Z=13.00000741
姓名:
wendi1685
06-1-2021:
36
评:
+5分
S0=87758.227 X0=4581398.409Y0=484462.791F0=344°11′3″LS=2603.31R0=3000RN=3000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 曲线 任意 里程 中边桩 坐标 正反 修改 程序 5800