一、 座標計算源程式
1.主程式(tyqxjs)
" => 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=>goto 1:
≠>go to 2δ←┘
lbl 1::sz:w=abs(s-o):prog "sub1":x"xs"=x◢
y"ys"=y◢
goto 1←┘
lbl 2::xy:i=x:j=y:prog "sub2":s"s"=o+w◢
z"z"=z◢
goto 2
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:
lbl 0:prog "sub1":l=t+qew(c+wd):
z=(j-y)cosl-(i-x)sinl:absz<1e-6=>goto1:≠>w=w+z:
goto 0δ←┘
lbl 1: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座標
s=××× 反算時,計算得出的所求點的里程
z=××× 反算時,計算得出的所求點的邊距
四、算例
某匝道的由五段線元(直線+完整緩和曲線+圓曲線+非完整緩和曲線+直線)
組成,各段線元的要素(起點里程s0、起點座標x0 y0、起點切線方位角
f0、線元長度ls、起點曲率半徑r0、止點曲率半徑rn、線元左右偏標誌q)
如下:s0 x0 y0 f0 ls r0 rn q
500.000 19942.837 28343.561 125 16 31.00 269.256 1e45 1e45 0
769.256 19787.340 28563.378 125 16 31.00 37.492 1e45 221.75 -1
806.748 19766.566 28594.574 120 25 54.07 112.779 221.75 221.75 -1
919.527 19736.072 28701.893 91 17 30.63 80.285 221.75 9579.228 -1
999.812 19744.038 28781.659 80 40 50.00 100.000 1e45 1e45 0
1、正算
(注意:略去計算方式及線元要素輸入,請自行根據所求點所在的線元輸入線元要素)
s=700 z=-5 計算得 xs=19831.41785 ys=28509.72590
s=700 z=0 計算得 xs=19827.33592 ys=28506.83837
s=700 z= 5 計算得 xs=19823.25398 ys=28503.95084
s=780 z=-5 計算得 xs=19785.25749 ys=28575.02270
s=780 z=0 計算得 xs=19781.15561 ys=28572.16358
s=780 z= 5 計算得 xs=19777.05373 ys=28569.30446
s=870 z=-5 計算得 xs=19747.53609 ys=28654.13091
s=870 z=0 計算得 xs=19742.68648 ys=28652.91379
s=870 z= 5 計算得 xs=19737.83688 ys=28651.69668
s=940 z=-5.123 計算得 xs=19741 . 59118 ys=28722.05802
s=940 z=0 計算得 xs=19736.47687 ys=28722.35642
s=940 z= 3.009 計算得 xs=19733.47298 ys=28722.53168
2、 反算
x=19831.418 y=28509.726 計算得 s=699.9999974 z= -5 .00018164
x=19827.336 y=28506.838 計算得 s=699.9996493 z= 0.000145136
x=19823.25398 y=28503.95084 計算得 s=699.9999985 z= 5.000003137
x=19785.25749 y=28575.02270計算得 s=780.0000035 z= -5 .000001663
x=19781.15561 y=28572.16358 計算得 s=780.0000025 z=- 0.000002979
x=19777.05373 y=28569.30446 計算得 s=780.0000016 z= 4.99999578
x=19747.536 y=28654.131計算得 s=870.0001137 z= -4.99941049
x=19742.686 y=28652.914 計算得 s=870.0003175 z=- 0.00041814
x=9737.837 y=28651.697 計算得 s=870.0002748 z= 4.999808656
x=19741.5912 y=28722.0580 計算得 s=939.9999786 z= -5.123024937
x=19736.4769 y=28722.3564 計算得 s=939.9999862 z=- 0.000027710
x=19733.4730 y=28722.5317 計算得 s=940.000 0238 z= 3.00898694
3、 本人修改意見:
以上程式正算、反算看來似乎很正確,滿足測量精度要求。但要明白以下三點:
<1>是不是對於任意曲線正、反算都可以達到精度要求?
<2>字母代表的意思?推導過程?會不會出錯?
<3>應該再補充些什麼功能?怎麼才能提高精度要求?
修改後,程式沒有任何條件限制,且執行正常,完全滿足客戶精度要求,很實用!願與大家分享!
4 、例題
圓曲線半徑r為700公尺,圓曲線長為350公尺,曲線右轉,起點里程為dk1+200,座標為(200,456), 切線方位角為120°15′26.6〃計算dk1+520右100公尺點座標,並反算樁號、左右距。
讀者可自算,源程式計算結果:
正算: x=-73.03846 y=603.3210
反算: w= 1512.069875 z=95.4193 (明顯不對,超出範圍了)
按w= 1512.069875 z=95.4193計算座標:座標也不對,那肯定是錯了。
函式應用程式
什麼是函式?excel函式即是預先定義,執行計算 分析等處理資料任務的特殊公式。以常用的求和函式sum為例,它的語法是 sum number1,number2,其中 sum 稱為函式名稱,乙個函式只有唯一的乙個名稱,它決定了函式的功能和用途。函式名稱後緊跟左括號,接著是用逗號分隔的稱為引數的內容,最...
應用程式設計報告
大作業題目 班級 學號 學生姓名 其他組員 作業成績 應用程式設計基礎 1 設計報告 1 目錄 2 大作業設計報告內容 2 一 需求分析 2 二 功能概要 3 三 模組組織 3 四 功能實現 4 1 計數模組 4 2 顏色模組 5 3 定時模組 6 4 新建儲存列印模組 7 5.幫助 10 五 製作...
Windows應用程式基礎知識
課程軟體應用技術 實驗名稱實驗一 windows應用程式基礎 院系 資訊科學與工程學院專業班級 計科0803 0804 姓名 陳偉學號 200848140324 指導老師王峰日期 2011 9 1 一.實驗目的 1.深入理解windows應用程式的基本概念 資料型別 訊息機制 2.掌握windows...