- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
\o 到百度首页
曲线任意里程中边桩坐标正反算(CASIO fx-5800P计算器)程序一、程序功能?????? 本程序由一个主程序(TYQXJS)和三个子程(正算子程序(SUB1)、反算子程序(SUB2),数据库子程序(DAT03))构成,可以根据曲线段—直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行夹角为90°的正反算。程序改进:1、增加桩号控制语句,当计算桩号超出本线元自动从数据库读取线元数据,或者提示手工输入。??????????2、手工输入下一线元数据时,程序将上一线元终点桩号、坐标、方位角自动代入下一线元作为线元起点数据进行计算。?????? 特别申明:(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优于1mm;???????? (2). 本程序采用yshf老师4800P程序 TYQXJS中核心算法,在此表示感谢,转载请注明!???????? (3).程序还有不足之处,(如:坐标反算不能全线贯通,只能算本线元内,超出本线元之后需重新读取数据库,然后重新输入反算点坐标),请高手指点!二、程序清单:TYQXJS (曲线坐标计算主程序) “1.SJK,2.SHURU”?N:If N=1:Then Goto 1:Else Goto 2:IfEndLbl1:“Z”?S:Prog “DAT03”: Goto 3Lbl2:“X0”?U:“Y0”?V:“Z0”?O:“F0”?G:“LS”?H:“R0”?P:“RN”?R:?Q:(P-R)÷(2HPR)→D:180÷兀→ELbl 3:“1.ZS,2.FS”?C: If C=1:Then Goto 4:Else Goto 5:IfEndLbl 4:“Z”?SIf S<O Or S>O+H:Then If N=1:Then Prog“DAT03”:Goto 4:Else Goto 6:IfEnd:IfEnd“W:Z-,Y+”?ZAbs(S-O)→WProg“SUB1” “FWJ=”:F-90◢DMS◢“X=”:X◢“Y=”:Y◢Goto 4Lbl 5:?X:?Y:X=I:Y=J: Prog“SUB2” If W<0 Or W>H:Then If N=1:Then O+W→S:Prog“DAT03”:Goto 5:Else Goto 6:IfEnd:IfEnd“Z=”: O+W→S◢“W=”:Z◢Lbl6:If S<O Or W<0:Then“OUT-OF-RANGE”◢ Goto2:IfEndH→W:0→Z:Prog“SUB1”:X→U:Y→V:F-90→G:O+H→O:“LS”?H:“R0”?P:“RN”?R:?Q:(P-R)÷(2HPR)→D:180÷兀→EIf C=1:Then Goto 4:Else Goto 5:IfEndSUB1 (正算子程序)0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→MU+W(Acos(G+QEKW(1/P+KWD))+Bcos(G+QELW(1/P+LWD))+Bcos(G+QEFW(1/P+FWD))+Acos(G+QEMW(1/P+MWD)))→XV+W(Asin(G+QEKW(1/P+KWD))+Bsin(G+QELW(1/P+LWD))+Bsin(G+QEFW(1/P+FWD))+Asin(G+QEMW(1/P+MWD)))→YG+QEW(1/P +WD)+90→FX+ZcosF→XY+ZsinF→YReturnSUB2 (反算子程序)G-90→T:Abs((Y-V)cosT-(X-U)sinT)→W:0→ZLbl 0:Prog SUB1T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If AbsZ1×10-4:Then Goto 1:Else W+Z→W:Goto 0:IfEndLbl 1:0→Z:Prog SUB1:(J-Y)÷sinF→ZReturn说明:1、×10-4:×10就是最下面一排键“.”键右边的一个键。-4为负4????2、程序中的字母O都已经加粗,区别于数字零DAT03 (数据库子程序)If S<路线起点桩号Or S>路线终点桩号:Then 2→N:“X0”?U:“Y0”?V:“Z0”?O:“F0”?G:“LS”?H:“R0”?P:“RN”?R:?Q Goto 1:IfEndIf S<线元终点桩号:Then 线元起点X坐标→U: 线元起点Y坐标→V:线元起
文档评论(0)