【卡西歐Fx5800-p程序】01 坐標轉換程序-帶注釋


1.程序說明:


 

DDSG  (大地坐標轉施工坐標)

SGDD  (施工坐標轉大地坐標)

↙      回車命令"EXE"

K       (施工坐標轉換原點在線性上的樁號,如果是起始點為0

α     (施工坐標縱軸與大地坐標縱軸之間的交角)

X0 Y0  (轉換原點坐標

注::αKX0 Y0  (建議在編輯程序時把他們的取值輸入到程序里面,這樣在程序運行時,可以減少輸入這些數據的步驟,提高數據輸入的准確性,避免因數據輸入出錯而造成計算結果的錯誤)

    ‚: 為了統一5800里面的程序字符代碼,下面出來命令語句之外,一切字母均為大寫。

2.程序清單:


 

: ZBZH  (在新建程序中輸入程序名字“坐標轉換”)

‚: 正文

Fix 4  (設置小數點位數4位,可以不設置)

Lbl 1DDSG=1SGDD=2QITA=END?→A↙  (輸入1進入大地轉施工計算,輸入2進入施工轉大地計算,如果輸入其他數就退出ZBZH程序)

While  A=1  or  A=2If  A=1Then XDD)=?→X:YDD)=?→Y↙(1.While 判斷A的取值,如果A的取值不是1或者2那么就要跳過這段程序,進入退出程序的命令行。2.如果輸入1那么就開始進入大地轉施工坐標的計算,這時就要輸入X(DD)Y(DD),即要轉換點的大地坐標) 

X(SG)=: (Y-Y0)sin(α)+(X-X0)cos(α)+K→N◢

Y(SG)=: (Y-Y0)cos(α)-(X-X0)sin(α)→E◢

Goto 1↙  

(計算XY的施工坐標公式 ,如果施工坐標的原點就是線性的起點,就不用K 值參加計算,Goto n,無條件轉移到對應的Lbl n

IfEndX(SG)=?→M : M-K→X:Y(SG)=?→Y↙ (如果上面的If判斷為假,也就是當A≠1時,那么程序就跳到IfEnd后面的語句。也就是這段計算施工轉大地的坐標,然后就輸入XY 的施工坐標

X(DD)=: Xcos(α)-Ysin(α)+X0→N◢

Y(DD)=: Xsin(α)+Ycos(α)+Y0→E◢

Goto 1↙ (無條件轉移到Lbl 1

While End↙(結束循環語句,如果程序一開始就輸入一個非1,或者2的數,然后運行程序就會直接跳過While End之前的所有程式,然后結束程序

ZBZH=END (結束坐標轉換程序)

 

編者語:


 

 

     進過最后測試,以及用朋友的另一種方式編寫的程序檢驗,計算結果相同,此程序是結合我們現在的工程實際情況編寫的,需要的朋友可以把你們工程的一些設計線性參數發給我!我結合你們工程稍做些改動即可。

 

    由於本人專業知識和學術術語有限,程序中語言難免會出現銜接邏輯不強的問題,以及其他我沒有發現的問題,還請前輩以及同仁多多指點

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM