视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
CASIO fx-5800P线元法坐标正反算程序
2025-09-28 00:49:39 责编:小OO
文档
CASIO fx-5800P线元法坐标正反算程序

说明:本程序适用于卡西欧计算器 CASIO fx-5800P,可对全线贯通坐标正反算、竖曲线高程计算。该程序可计算任意线型,包含(直线、圆曲线、缓和曲线、卵形曲线)等,还可以能通过坐标反推该点里程和距中线距离,适用测量员专用。

主程序名:ABCYT

第1步 Deg:Fix 3:10→DimZ

第2步 Lbl 3:"1.DK=>XY":"2.XY=>DK":"Q"?W:"DK"?S:Prog"ABCYTSJ":If P=0:Then 10^(45)→P:IfEnd:If R=0:Then 10^(45)→R:IfEnd

第3步 1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If W=1:Then Goto 1:Else Goto2:IfEnd

第4步 Lbl 1:"W"?Z:"α"?N:Abs(S-O)→W:Prog "ABCYTZ"

第5步 Cls:"F=":Locate 3,1,F°:"X=":Locate 3,2,X:"Y=":Locate 3,3,Y◢

第6步Prog"ABCYTSQX":Cls:"H=":Locate 3,1,H◢

第7步 1→W:90→N:Goto 3

第8步 Lbl 2:?X:?Y:X→I:Y→J:Prog"ABCYTF":O+W→S

第9步 Cls:"K=":Locate 3,1,S:"S=":Locate 3,2,Z◢

第10步 2→W:Goto 3

正算子程序名:ABCYTZ

第1步 0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L

第2步 1-L→F:1-K→M

第3步 U+W×(A×cos(G+Q×E×K×W×(C+K×W×D))+B×cos(G+Q×E×L×W×(C+L×W×D))+B×cos(G+Q×E×F×W×(C+F×W×D))+A×cos(G+Q×E×M×W×(C+M×W×D)))→X

第4步 V+W×(A×sin(G+Q×E×K×W×(C+K×W×D))+B×sin(G+Q×E×L×W×(C+L×W×D))+B×sin(G+Q×E×F×W×(C+F×W×D))+A×sin(G+Q×E×M×W×(C+M×W×D)))→Y

第5步 G+Q×E×W×(C+W×D)→F:F+ N→Z[1]

第6步 X+Z×cos(Z[1])→X:Y+Z×sin(Z[1])→Y

反算子程序名:ABCYTF

第1步 Lbl 2:(S-O)→W: 0→Z: Prog "ABCYTZ":F-90→Z[9]:(J-Y)×cos(Z[9])-(I-X)×sin(Z[9])→Z[10]

第2步 If Abs(Z[10])>0.001:Then S+Z[10]→S:Goto 2:Else Goto 1:IfEnd

第3步 Lbl 1:(Y-J)÷sin(Z[9])→Z

第4步 Pol(X-I,Y-J):If Z<0:Then -1×I→Z:Else 1×I→Z:IfEnd

数据库名:ABCYTSJ

第1步 Goto1

第2步 Lbl 1:If S<7586.707 Or S>13346.96:Then Cls:Locate 2,2,"PQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢

第3步 Stop:IfEnd

第4步 Lbl 1:IF S<7946.707:Then 98°56′56″→G:7586.707→o:3378605.445→U:4538.704→V:0→P:4500→R: 360→H: 1→Q:Return:IfEnd

第5步 Lbl 1:IF S<11766.03:Then 101°14′26″→G:7946.707→o:3378544.714→U:454003.518→V:4500→P:4500→R: 3819.323→H: 1→Q:Return:IfEnd

第6步 Lbl 1:IF S<12126.03:Then 149°52′11″→G:11766.03→o:33763.0→U:457018.324→V: 4500→P:0→R: 360→H: 1→Q:Return:IfEnd

第7步 Lbl 1:IF S<13346.96:Then 152°09′41.68″→G:12126.03→o:3376073.846→U:457190.654→V:0→P:0→R:1220.93→H:0→Q:Return:IfEnd

第n步 ……………………………………………………

数据输入说明:

第1步 Goto1

第2步 Lbl 1:If S<本条线路起点里程S>本条线路止点里程 Cls:Locate 2,2,"PQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢

第3步 Stop:IfEnd

第4步 Lbl 1:If S<本线元止点里程:Then线元起点切线方位角→G:线元起点桩号→O:线元起点坐标X→U:线元起点坐标Y→V:线元起点半径(直线为0、曲线为半径)→P:线元止点半径(直线为0、曲线为半径)→R:线元长度→H:线元转向(左转为-1、右转为1、直线为0)→Q:Return:IfEnd

第n步 Lbl 1:每增加一行则为增加一个线元要素。

竖曲线子程序名:ABCYTSQX

第1步 S→C:Prog "ABCYTSQXSJ":A→Z[1]:B→Z[2]:C→Z[3]:If (Z[1]-Z[2])<0:Then 1→Z[8]:Else -1→Z[8]:IfEnd

第2步 R×Abs(Z[1]÷100-Z[2]÷100)→L:L÷2→T:T^(2)÷2÷R→E:K-T→Z[4]:Z[4]+L→Z[5]

第3步 If Z[3]≤Z[4]:Then H-(K-Z[3])×Z[1]÷100→X:Goto 3:Else If Z[3]≥Z[4] And Z[3]K And Z[3]≤Z[5]:Then H+(Z[3]-K)×Z[2]÷100→Z[6]:(Z[5]-Z[3])^(2)÷2÷R→Z[7]:Z[6]+Z[7]×Z[8]→X:Goto 3:Else If Z[3]≥Z[5]:Then H+(Z[3]-K)×Z[2]÷100→X:IfEnd:Lbl 3:X→H:Return

竖曲线数据库:ABCYTSQXSJ

第1步 Goto 1

第2步 Lbl 1:If S<5000.000 Or S>11211.997:Then Cls:Locate 2,2,"SQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢

第3步 Stop:IfEnd

第4步 Lb1 1:If S<5900.000:Then 5800.000→K:323.527→H:20000→R:-0.5800→A:0.4200→B:Return:IfEnd

第5步 Lb1 1:If S<82.000:Then 10.000→K:336.5→H:20000→R:0.4200→A:-0.3000→B:Return:IfEnd

第6步 Lb1 1:If S<11211.997:Then 11187.000→K:329.758→H:20000→R:-0.3000→A:-0.5500→B:Return:IfEnd

第n步 ……………………………………………………

数据输入说明:

第1步 Goto 1

第2步 Lbl 1:If C<本条线路竖曲线起点里程C>本条线路竖曲线止点里程n Cls:Locate 2,2,"SQX":Locate 4,3,"CHAOXIAN":Locate 10,4,"→Stop"◢

第3步 Stop:IfEnd

第4步 Lbl 1:If C<本条竖曲线圆直桩号或止点桩号:Then 变坡点桩号→K:变坡点高程→H:竖曲线半径→R:第一纵坡(百分数单位)→A:第二纵坡(百分数单位)→B:Return:IfEnd

第n步 Lbl 1:每增加一行则为增加一个竖曲线要素。

程序输入说明:

  本程序中除了浅黄底色O表示为字母,其余均为数字0,输入程序时每输入完成1步则按EXE换行,需认真、仔细,子程序输入方式和主程序相同,若字体小请按住CTRL键然后再滑动鼠标滚动条进行缩放页面大小。

本程序中多数指令在FUNCTION中(2:COMPLX、3:PROG)查找。

Deg和Fix 按SHIFT再按MODE SETUP查找。

程序演示步骤:

《坐标正算》

运行主程序ABCYT

1.DK=>XY

2.XY=>DK

Q? 1 (输入1为坐标正算、输入2为坐标反算)

DK?= 10000(计算里程)

W?= 5(边桩偏距:左为负,右为正)

α?= 90(边桩偏角:正交为90°,斜交自拟)

F= 127°23ˊ02.02″(计算切线方位角)

X= 3377702.697(计算结果坐标X)

Y= 455855.490(计算结果坐标Y)

H= 333.319(计算竖曲线高程)

说明:按EXE键返回主程序界面。

《坐标反算》

运行主程序ABCYT

1.DK=>XY

2.XY=>DK

Q? 1 (输入1为坐标正算、输入2为坐标反算)

DK?= 10000(计算里程)

X? 3377700.567(输入反算点坐标X)

Y? 455950.6 (输入反算点坐标Y)

K= 10076.066  (反算结果里程)

S=-51.759      (反算结果偏距:负为偏左,正为偏右)

说明:按EXE键返回主程序界面。

其他说明须知:

当计算里程小于或大于数据库中指定的桩号时会提示超限显示。

如:输入里程1000会提示如下错误:

提示1:  

PQX

CHAOXIAN

    →Stop

该错误表示输入的里程超出了平曲线数据库中指定的最小或最大里程。

提示2:

SQX

CHAOXIAN

    →Stop

该错误表示输入的里程超出了竖曲线数据库中指定的最小或最大里程。下载本文
显示全文
专题