坐标计算程序及坐标计算公式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
坐标计算程序及坐标计算公式
一、坐标计算公式
直线段:
中桩公式: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“DA T1”: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<0:
Then F+360→F:IfEnd:“FW=”:F►DMS◢ Goto 1
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<0:Then 10A◢
Else 9A◢
IfEnd:An s×1.05(回车)
4、子程序SUB1
.1184634425→A:.2393143352→B:.28444444444→N:.046910077→K:.2307 653449→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)<1×10∧(-4):Then Goto 1:Else W+Z→W:Goto 0: IfEnd (回车换行)
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、方位角:直线段为图纸所提供;若为圆曲线时,圆曲线起点方位
角也为直线方位角即图纸所提供;若为缓和曲线时,第一段
缓和曲线方位角为直线方位角即图纸所提供,第二段圆曲线
起点方位角为第一缓和曲线终点方位角(计算器上查询),第