TYQXJS(主程序名)
Deg
LbI 0:4→Dimz
"1.SZ→XY"
"2.XY→SZ"?N:
If N=1:Then Goto1:E1se Goto 2:IfEnd
LbI 1:“zhanghao”?S :“bianju(z-,y+)”?Z:Prog"DATA"
1÷P→C:(P-R)÷(2HPR) →D:180÷π→E:Abs(S-O)→W
Prog"SUB1"
"XS=":X◢
"YS=":Y◢
"FS=":F ►DMS◢
Goto 1
LbI 2 :?S
If S=0:Then Goto 0:IfEnd
?X:?Y:X→I:Y→J
Prog"SUB2":O+W→S
"S=":S◢
"Z=":Z◢
Goto 2
注:紅色部可以不要,亦可以要,它的作用是將S或X輸入0時,程序會重新由頭開始運行,(即是可以計算下段線元)
SUB1(子程序名)
0.1739274226→A:0.3260725774→B
0.0694318442→K:0.330009482→L
1-L→F:1-K→M
G+QEKW(C+KWD)→Z[1]
G+QELW(C+LWD)→Z[2]
G+QEFW(C+FWD)→Z[3]
G+QEMW(C+MWD)→Z[4]
A×cos(Z[1])→X (剩號可省略)
X+Bcos(Z[2])→X
X+Bcos(Z[3])→X
X+Acos(Z[4])→X
U+WX→X
Asin(Z[1])→Y
Y+Bsin(Z[2])→Y
Y+Bsin(Z[3])→Y
Y+Asin(Z[4])→Y
V+WY→Y
G+QEW(C+WD)→F
X+Zcos(F(Abs(N)))→X
Y+Zsin(F(Abs(N)))→Y
SUB2(子程序名)
G-90→T
(Y-V)cos(T)-(X-U)sin(T)→W
Abs(W)→W:0→Z
LbI 4:Prog"SUB1"
T+QEW(C+WD)→L
(J-Y)cos(L)-(I-X)sin(L)→Z
If Abs(Z)<0.000001:Then 0→Z: Prog"SUB1"
(J-Y)÷sin(F+90)→Z
Else W+Z→W:Goto 4:IfEnd
DATA(子程序名数据库)
If S≥----:Then ---→U: ---→V: ---→O: ---→G: ---→H: ---→P: ---→R: ---→Q:IfEnd
If S≥----:Then ---→U: ---→V: ---→O: ---→G: ---→H: ---→P: ---→R: ---→Q:IfEnd
——-----------------注:s≥起点桩号,u为起点X坐标,v为Y坐标,O为起点里程,G为起点方位角,H为曲线长度,P为起点曲率半径,R为终点曲率半径,Q为线元左右标志(直线段上Q=0)
注:1E-6即是10的負6次方,亦即是等於0.000001
輸入時按SHIFT---log---(-)---6
亦可直接將If Abs(Z)<1E-6寫成If Abs(Z)<0.000001
注意:本程序是根據yhhf編寫的4800P改寫而成,以下是源程序及算例
大家有問題亦可在以下網址查看及向yshf發問
http://www.celiang.net/celiang/article_view.asp?id=380&author=yshf
曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序
一、程序功能
本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(
SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线
元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲
率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。另
外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲
线任意里程中边桩坐标进行正反算。本程序也可以在CASIO fx-4500P计算器及 CASIO fx-4850P计算器上运行。
特别申明:(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优
于
微信扫一扫关注下面公众号,免费接收更多内容