坐标计算程序及坐标计算公式
一、 坐标计算公式
直线段:
中桩公式:x=x1+(z-c)*cosa
y=y1+(z-c)*sina
边桩公式:x=x1+(z-c)*cosa±d*cos(a-90)
y=y1+(z-c)*sina±d*sin(a-90)
说明: x1——起点x 坐标,y1——起点y 坐标,z ——计算点桩号, c——起点桩号,a ——方位角,d ——距中桩距离。
“±”左边桩为“+”,右边桩为“-”。
二、 方位角计算公式
1、
2、
3、 直线段方位角图纸提供。 若为单一圆曲线时,起点用直线段方位角图纸提供。 若为缓和曲线时:第一段缓和曲线方位角为直线段方位角图纸提供;第二段圆曲线起点方位角a1=a0±Ls*180/2∏r。第三段缓和曲线方位角a2=a1±L*360/2∏r。(a0为直线段方位角,Ls 为缓和曲线长度,L 为圆曲线长度,r 为圆曲线半径,“±”右偏角为“+”、左偏角为“-”。)
三、5800计算器坐标程序
坐标程序由1个主程序、5个子程序和1个数据库组成
进入计算器编程模式(5:PROG —1:NEW 新建程序名—3:EDIT ),输写程序。
1、 主程序admin
Fix 3(回车换行)
Lb1 0:150→DimZ:“ZX→0,A →1,B1→2,B2→3,C →4,D →5,CR →6”?N:N→Z[149]:Prog “DAT2”:“ZS=>1,FS=>2”?N:If N=1:Then Goto 1:Else N=2=>Goto 2:IfEnd:Goto 0:Lb1 1:?S:“ANG=”?M:?Z:S=0=>Goto 0:0→N (回车换行)
Lb1 5:Isz N:If S≤Z[8N+2]+Z[8N+4]:Then N→J:Prog“DAT1”:Else Goto5:IfEnd(回车换行)
Abs(S-0)→W:Prog“SUB1”:“XS=”:X ◢“YS=” :Y ◢
“FWI=”:F-M →F :If F≤360:Then F→F:Else F-360→F:IfEnd:F►DMS ◢
Goto4(回车换行)
Lb1 2:?X:?Y:“ANG=”?M :M →Z[148]:If M<90:Then 180-M→M:IfEnd(回车换行) X-Z[4]:Y-Z[5]:X=0=>Goto 0:0→N (回车换行)
Lb1 A:Isz N:N→Z[150]:Z[8N+3]-M→A:Z[8(N+1)+3]-M→B:Prog “ZX1”:If Z[6]×Z[7] ≤0:Then N→J:Prog “DAT1”:Goto B:IfEnd(回车换行)
Z[8N+3]+M→A:Z[8(N+1)+3]+M→B:Prog “ZX1”:If Z[6]×Z[7] ≤0:Then N→J:Prog “DAT1”:Goto B:Else Goto A: IfEnd(回车换行)
Lb1 B:Prog “SUB2” (回车换行)
Z[150]→N:0+W→S:If S>Z[8N+2]+Z[8N+4]+.001:Then Goto A: IfEnd(回车换行)
If N>13:Then 0→N: Goto A: IfEnd(回车换行)
If Z[148]>90: Then S+2Zsin(M-90) →S: IfEnd:“S=”:S◢ “Z=”: Z◢“OK→2,NO →1”?N:If N=1: Then Z[150]→N: Goto A:Else Goto 2: IfEnd(回车换行)
Lb1 4 :0→J:“DIST=”:Pol (X -Z[1],Y -Z[2])→I ◢ J-F:If F
2、 子程序DAT1
Z[8J]→U :Z[8J+1]→V :Z[8J+2]→O :Z[8J+3]→G :Z[8J+4]→G :Z[8J+4]→H :Z[8J+5]→P :Z[8J+6]→R :Z[8J+7]→Q :1÷P →C :(P -R )÷(2HPR )→D :(180÷∏)→E :Return
3、 子程序ss
“A”?→A :If A
Else 9A◢
IfEnd:Ans×1.05(回车)
4、 子程序SUB1
.1184634425→A :.2393143352→B :.[1**********]→N :.046910077→
K :.2307653449→L :.5→
Z[3]:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Ncos(G+QEZ[3]W(C+Z[3]WD))+Bcos(G+QE(1-L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD)))→X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Nsin(G+QEZ[3]W(C+Z[3]WD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD))) →Y : G+QEW(C+WD)+M→F :X+Zcos(F )→X :Y+Zsin(F )→Y: Return
5、 子程序SUB2
G-M →T :Abs ((Y-V )cos (T )-(X-U )sin (T ))→W :0→Z :Lb1 0:Pros “SUB1” (回车换行)
T+QEW(C+WD)→L :(Z[5]-Y)cos (L )-(Z[4]-X)sin (L )→Z :If Abs(Z )
Lb1 1:0→Z:Prog“SUB1”:(Z[5]-Y)÷sin (F-2M+180)→Z :Return
6、 子程序ZX1
(Z[5]-Z[8N+1])cos (A )-(Z[4]-z[8N])sin (A )→Z[6]:(Z[5]-Z[8(N+1)+1])C5]-Z[8(N+1)+1])cos (B )-(Z[4]-Z[8(N+1)]sin(B )→Z[7]:Return
7、 数据库DAT2
If N=0:Then起点X 坐标→Z[8]:起点Y 坐标→Z[9]:起点桩号→Z[10]:起点坐标方位角→Z[11]:曲线长度→Z[12]:起点半径→Z[13]:终点半径→Z[14]:曲线转向(左转为“-1”右转为“+1”直线为“0”)→Z[15]:Return IfEnd (依次把所有平曲线要素输完) If N=1:Then起点X 坐标→Z[8]:起点Y 坐标→Z[9]:起点桩号→Z[10]:起点坐标方位角→Z[11]:曲线长度→Z[12]:起点半径→Z[13]:终点半径→Z[14]:曲线转向(左转为“-1”右转为“+1”直线为“0”)→Z[15]:Return IfEnd (依次把所有平曲线要素输完) 说明:1、所有路线都是从Z[8]开始。
2、方位角:直线段为图纸所提供;若为圆曲线时,圆曲线起点方位角也为直线方位角即图纸所提供;若为缓和曲线时,第一段缓和曲线方位角为直线方位角即图纸所提供,
第二段圆曲线起点方位角为第一缓和曲线终点方位角(计算器上查询),第三段缓和曲线方位角为圆曲线终点方位角(计算器上查询)。
3、曲线长度:若直线段为直线段长度。
4、起点半径、终点半径:直线段起、终点半径相同为无穷大(1×1045),直缓段(第一段)缓和曲线起点半径为无穷大(1×1045),终点半径为圆曲线半径R ;圆曲线段起、终点半径相同为R ,缓直段(第二段)缓和曲线起点半径为圆曲线半径R ,终点半径为无穷大(1×1045)。如果上段曲线是圆曲线,第一段缓和曲线起点半径,如是同向公切点,就取上一段的圆曲线的半径,如果是反向公切点,就取无穷大。如果
第二段缓和曲线接圆曲线,第二段缓和曲线的终点半径如是同向公切点,就取上一段的圆曲线的半径,如果是反向公切点,就取无穷大。
四、运行计算坐标
进入计算器运行计算模式(5:PROG —2:RUN )进入主程序ADMIN
选择路线对应的数字进入计算。
S :桩号,ANG :偏角,若计算中桩为0,计算边桩时要输入角度,左边桩为“+”,右边桩为“-”。Z :距中桩距离,若计算中桩为0,计算边桩时要输入距离。
FWI :为方向角。
坐标计算程序及坐标计算公式
一、 坐标计算公式
直线段:
中桩公式:x=x1+(z-c)*cosa
y=y1+(z-c)*sina
边桩公式:x=x1+(z-c)*cosa±d*cos(a-90)
y=y1+(z-c)*sina±d*sin(a-90)
说明: x1——起点x 坐标,y1——起点y 坐标,z ——计算点桩号, c——起点桩号,a ——方位角,d ——距中桩距离。
“±”左边桩为“+”,右边桩为“-”。
二、 方位角计算公式
1、
2、
3、 直线段方位角图纸提供。 若为单一圆曲线时,起点用直线段方位角图纸提供。 若为缓和曲线时:第一段缓和曲线方位角为直线段方位角图纸提供;第二段圆曲线起点方位角a1=a0±Ls*180/2∏r。第三段缓和曲线方位角a2=a1±L*360/2∏r。(a0为直线段方位角,Ls 为缓和曲线长度,L 为圆曲线长度,r 为圆曲线半径,“±”右偏角为“+”、左偏角为“-”。)
三、5800计算器坐标程序
坐标程序由1个主程序、5个子程序和1个数据库组成
进入计算器编程模式(5:PROG —1:NEW 新建程序名—3:EDIT ),输写程序。
1、 主程序admin
Fix 3(回车换行)
Lb1 0:150→DimZ:“ZX→0,A →1,B1→2,B2→3,C →4,D →5,CR →6”?N:N→Z[149]:Prog “DAT2”:“ZS=>1,FS=>2”?N:If N=1:Then Goto 1:Else N=2=>Goto 2:IfEnd:Goto 0:Lb1 1:?S:“ANG=”?M:?Z:S=0=>Goto 0:0→N (回车换行)
Lb1 5:Isz N:If S≤Z[8N+2]+Z[8N+4]:Then N→J:Prog“DAT1”:Else Goto5:IfEnd(回车换行)
Abs(S-0)→W:Prog“SUB1”:“XS=”:X ◢“YS=” :Y ◢
“FWI=”:F-M →F :If F≤360:Then F→F:Else F-360→F:IfEnd:F►DMS ◢
Goto4(回车换行)
Lb1 2:?X:?Y:“ANG=”?M :M →Z[148]:If M<90:Then 180-M→M:IfEnd(回车换行) X-Z[4]:Y-Z[5]:X=0=>Goto 0:0→N (回车换行)
Lb1 A:Isz N:N→Z[150]:Z[8N+3]-M→A:Z[8(N+1)+3]-M→B:Prog “ZX1”:If Z[6]×Z[7] ≤0:Then N→J:Prog “DAT1”:Goto B:IfEnd(回车换行)
Z[8N+3]+M→A:Z[8(N+1)+3]+M→B:Prog “ZX1”:If Z[6]×Z[7] ≤0:Then N→J:Prog “DAT1”:Goto B:Else Goto A: IfEnd(回车换行)
Lb1 B:Prog “SUB2” (回车换行)
Z[150]→N:0+W→S:If S>Z[8N+2]+Z[8N+4]+.001:Then Goto A: IfEnd(回车换行)
If N>13:Then 0→N: Goto A: IfEnd(回车换行)
If Z[148]>90: Then S+2Zsin(M-90) →S: IfEnd:“S=”:S◢ “Z=”: Z◢“OK→2,NO →1”?N:If N=1: Then Z[150]→N: Goto A:Else Goto 2: IfEnd(回车换行)
Lb1 4 :0→J:“DIST=”:Pol (X -Z[1],Y -Z[2])→I ◢ J-F:If F
2、 子程序DAT1
Z[8J]→U :Z[8J+1]→V :Z[8J+2]→O :Z[8J+3]→G :Z[8J+4]→G :Z[8J+4]→H :Z[8J+5]→P :Z[8J+6]→R :Z[8J+7]→Q :1÷P →C :(P -R )÷(2HPR )→D :(180÷∏)→E :Return
3、 子程序ss
“A”?→A :If A
Else 9A◢
IfEnd:Ans×1.05(回车)
4、 子程序SUB1
.1184634425→A :.2393143352→B :.[1**********]→N :.046910077→
K :.2307653449→L :.5→
Z[3]:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Ncos(G+QEZ[3]W(C+Z[3]WD))+Bcos(G+QE(1-L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD)))→X:V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Nsin(G+QEZ[3]W(C+Z[3]WD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD))) →Y : G+QEW(C+WD)+M→F :X+Zcos(F )→X :Y+Zsin(F )→Y: Return
5、 子程序SUB2
G-M →T :Abs ((Y-V )cos (T )-(X-U )sin (T ))→W :0→Z :Lb1 0:Pros “SUB1” (回车换行)
T+QEW(C+WD)→L :(Z[5]-Y)cos (L )-(Z[4]-X)sin (L )→Z :If Abs(Z )
Lb1 1:0→Z:Prog“SUB1”:(Z[5]-Y)÷sin (F-2M+180)→Z :Return
6、 子程序ZX1
(Z[5]-Z[8N+1])cos (A )-(Z[4]-z[8N])sin (A )→Z[6]:(Z[5]-Z[8(N+1)+1])C5]-Z[8(N+1)+1])cos (B )-(Z[4]-Z[8(N+1)]sin(B )→Z[7]:Return
7、 数据库DAT2
If N=0:Then起点X 坐标→Z[8]:起点Y 坐标→Z[9]:起点桩号→Z[10]:起点坐标方位角→Z[11]:曲线长度→Z[12]:起点半径→Z[13]:终点半径→Z[14]:曲线转向(左转为“-1”右转为“+1”直线为“0”)→Z[15]:Return IfEnd (依次把所有平曲线要素输完) If N=1:Then起点X 坐标→Z[8]:起点Y 坐标→Z[9]:起点桩号→Z[10]:起点坐标方位角→Z[11]:曲线长度→Z[12]:起点半径→Z[13]:终点半径→Z[14]:曲线转向(左转为“-1”右转为“+1”直线为“0”)→Z[15]:Return IfEnd (依次把所有平曲线要素输完) 说明:1、所有路线都是从Z[8]开始。
2、方位角:直线段为图纸所提供;若为圆曲线时,圆曲线起点方位角也为直线方位角即图纸所提供;若为缓和曲线时,第一段缓和曲线方位角为直线方位角即图纸所提供,
第二段圆曲线起点方位角为第一缓和曲线终点方位角(计算器上查询),第三段缓和曲线方位角为圆曲线终点方位角(计算器上查询)。
3、曲线长度:若直线段为直线段长度。
4、起点半径、终点半径:直线段起、终点半径相同为无穷大(1×1045),直缓段(第一段)缓和曲线起点半径为无穷大(1×1045),终点半径为圆曲线半径R ;圆曲线段起、终点半径相同为R ,缓直段(第二段)缓和曲线起点半径为圆曲线半径R ,终点半径为无穷大(1×1045)。如果上段曲线是圆曲线,第一段缓和曲线起点半径,如是同向公切点,就取上一段的圆曲线的半径,如果是反向公切点,就取无穷大。如果
第二段缓和曲线接圆曲线,第二段缓和曲线的终点半径如是同向公切点,就取上一段的圆曲线的半径,如果是反向公切点,就取无穷大。
四、运行计算坐标
进入计算器运行计算模式(5:PROG —2:RUN )进入主程序ADMIN
选择路线对应的数字进入计算。
S :桩号,ANG :偏角,若计算中桩为0,计算边桩时要输入角度,左边桩为“+”,右边桩为“-”。Z :距中桩距离,若计算中桩为0,计算边桩时要输入距离。
FWI :为方向角。