交点法路线计算程序(1610)

合集下载

交点计算线路坐标(全线断链)

交点计算线路坐标(全线断链)

中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
左 边 桩 坐 标
右 边 桩 坐 标
中线坐标 桩 号 切线方位角
CAD线
, , , , , , , , , , , , , , , , , , , , , , , , ,
CAD线
, , , , , , , , , , , , , , , , , , , , , , , , ,
CAD线
, , , , , , , , , , , , , , , , , , , , , , , , ,
CAD线
, , , , , , , , , , , , , , , , , , , , , , , , ,
CAD线
, , , , , , , , , , , , , , , , , , , , , , , , ,
CAD线
, , , , , , , , , , , , , , , , , , , , , , , , ,

5800坐标计算程序交点法

5800坐标计算程序交点法

CASIO FX—5800P交点法计算中边桩坐标1、主程序Lbl0 :90→C: "ZH”? Q:Prog“JDSJ”:“JL”? W:“J IAJIAO”? K:Goto1Lbl1: R= 0 => Goto3: Abs(B)πR÷180-(L+M)÷2→G:M→S: 1→Z Lbl2:S^2÷24÷R-S^(4)÷2688÷R^(3)→P:S÷2-S^(3)÷240÷R^2→O:IfZ=1:Then L→S:P→U:O→V:(R+U-(R+P)cos(Abs(B)))÷sin(Abs( B))+O→T:(R+P-(R+U)cos(Abs(B)))÷sin(Abs(B))+V→S:F-T→D:Q≤D=>Goto3If Q ≤ D+L: Then Q - D →J : L →U: Goto 4: IfEndIf Q ≤ D+L+G: Then Q-D-L→J: Goto 5: IfEndIf Q ≤ D+M+L+G: Then Q - D- L- M- G →J: M →U: Goto 4: IfEnd Q > D+M+L+G => Goto0Lbl3: N+(Q - F)cos(A) →X: E+(Q - F)sin(A) →Y:A+C→S: Goto9:Lbl4:J-J^(5)÷40÷(RU)^2+J^(9)÷3456÷(RU) ^(4)→H:J^(3)÷6÷(RU) -J^(7)÷336÷(RU) ^(3)+J^(11)÷42240÷(RU)^(5) →I: J = Q-D => Goto 6Goto7:Lbl5: 90(2Q - 2D- L)÷π÷R →U: Rsin(U)+o→H: R( 1 - cos(U)) + P →ILbl6: If B< 0: Then - I→I: IfEndN -Tcos(A)+Hcos(A) - Isin(A) →X: E-Tsin(A) + Hsin(A) +Icos(A) →Y:Goto8Lbl 7: If B> 0: Then –I →I: IfEndN+Scos(A+B)+Hcos(A+B)-Isin(A+B)→X:E+Ssin(A+B)+Hsin(A+B)+Icos(A+B) →YLbl 8:R →U: If B< 0: Then –R →U: IfEndIf J=Q-D: Then C+A+90J^2÷π÷U÷L→S: Goto9:IfEndIf J= Q-D -L- M- G: Then C+A+B - 90J^2÷π÷U÷M →S: Goto9: IfEndIfQ≤D+ L+ G: ThenQ-D-L →J : C+A+90L÷π÷U+180J÷π÷U→S: Goto9: IfEndLbl 9: X+Wcos(S-90+K) →X: Y+Wsin(S-90+K) →Y:“X=”: X◢“Y=”: Y◢“U=”:(S-90+K) ◢Goto02、子程序0.1739274226 →A:0.3260725774 →B:0.3300094782→L:0.0694318442 →K:1-L →F:1-K →M:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:G+QEKW(C+KWD) →Z [1]: G+QELW(C+LWD) →Z [2] : G+QEFW(C+FWD) →Z [3] : G+QEMW(C+MWD) →Z [4]:A cos(Z [1]) →X:X+B cos(Z[2]) →X:X+B cos(Z [3]) →X: X+A cos(Z [4])→X:U+WX→X:A sin(Z [1]) →Y:Y+B sin(Z [2]) →Y:Y+B sin(Z [3]) →Y:Y+Asin(Z [4]) →Y:V+WY→Y:G+QEW(C+WD)+90→F:“F=”:F-90+J◢X+Z cos(F-90+J) →X:Y+Z sin (F-90+J) →Y3、曲线要素If Q≤桩号:Then 交点桩号→F:交点X坐标→N:交点Y坐标→E:起点方位角→A:夹角→B:第一缓和曲线长度→L:第二缓和曲线长度→M:GotoA:If End………………Lbl A:Return程序中各变量含义:JD ── 交点桩号 FJDX ── 交点X坐标NJDY ── 交点Y坐标 EFWJ ── 起始方位角 APJ ──偏角(左-- 右+) BR ── 圆曲线半径 RLS1 ── 第一缓和曲线长 LLS2 ── 第二缓和曲线长 M。

两直线的交点问题

两直线的交点问题

两直线的交点问题直线交点问题是解析几何中的基本问题之一,主要涉及到平面几何中直线的性质和相关定理的应用。

在解决直线交点问题时,重点关注两条直线的斜率、截距或一般方程等,通过求解方程组或利用几何性质进行求解。

1. 斜率-截距法斜率-截距法是求解两条直线交点问题最常用的方法之一。

对于直线y = mx + b和y = nx + c,其中m、n分别为两条直线的斜率,b、c为它们的截距,当斜率不相等时,两条直线交于一个点,此时可以通过求解方程组的方式得到交点的坐标。

- 例如,给定两条直线y = 2x + 1和y = -0.5x + 3,可以通过求解方程2x + 1 = -0.5x + 3来求出两直线的交点。

2. 一般方程法一般方程法也是求解直线交点的常见方法之一,通过将直线的一般方程相等,可以得到两直线交点的坐标。

- 例如,给定两条直线2x - 3y = 7和4x + 5y = 1,可以通过求解方程组2x - 3y = 7 和 4x + 5y = 1来求出两直线的交点。

3. 使用向量法解直线可以用向量表示,在这种情况下,可以通过求解向量方程来求解两条直线的交点问题。

- 例如,给定两条直线的向量方程为P1 + tV1和P2 + sV2,其中P1和P2是两条直线上的点,V1和V2是两个方向向量,可以通过求解方程组(P1 + tV1) = (P2 + sV2)来求解交点。

4. 坐标轴交点法当两条直线分别与x轴和y轴相交时,可以将直线与坐标轴的交点作为已知点,通过计算直线的斜率,来判断两条直线是否相交。

- 例如,给定两条直线y = x + 1和y = -x + 3,可以发现这两条直线分别与x轴和y轴相交,因此可以通过计算斜率来判断它们是否相交。

5. 截距法平面直角坐标系中,两直线的交点坐标可以通过截距计算得出。

- 例如,给定两条直线y = 2x + 1和y = -0.5x + 3,通过截距计算可以得到两条直线的交点坐标。

EXCEL交点法线路正反算VB源码2(平曲线正反算)

EXCEL交点法线路正反算VB源码2(平曲线正反算)

EXCEL交点法线路正反算VB源码2(平曲线正反算)Option Explicit'坐标正算'1、交点数组是全局变量,函数自由调用,因此函数无须输入曲线数据;'2、如果输入了 Offset 参数,则不考虑隧道的中心偏移量;'3、Offset 的输入与输出在本函数及本程序中均遵循左负右正原则。

Public Function ToCoord(PEG_J As Double, Offset As Double, ModelOfReturn As String)Dim Point_J As PointDim Arc As DoubleDim Length_X As DoubleDim Position As Integer'判断曲线参数的有效性If N_JD < 0 ThenToCoord = "Data Error!"Exit FunctionEnd If'将修正里程改为原始里程并判断加桩点桩号的有效性PEG_J = OriginalPEG(PEG_J)If PEG_J < 0 ThenToCoord = "PEG Error!" '输入里程有效性判断Exit FunctionElseIf PEG_J < JDs(0).pegHZ Or PEG_J > JDs(N_JD + 1).pegZHThen '加桩点里程超出范围ToCoord = "Out Of Range!"Exit FunctionEnd If'判断加桩点的位置Position = 0Do While PEG_J > JDs(Position + 1).pegZH '最后一个JDs为线路的终点,以其pegZH属性存储终点里程Position = Position + 1 '加桩点位于Position交点的ZH点(不包括)至Position+1交点的ZH点(包括)之间Loop'加桩点位于起始直线段If Position = 0 ThenLength_X = PEG_J - JDs(0).pegHZPoint_J = Vector(JDs(0).pointHZ, Length_X, JDs(0).pointHZ.Azimuth)Point_J.Azimuth = JDs(0).pointHZ.Azimuth'加桩点位于其它交点段位置ElseIf PEG_J < JDs(Position).pegHY Then '加桩点位于入口缓和曲线段Arc = PEG_J - JDs(Position).pegZHPoint_J = Curve(Position, Arc, "Front")If Abs(Offset) < MIN Then '如果用户未输入偏移量则按照隧道的中心偏移处理Offset = JDs(Position).Flag * (Arc / JDs(Position).Lh1) *JDs(Position).OffsetEnd IfElseIf PEG_J < JDs(Position).pegYH Then '加桩点位于圆曲线段Arc = PEG_J - JDs(Position).pegHYPoint_J = Curve(Position, Arc, "Circle")If Abs(Offset) < MIN Then '如果用户未输入偏移量则按照隧道的中心偏移处理Offset = JDs(Position).Flag * JDs(Position).OffsetEnd IfElseIf PEG_J < JDs(Position).pegHZ Then '加桩点位于出口缓和曲线段Arc = JDs(Position).pegHZ - PEG_JPoint_J = Curve(Position, Arc, "Back")If Abs(Offset) < MIN Then '如果用户未输入偏移量则按照隧道的中心偏移处理Offset = JDs(Position).Flag * (Arc / JDs(Position).Lh2) * JDs(Position).OffsetEnd IfElse '加桩点位于末端直线段Length_X = PEG_J - JDs(Position).pegHZPoint_J = Vector(JDs(Position).pointHZ, Length_X, JDs(Position).pointHZ.Azimuth)Point_J.Azimuth = JDs(Position).pointHZ.AzimuthEnd IfEnd If'计算偏移后加桩点坐标(不能使用Vector 函数,否则Point_J 点的切向角将为零)Point_J.X = Point_J.X + Abs(Offset) * Cos(Point_J.Azimuth + Sgn(Offset) * Application.Pi() / 2)Point_J.Y = Point_J.Y + Abs(Offset) * Sin(Point_J.Azimuth + Sgn(Offset) * Application.Pi() / 2)'判断返回何值Select Case LCase(Trim(ModelOfReturn))Case "getx"ToCoord = Point_J.XCase "gety"ToCoord = Point_J.YCase "azimuth"ToCoord = DMS(Point_J.Azimuth) '将切向角转换为方位角字符串Case ElseToCoord = "Model Error!"End SelectEnd Function'计算基点和点的切向夹角(相当于计算切向向量和基点至参数点向量的夹角)'1、函数用于GetArc函数和ToPEG函数和隧道断面中的Tunnel 函数中,即只用于坐标反算;'2、返回的夹角值的范围在-PI~+PI之间,主要是为了判断点在基点的左边还是右边(左负右正)。

5800交点正反算坐标(可计算不对称缓和曲线)

5800交点正反算坐标(可计算不对称缓和曲线)

1、主程序程序名:1XY-KMLbI 0:5→DimZ:Norm 2:1→A:"A:X,Y=1,KM,D=2"?A:A=1=>Goto 1:A=2=>Goto 2:LbI 1:Prog "DX":LbI A:Prog"QX":90→B:"PJ"?B:B→Z [1]:LbI B:1→F:"KM"?Z:Z= -1=>Goto 0:Z=-2=>Goto A:Z=-3=>Goto X :Prog"KM":?D: Prog "Z":I+D×COS(Z[2]+Z[1]) →X: J+D×Sin(Z[2]+Z[1]) →Y: Fix 3:"X=":Locate 6,4,X:"Y=":Locate 6,4,Y:Prog"JS":Goto B LbI 2:LbI A:Prog"QX":90→Z[1]:LbI C:2→F:"KM"?Z:Z = -1=>Goto 0:Z=-2=>Goto A:Z=-3=>Goto X :Prog"KM"“X0”? X:”Y0”?Y:?D:Prog "ZX": Fix 3:"KM=":Locate 6, 4,Z:"D=":Locate 6,4,D:Goto C:LbI X:Mat F◢Goto 02. 交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4)÷2688÷R∧(3)→A:H÷2-H∧(3)÷240÷R2→B:((H2-N2)÷24÷R)÷Sin(Abs(P))-((H∧(4)-N∧(4))÷2688÷R ∧(3)) ÷Sin(Abs(P))→E:(R+A)tan(Abs(P)÷2)+B-E→T:P÷Ab s(P) →W:0→M:H→C:If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 2: IfEnd:If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:Goto 4:IfEnd:If Z≤O-T+ΠR×Abs(P)÷180+H÷2-N÷2: Then 180(Z-O+T-0. 5H) ÷R÷Π→S : A+R(1-Cos(S))→B:H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]:Goto 4: IfEnd:O-T+ΠR×Abs(P)÷180+H÷2+N÷2-Z→S:(R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P) ÷2)+N÷2-N∧(3) ÷240÷R2+E→T :N→H:Prog “HX”:G+P→S:S-WK→Z[2]:U+(T-A)Cos(S)-WBSi n(S)→I:V+(T-A)Sin(S)+WBcos(S)→J:Goto 3:LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J: Goto 3:LbI 2:U+Scos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 3:C→H3. 交点法缓和段转化子程序(HX)程序名:HXS-S∧(5) ÷40÷R2÷H2+S∧(9) ÷3456÷R∧(4) ÷H∧(4)→A:S∧(3)÷6÷R÷H-S∧(7) ÷336÷R∧(3) ÷H∧(3)+S∧(11) ÷42240÷R ∧(5) ÷H∧(5)→B:90S2÷Π÷R÷H→K:RH÷S→M4. 交点法反算子程序(ZX)程序名:ZXZ:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S:Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Goto 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JMΠ)/180→I:Z+I→Z:Goto 0:IfEndLbI 25.线路选择子程序(线路选择输0时。

交点法、线元法坐标计算

交点法、线元法坐标计算

For personal use only in study and research; not for commercial useFor personal use only in study and research; not for commercial use3、交点法、线元法坐标计算坐标计算是根据图纸中“直线及曲线转角一览表”提供的数据计算道路中桩坐标,然后和图纸提供的“逐桩坐标表”比对,如果一样则说明输入平曲线参数输入正确,可以计算边桩坐标和其他结构物坐标了;如果中桩坐标不一样,一般是平曲线参数输入有误,需要重新检查输入,另一种结果是图纸有错,这种情况少见,但不代表没有。

“直线及曲线转角一览表”和“逐桩坐标表”见附件1、附件2。

线元法是以路线的起点坐标、方位角、起终点桩号等节点元素来计算出要求的坐标;交点法是以路线的交点要素和路线的主要要素来求得坐标。

①交点法交点:路线的转折点,路线改变方向是相邻两直线的延长线相交的点。

用JD表示,有些图纸上用IP表示。

看下图:交点是针对曲线的(包含圆曲线和缓和曲线),一段曲线就有一个交点。

交点参数有:坐标(X,Y)、交点桩号、转角值、圆曲线半径R、缓和曲线长度。

教学提供软件(轻松测量、双心软件、测量工具)交点法曲线要素输入说明:1、QD起点坐标:起点坐标必须在直线段上,或填写前一交点的坐标。

2、JD交点曲线要素:(1)交点桩号(2)交点坐标(X,Y)(3)曲线半径R(4)第一缓和曲线长度LS1,若为0,输入0,不能为空。

(5)第二缓和曲线长度LS2,若为0,输入0,不能为空。

3、ZD终点坐标:终点坐标也必须在直线段上,或填写后一交点的坐标。

检核数据是否输入正确的方法:软件生成的圆曲线要素中切线长、外距、交点里程:注意校正起点里程、等与设计图纸是否一致。

如果上述数据和图纸不一样,请认真检查有错误的交点处的数据输入是否正确,如果输入没有错误,请考虑是否包含不完整缓和曲线,使用公式A²=R*Ls检查是否包含不完整缓和曲线。

交点法坐标计算程序

交点法坐标计算程序

1.主程序 JDFZBZFS17→DimZ: Norm 2:1→ A " XY=1,FS=2,GC=3,LJKD=4,BPFY=5,BZFY=6”?A:A=1=>Goto1:A=2=>Goto 2: A=3=>Goto 3:A=4=>Goto 4: A=5=>Goto 5: A=6=>Goto 6LbI 1:Prog "DX":LbI A:Prog"QX": 90→B: "PJ1"?B:B →C: "PJ2"?C:B→Z[1]:C→Z[8]:LbI B:1→F: "KM"?Z: Prog"X1":?D:Prog"THB":O→L: Z[2]+Z[1]-Z[8] →E:X+L cos(E) →X:Y+Lsin(E) →Y:Prog"XY":Prog"JS":Goto B LbI 2:2→F:90→Z[1] :Prog"QX":LbI C: "KM"?Z:Prog"X 1": "XO"?X: "Y0"?Y:Prog"THB":Fix 5:Prog"ZD":G oto CLbI 3:Prog"QX": 0→B: "H-B"?B:B→Z[9]:LbI D: "KM"? Z:?D:Prog"H":Fix 5: "H=": H-Z[9] →H◢"I=":I◢Goto DLbI 4:Prog"QX":LbI E: "KM"?Z:?D:Prog"GD":Fix 5:" SJGD=": Locate 6,4,L:Goto ELbI 5:Prog"QX":0.5→B:"TH-GD"?B:B→Z[19]:LbI F:2→F: 90→Z[1]:"KM"?Z:Prog "X1":"X0"?X: "Y0"?Y: "SJ GC"?H: 0→M: "M0(YDMGC) "?M: Prog"BP FY":Fix 3:S→O: "L0=":Locate 6,4,O:Prog"ZD":H-M→G:"TW=": Lcoate 6,4,G: Goto FLbI 6:Prog"DX":LbI G:Prog"QX":LbI H:1→F:90→Z[1]:"KM"?Z: Goto G:Prog"X1":?D:Prog"THB":Prog"XY":Prog"JS":Prog"H":0→M:"M0"?M:Fix 2:H-M→T:"TW=": 6,4,T◢ Goto H2. 坐标计算次程序(THB)LbI J: If F=1:Then Prog "Z":Goto 1:Else Prog "ZX":Goto 2: IfEnd: LbI 1:I+D×COS(Z[2]+Z[1]) →X: J+D×Sin(Z[2]+Z[1]) →Y: LbI 23.路基开挖边线及填方坡脚线放样程序程序名:BP FYLbI H: 13→L:H-M→G: Prog “W1”:If G <0:Then –G →G:G oto W:Else G →G:Goto TLbI W:Z[8]+Z[9]→A: If G >A:Then Goto 1:Else If G >Z[8]: Then Goto 2:Else Goto 3:IfEndLbI 1: L+Z[10]+Z[11]+Z[12]+( G -A-( Z[11]+Z[12])×0.03)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5] →S:Goto ZLbI 2: L+Z[10]+Z[11]+( G -Z[8]- Z[11]×0.03)×Z[6]+Z[8]×Z[5] →S:Goto ZLbI 3: L+ G×Z[5]→S:Goto ZLbI T:Z[16]+Z[17] →B:If G >B:Then Goto 4:Else If G >Z [16]:Then Goto 5:Else Goto 6:IfEndLbI 4: L+Z[18] ×2+ (G -B-2×Z[18]×0.03)×Z[15]+ Z[17]×Z[14]+ Z[16]×Z[13]→S:Goto ZLbI 5: L+Z[18]+( G -Z[16]- Z[18]×0.03)×Z[14]+Z[16]×Z [13]→S:Goto ZLbI 6: L+ G×Z[13]→S:Goto ZLbI Z4.极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSX:Y:Z[11]→K:Z[12]→L:Pol(X-K, Y-L):IF J<0:Then J+360→J:IfEnd:Fix 4:” FWJ=”: J◢DMS◢Fix 5:” S=”: I◢程序名:ZDFix 3:"KM=":Locate 6,4,Z:"D=":Locate 6,4,D5.交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4) ÷2688÷R∧(3)→A(圆曲线内移量H表示缓和曲线长)H÷2-H∧(3) ÷240÷R2→B(切垂距)((H2-N2)÷24÷R)÷Sin(Abs(P))-((H∧(4)-N∧(4))/2688/R∧(3)) ÷Sin(Abs(P))→E(R+A)tan(Abs(P) ÷2)+B-E→T:P÷Abs(P) →W0→M:H→CIf Z≤O-T:Then Z-O→S:G→Z[2]:Goto 2: IfEndIf Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:Goto 4:IfEndIf Z≤O-T+ΠR×Abs(P) ÷180+H÷2-N÷2: Then 180(Z-O+T-0.5H) ÷R÷Π→S: A+R(1-Cos(S))→B H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]:Goto 4: IfEnd:O-T+ΠR×Abs(P)÷180+H÷2+N÷2-Z→S:(R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P) ÷2)+N÷2-N∧(3) ÷240÷R2+E→T :N→H:Prog “HX”:G+P →S:S-WK→Z[2]:U+(T-A)Cos(S)-WBSin(S)→I:V+(T-A)Sin(S)+WBcos(S)→J:Goto 3:LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J: Goto 3: LbI 2:U+Scos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 3:C→H6. 交点法缓和段转化子程序(HX)程序名:HXS-S∧(5) ÷40÷R2÷H2+S∧(9)÷3456÷R∧(4) ÷H∧(4)→A:S∧(3) ÷6÷R÷H-S∧(7) ÷336÷R∧(3) ÷H∧(3)+S∧(11) ÷42240÷R∧(5) ÷H∧(5)→B:90S2÷Π÷R÷H→K:RS÷H→M7. 交点法反算子程序(ZX)程序名:ZXZ:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S:Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Goto 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JMΠ)/180→I:Z+I→Z:Goto 0:IfEndLbI 28.路基标准半幅宽度计算程序程序名GD1→S: Prog “G1”:Z-C→E:(B-A)*E/S+A→L:9. 导线点子程序(DX)程序名:DX“X Z”?K:”YZ”?L:K→Z[11]:L→Z[12]10.高程计算子程序(H)程序名:HP rog “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI→H:Goto 0:Else If Z<F:Then Q+SI→H:Goto 0:Else If Z≤E:Then Q+SI+S2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto ILbI I11.高程超高计算程序(I)程序名:IIf Z[3]=1:Then Prog “I1”:Goto 1: IfEndLbI 1: If W=1:Then Goto Z:Else Goto X: IfEndLbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEndLbI 2:Abs(D)→E:V÷E→I:I(E-K)→V15.线路选择子程序(线路选择输0时。

交点法坐标计算

交点法坐标计算

本程序由一个主程序JD和三个子程序(JDA、JDB、JDC)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标计算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并为线元法程序提供起点坐标起点切线方位角等数据!当然本程序也可单独逐交点输入进行放样计算用!鉴于5800计算器的空间和以上所述本程序的主要目的,故此程序不修改为数据库版本!需要的自行修改结合XY框架自己修改为数据库反算程序等!主程序名:JD24→Dimz↙Cls :"XC"?U :"YC"?V :"K(JD)"?K :"X(JD)"?X :"Y(JD)"?Y :"LS1"?B :"LS2"?C : ?R :"(ZH)FWJ°"?M : "α(Z-,Y+)°"?O : M+O→N :Prog "JDA"↙Cls :"T1=":"T2=":"L=":"LY=": Locate 4,1,S : Locate 4,2,T : Locate 4,3,L : Locate 4,4,Q◢Cls :"E=":"K(ZH)=": Locate 7,1,E : Locate 7,2,Z[1]◢Cls : "K(HY)=":"K(QZ)=":"K(YH)=":"K(HZ)=": Locate 7,1, Z[2] : Locate 7,2, Z[3] : Locate 7,3, Z[4] : Locate 7,4, Z[5]◢LbI 0 : "K×+×××"?P : "Z"?D : If D≠0 :Then "RJ"?H : IfEnd : Prog "JDB"↙If D<0 :Then Cls : "X(L)=":"Y(L)=": Locate 6,1,F : Locate 6,2,G◢Pol(F-U,G-V : Cls : "S(L)=": Locate 6,1,I : "F(L)=":360Frac((J+360)÷360▼DMS◢Goto 0 : IfEnd↙If D=0 :Then Cls : "X(Z)=":"Y(Z)=": Locate 6,1,F : Locate 6,2,G : "QXFWJ(Z)=": Z▼DMS◢Pol(F-U,G-V : Cls : "S(Z)=": Locate 6,1,I : "F(Z)=":360Frac((J+360)÷360▼DMS◢Goto 0 : IfEnd↙If D>0 :Then Cls : "X(R)=":"Y(R)=": Locate 6,1,F : Locate 6,2,G◢Pol(F-U,G-V : Cls : "S(R)=": Locate 6,1,I : "F(R)=":360Frac((J+360)÷360▼DMS◢Goto 0 : IfEnd↙子程序1名: JDAIf O<0 :Then -1→W : Else 1→W : IfEnd : WO→A ↙B2 ÷24÷R-B^(4)÷2688÷R ^(3) →Z[6] ↙C2 ÷24÷R-C^(4)÷2688÷R ^(3) →Z[7] ↙B÷2-B^(3)÷240÷R2 →Z[8] ↙C÷2-C^(3)÷240÷R2 →Z[9] ↙Z[8]+((R+Z[7]-(R+Z[6])cos(A))÷sin(A))→S↙Z[9]+((R+Z[6]-(R+Z[7])cos(A))÷sin(A))→T↙RAπ÷180+(B+C) ÷2→L↙RAπ÷180-(B+C) ÷2→Q↙(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E↙K-S→Z[1] ↙↙Z[1]+B→Z[2] ↙↙Z[2]+Q÷2→Z[3]↙Z[1]+L-C→Z[4]↙Z[4]+C→Z[5]↙子程序2名: JDBX-Scos(M)→Z[19]:Y-Ssin(M)→Z[20]↙X+Tcos(N)→Z[21]:Y+Tsin(N)→Z[22]↙If P>Z[1]:Then Goto 1 :IfEnd↙Z[1]-P→L↙X-(S+L)cos(M)+Dcos(Z+H)→F↙Y-(S+L)s in(M)+Dsin(Z+H)→G↙M→Z : Goto 5↙LbI 1 : If P>Z[2]:Then Goto 2 :IfEnd↙P-Z[1]→L→Z[12]:B→Z[13]rog"JDC"↙Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙M+90WL2 ÷(BRπ)→Z↙Goto 5↙LbI 2 : If P>Z[4]:Then Goto 3 :IfEnd↙P-Z[1]→L:90(2L-B)÷R÷π→Z[11]↙Rsin(Z[11])+Z[8]→Z[14]:R(1-cos(Z[11]))+Z[6]→Z[15]↙Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙M+WZ[11]→Z↙Goto 5↙LbI 3 : If P>Z[5]:Then Goto 4 :IfEnd↙Z[5]-P→L→Z[12]:C→Z[13]rog"JDC"↙Z[21]-Z[14]cos(N)-WZ[15]sin(N)+Dcos(Z+H)→F↙Z[22]-Z[14]sin(N)+WZ[15]cos(N)+Dsin(Z+H)→G↙N-90WL2 ÷(CRπ)→Z↙Goto 5↙LbI 4 : P-Z[5]→L↙X+(T+L)cos(N)+Dcos(Z+H)→F↙Y+(T+L)sin(N)+Dsin(Z+H)→G↙N→Z↙Goto 5↙LbI 5 : 360Frac((Z+360)÷360→Z↙子程序3名: JDCIf Z[12]=0 :T hen 0→Z[14]: 0→Z[15]:Else↙Z[12]- Z[12]^(5)÷40÷(RZ[13])2+ Z[12]^(9)÷3456÷(RZ[13])^(4)→Z[14]↙Z[12]^(3)÷6÷(RZ[13])-Z[12]^(7)÷336÷(RZ[13])^(3)+ Z[12]^(11) ÷42240÷(RZ[13])^(5)→Z[15] ↙IfEnd↙程序说明:已知数据输入:XC ? 测站X坐标YC ? 测站Y坐标K(JD)?交点桩号X(JD)?交点X坐标交点法线路坐标计算Y(JD)?交点Y坐标LS1 ?第一缓和曲线长度LS2 ?第二缓和曲线长度R ? 圆曲线半径(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)K×+×××? 待求桩号Z ?待求桩号距中距离(左负值,右正值,中为0)RJ ?斜交右角(线路切线前进方向与边桩右侧夹角)计算结果显示:T1=第一切线长T2=第二切线长L=曲线总长LY=圆曲线长E=曲线外距K(ZH)=直缓点桩号K(HY)=缓圆点桩号K(QZ)=曲中点桩号K(YH)=圆缓点桩号K(HZ)=缓直点桩号X= Y=待求点的坐标(其中:L-左 Z-中 R-右)QXFWJ(Z)=待求点的中桩切线方位角(当求中桩坐标时显示)S= F=测站至待求点的水平距离、方位角(其中L-左 Z-中 R-右)。

公路路线的交点曲线计算法

公路路线的交点曲线计算法

公路路线的交点曲线计算法摘要:本文介绍一种以曲线计算为内核的新的交点转角公路平曲线计算方法,适用于目前直曲线混合法定线时任意复杂线形的计算机辅助设计计算,并以标准的“直线、曲线及转角表”形式输出设计结果。

关键词:交点线元交点曲线计算法1.前言传统的公路平面敷设计算方法是以交点(JD)转角(α)为基础,以外距(E)为控制,通过求算切线长(T)来计算平曲线要素及各主点桩号的,与此相应的平面设计表达便是路线“直线、曲线及转角表”。

这种表达方式除了具有直观、方便的特点以外,更为重要的是它体现出公路路线设计的两个面,一是与之相适应直线加弯道的设计思路、定线方式、中线敷设和施工放样方法,另一个则是与汽车动力学相关的各项道路几何指标,因而应该说是十分经典并为大家所习惯采用的。

以后随着光电测距仪、全站仪等先进的测量仪器的出现,公路中线敷设及施工放线广泛采用极坐标法,从而摆脱了对特定计算方法的依赖,但对于较长距离的公路主线,传统的交点转角设计定线方法和“直线、曲线及转角表”的表达方式,却仍是其他方法和方式所不能取代的。

然而,当路线因为受到限制而不得不采用,诸如不对称曲线、卵形曲线、复曲线、凸曲线、双卵形曲线等复杂曲线,特别是需要曲线反算的情况下,采用传统的交点转角计算方法是很困难的。

对于复杂曲线的计算,大家一般采用了在传统方法的基础上,按曲线类型分别推导计算公式,并编写功能单一的计算程序进行计算的方法。

显然这种方法局限性大、程序功能单一,即使编写了针对不同类型曲线的许多模块,也不能涵盖任意的线形组合和曲线类型等情况。

笔者通过设计工作实践和纬地道路辅助设计系统的研究开发,在许多技术人员熟知的传统交点转角法布设平曲线的基础上,提出一种利用计算机进行平曲线计算的新交点转角法,该方法适用于任意复杂线形的设计计算。

2.交点曲线计算法该方法以适用于任意线元组合的复杂线形设计计算为目标,是以三种基本线元的统一参数模型为基础约定,以三线元捆绑式结构为通用的单交点曲线模型的交点可组合的计算方法,有别于传统的交点转角计算方法,暂称之为交点曲线计算法。

RTK放样方法(交点法)

RTK放样方法(交点法)

资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
RTK放样方法(交点法)
地点:__________________
时间:__________________
说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
在平面模式下选择工具下的roadlink,开始
会出现roadlink平面视图,文件菜单下选择新建道路
在出现菜单下输入道路名称和起始桩号
点击确认
会出现水平定线菜单,用交点法PI,选择插入,按顺序输入交点坐标,每插入一次点击应用,直到输完所有坐标,点击
关闭;
输入完毕后,选择PI1,根据曲线、螺旋线曲线螺旋线,螺旋线螺旋线,输入各种参数
如上所示,曲线只是输入半径,曲线长度会自动算出,如果和实际参数有出如,改过来就行了。

如果是螺旋线曲线螺旋线,只是输入半径和出入螺旋线的长度即可(一般出入螺旋线的长度一定一样)。

最后输入完毕,点击应用,关闭;会出现如下图形。

在道路菜单下的选项中可以设置起始桩号和桩号间距
最后把数据上传到手簿中。

在文件中选择导出
选择道路定义到测量设备
点击确定
选择survey controller on com1,手簿上选择连接PC机,即可,然后在手簿中可以查到道路名称,在放样中选择放样道路就可以了,这只是中桩放样,边线放样是在中桩的基础上有一个偏移测量,输入偏移量即可,按只是放样测量。

交点正反算坐标可计算不对称缓和曲线蓝星

交点正反算坐标可计算不对称缓和曲线蓝星

5800交点正反算坐标(可计算不对称缓和曲线)蓝星FX5800P交点法正反算坐标程序作者:蓝星 QQ群号:输入图纸中的整个标段交点要素,输入桩号及距中桩距离正算本标段任意点坐标,及极坐标放样的方位角及距离;由输入大概桩号及实测坐标,反算准确桩号及距中桩距离。

1、主程序程序名:1XY-KMLbI 0:7DimZ:Norm 2:1A::A:X,Y=1,KM,D=2:A: A=1=>Goto1:A=2=>Goto 2:::LbI A:Prog:QX::90B::PJ:B:BZLbI 1:Prog :DX[1]:LbI B::K:Z:Z= -1=>Goto 0:Z=-2=>Goto A: Prog:KM::D: Prog "Z":I+D×COS(Z[2]+Z[1]X: J+D×Sin(Z[2]+Z[1]Y: ,ix 3:: ,=::Locate6,4,,:: ,,::Locate 6,4,,:Prog:JS::Goto B:LbI 2:Prog:QX::LbI C::KM:Z:Z=-1=>Goto 0:Z=-2=>Goto 2: Prog:K:: :XO:X: :Y0:Y:Prog :ZX:: Fix 3:: ,,,::Locate 6,4,,:: ,,::Locate6,4,,:Goto C2. 交点法正算子程序(Z)程序名:Z22HR24-H(4)2688R(3)A:H2-H(3)240RB:22((H-N)24RSin(Abs(P))-((H(4)-N(4))2688R(3))Sin(Abs(PE:(R+A)tan(Abs(P)2)+B-ET:PAbs(P2W:0M:HC: R+NR24-N(4)2688R(3))tan(Abs(P)FX5800P交点法正反算坐标程序作者:蓝星 QQ群号:22)+N2-N(3)240R+EZ[6]: O-T+ΠR×Abs(P)180+H2-N2Z[7]:If ZO-T:Then Z-OS:GZ[2]:Goto 1: IfEnd: If ZO-T+H:Then Z-O+TS:Prog “HX”:G+WKZ[2]:A-TA:GE:Goto 2:IfEnd:If ZZ[7]: Then 180(Z-O+RΠS : A+R(1-Cos2(S))B:H2-H(3) 240R+Rsin(S)A:RM:G+WSZ[2]:A-TA:GE :Goto 2: IfEnd:If ZZ[7]+N:Then Z[7]+N-ZS:Z[6]T :NH:Prog “HX”:G+PE:E-WKZ[2]:T-AA:CH:Goto 2:IfEnd: Z-Z[7]-N+Z[6]S:G+PZ[2]:LbI 1:U+Scos(Z[2])I:V+Ssin(Z[2]J: Return: LbI 2:U+Acos(E)-WBsin(EI:V+ASin(E)+WBcos(EJ 3. 交点法缓和段子程序(HX)程序名:HX22S-S(5)40RH+S(9)3456R(4) H(4A:S(3)6RH-S(7)336R(3)H(3)+S(11)42240R(5)2 H(5B:90SΠRHK:RHSM4. 交点法反算子程序(ZX)程序名:ZXFX5800P交点法正反算坐标程序作者:蓝星 QQ群号:0D:Do:Z+DZ:Prog “Z”:Pol(X-I,Y-J+.000000001:J-Z[2] J:Isin(JS:Icos(JD: If M0:Then Pol(M-WS,D:JMΠ180D: LpWhile Abs(D)>: Z+DZ:SD5(线路选择子程序(线路选择输0时。

交点法坐标计算程序

交点法坐标计算程序

1.主程序 JDFZBZFS17→DimZ: Norm 2:1→ A " XY=1,FS=2,GC=3,LJKD=4,BPFY=5,BZFY=6”?A:A=1=>Goto1:A=2=>Goto 2: A=3=>Goto 3:A=4=>Goto 4: A=5=>Goto 5: A=6=>Goto 6LbI 1:Prog "DX":LbI A:Prog"QX": 90→B: "PJ1"?B:B →C: "PJ2"?C:B→Z[1]:C→Z[8]:LbI B:1→F: "KM"?Z: Prog"X1":?D:Prog"THB":O→L: Z[2]+Z[1]-Z[8] →E:X+L cos(E) →X:Y+Lsin(E) →Y:Prog"XY":Prog"JS":Goto B LbI 2:2→F:90→Z[1] :Prog"QX":LbI C: "KM"?Z:Prog"X 1": "XO"?X: "Y0"?Y:Prog"THB":Fix 5:Prog"ZD":G oto CLbI 3:Prog"QX": 0→B: "H-B"?B:B→Z[9]:LbI D: "KM"? Z:?D:Prog"H":Fix 5: "H=": H-Z[9] →H◢"I=":I◢Goto DLbI 4:Prog"QX":LbI E: "KM"?Z:?D:Prog"GD":Fix 5:" SJGD=": Locate 6,4,L:Goto ELbI 5:Prog"QX":0.5→B:"TH-GD"?B:B→Z[19]:LbI F:2→F: 90→Z[1]:"KM"?Z:Prog "X1":"X0"?X: "Y0"?Y: "SJ GC"?H: 0→M: "M0(YDMGC) "?M: Prog"BP FY":Fix 3:S→O: "L0=":Locate 6,4,O:Prog"ZD":H-M→G:"TW=": Lcoate 6,4,G: Goto FLbI 6:Prog"DX":LbI G:Prog"QX":LbI H:1→F:90→Z[1]:"KM"?Z: Goto G:Prog"X1":?D:Prog"THB":Prog"XY":Prog"JS":Prog"H":0→M:"M0"?M:Fix 2:H-M→T:"TW=": 6,4,T◢ Goto H2. 坐标计算次程序(THB)LbI J: If F=1:Then Prog "Z":Goto 1:Else Prog "ZX":Goto 2: IfEnd: LbI 1:I+D×COS(Z[2]+Z[1]) →X: J+D×Sin(Z[2]+Z[1]) →Y: LbI 23.路基开挖边线及填方坡脚线放样程序程序名:BP FYLbI H: 13→L:H-M→G: Prog “W1”:If G <0:Then –G →G:G oto W:Else G →G:Goto TLbI W:Z[8]+Z[9]→A: If G >A:Then Goto 1:Else If G >Z[8]: Then Goto 2:Else Goto 3:IfEndLbI 1: L+Z[10]+Z[11]+Z[12]+( G -A-( Z[11]+Z[12])×0.03)×Z[7]+Z[9]×Z[6]+Z[8]×Z[5] →S:Goto ZLbI 2: L+Z[10]+Z[11]+( G -Z[8]- Z[11]×0.03)×Z[6]+Z[8]×Z[5] →S:Goto ZLbI 3: L+ G×Z[5]→S:Goto ZLbI T:Z[16]+Z[17] →B:If G >B:Then Goto 4:Else If G >Z [16]:Then Goto 5:Else Goto 6:IfEndLbI 4: L+Z[18] ×2+ (G -B-2×Z[18]×0.03)×Z[15]+ Z[17]×Z[14]+ Z[16]×Z[13]→S:Goto ZLbI 5: L+Z[18]+( G -Z[16]- Z[18]×0.03)×Z[14]+Z[16]×Z [13]→S:Goto ZLbI 6: L+ G×Z[13]→S:Goto ZLbI Z4.极坐放样计算程序(计算放样点至置仪点方位角及距离)程序名:JSX:Y:Z[11]→K:Z[12]→L:Pol(X-K, Y-L):IF J<0:Then J+360→J:IfEnd:Fix 4:” FWJ=”: J◢DMS◢Fix 5:” S=”: I◢程序名:ZDFix 3:"KM=":Locate 6,4,Z:"D=":Locate 6,4,D5.交点法正算子程序(Z)程序名:ZH2÷R÷24-H∧(4) ÷2688÷R∧(3)→A(圆曲线内移量H表示缓和曲线长)H÷2-H∧(3) ÷240÷R2→B(切垂距)((H2-N2)÷24÷R)÷Sin(Abs(P))-((H∧(4)-N∧(4))/2688/R∧(3)) ÷Sin(Abs(P))→E(R+A)tan(Abs(P) ÷2)+B-E→T:P÷Abs(P) →W0→M:H→CIf Z≤O-T:Then Z-O→S:G→Z[2]:Goto 2: IfEndIf Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:Goto 4:IfEndIf Z≤O-T+ΠR×Abs(P) ÷180+H÷2-N÷2: Then 180(Z-O+T-0.5H) ÷R÷Π→S: A+R(1-Cos(S))→B H÷2-H∧(3) ÷240÷R2+Rsin(S)→A:R→M:G+WS→Z[2]:Goto 4: IfEnd:O-T+ΠR×Abs(P)÷180+H÷2+N÷2-Z→S:(R+N2÷R÷24-N∧(4)÷2688÷R∧(3))tan(Abs(P) ÷2)+N÷2-N∧(3) ÷240÷R2+E→T :N→H:Prog “HX”:G+P →S:S-WK→Z[2]:U+(T-A)Cos(S)-WBSin(S)→I:V+(T-A)Sin(S)+WBcos(S)→J:Goto 3:LbI 4:U+(A-T)cos(G)-WBsin(G)→I:V+(A-T)Sin(G)+WBcos(G) →J: Goto 3: LbI 2:U+Scos(Z[2])→I:V+Ssin(Z[2]) →J: LbI 3:C→H6. 交点法缓和段转化子程序(HX)程序名:HXS-S∧(5) ÷40÷R2÷H2+S∧(9)÷3456÷R∧(4) ÷H∧(4)→A:S∧(3) ÷6÷R÷H-S∧(7) ÷336÷R∧(3) ÷H∧(3)+S∧(11) ÷42240÷R∧(5) ÷H∧(5)→B:90S2÷Π÷R÷H→K:RS÷H→M7. 交点法反算子程序(ZX)程序名:ZXZ:0→D:LbI 0:Prog “Z”:Pol(X-I,Y-J):J-Z[2] →J:Isin(J) →S:Icos(J) →I:If Abs(I)<0.1:Then Z+I→Z:S→D:Goto 2:Else Goto 1: LbI 1:If M=0:Then Z+I→Z:Goto 0:Eles Pol(M-WS,I):(JMΠ)/180→I:Z+I→Z:Goto 0:IfEndLbI 28.路基标准半幅宽度计算程序程序名GD1→S: Prog “G1”:Z-C→E:(B-A)*E/S+A→L:9. 导线点子程序(DX)程序名:DX“X Z”?K:”YZ”?L:K→Z[11]:L→Z[12]10.高程计算子程序(H)程序名:HP rog “S1”:C-T→F:Z-F→S:C+T→E:G-TI→Q:If T=O:Then Q+SI→H:Goto 0:Else If Z<F:Then Q+SI→H:Goto 0:Else If Z≤E:Then Q+SI+S2÷2÷R→H:Goto 0:LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto ILbI I11.高程超高计算程序(I)程序名:IIf Z[3]=1:Then Prog “I1”:Goto 1: IfEndLbI 1: If W=1:Then Goto Z:Else Goto X: IfEndLbI Z:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×((N-M)×(Z-C)÷S+M)→V:Goto 2:IfEnd:LbI X:If S=0:Then Abs(D)×M→V:Goto 2:Else Abs(D)×(((3((Z-C)÷S)2-2((Z-C)÷S)∧(3))×(N-M))+M)→V:Goto 2:IfEndLbI 2:Abs(D)→E:V÷E→I:I(E-K)→V15.线路选择子程序(线路选择输0时。

5800(交点法)坐标计算及反算

5800(交点法)坐标计算及反算

5800(交点法)坐标计算及反算程序清单:1、JDF1J-PQXYS(交点法1-平曲线要素)5→Dimz↙“JD”?A↙“JD X”?B↙“JD Y”?C↙“FWJ”?F↙“L(a-),R(a+)”?O↙(字母O)“R”?R↙“LS1”?E↙“LS2”?K↙If E<1:Then 1*10^(-9) →E:IfEnd↙If K<1:Then 1*10^(-9) →K:IfEnd↙E2 ÷(24R)- E^(4)÷(2688R^(3))→Z[1]↙E÷2-E^(3)÷(240R2)+E^(5)÷(34560R^(4))→Z[2]↙((E2-K2 )÷(24R))÷Sin(Abs(O))→X↙(字母O)“T1=”:(R+E2÷(24R)-E^(4)÷(2688 R^(3)))tan(Abs(O) ÷2)+E÷2-E^(3)÷(240R2)+E^(5)÷(34560R^(4))-X→Z[3] ◢(字母O)“T2=”:(R+K2÷(24R)-K^(4)÷(2688 R^(3)))tan(Abs(O) ÷2)+K÷2-K^(3)÷(240R2)+K^(5)÷(34560R^(4))+X→Z[4] ◢(字母O)“L=”:Abs(O)πR÷180+(E+K)÷2→L◢(字母O)“LY=”:L-(E+K)→Y◢tan-1((R+Z[1])÷(Z[3]-Z[2]))→J↙“E=”:(R+Z[1])÷sin(J)-R→X◢A-Z[3]→X:X+E→Y↙If E<1:Then “ZY=”:X◢:Else “ZH=”:X◢IfEnd↙“HY=”:Y◢“QZ=”:X+E+(L-K-E)÷2→Y◢X+L-K→Y:X+L→X↙If K<1::Then “YZ=”:X◢:Else “YH=”:Y◢IfEnd↙“HZ=”:X◢Prog“JDF2J-JSMS”↙2、JDF2J-JSMS(交点法2-计算模式)LbI 0↙“1 KD=>XY,2 XY=>KD”?Z↙If Z=1:Then Goto 1:IfEnd↙If Z=2:Then Goto 2:IfEnd↙LbI 1↙“JS K”?P:“BZ(m)”?D:“BJ(°)”?W↙Prog“JDF3JPZS”↙“X=”:X◢“Y=”:Y◢If Z=1: Then Goto 1:Goto 1:IfEnd↙LbI 2↙“X”?X:“Y”?Y:“BJ(°)”?W↙Prog“JDF4JPFS”↙“JS K”:P◢“BZ(m)=”:D◢If Z=2: Then Goto 2:Goto 2:IfEnd↙3、JDF3JPZS (交点法3平曲线正算)LbI 1↙F→J↙B-Z[3]cos(F)→X↙C-Z[3]sin(F)→Y↙E→G↙If P≤A-Z[3]:Then A-Z[3]-P→I:-I→M:0→N:F+W→H: Goto5:IfEnd↙(数字0)If P≤A-Z[3]+E:Then P-A+Z[3]→I:90I2÷(REπ)→H: O<0=>-H→H:(前面为字母0,后面为数字0)H+W+F→H: Goto 3: IfEnd↙If P≤A-Z[3]+L-K:Then P-A+Z[3]-E→I: Goto 4:Else Goto2: IfEnd↙LbI 2↙B+Z[4]cos(F+O)→X↙(字母0)C+Z[4]sin(F+O)→Y↙(字母0)F+O+180→J↙(字母0)K→G↙If P≤A-Z[3]+L:Then A-Z[3]+L-P→I:90I2÷(RKπ)→H: O>0=>-H→H:(前面为字母0,后面为数字0)H+J+W+180→H: Goto 3 :Else P-A+Z[3]-L→I:-I→M:0→N:(数字0)J+W+180→H: Goto 5:IfEnd↙LbI 3↙I-I^(5)÷(40(RG)2)→M↙I^(3)÷(6GR)-I^(7)÷(336(RG)^(3))→N↙Goto 5↙LbI 4↙(E+2I)×90÷(πR)→H↙Rsin(H)+Z[2]→M↙R(1-cos(H))+Z[1]→N↙O<0=>-H→H↙(前面为字母0,后面为数字0)J+H+W→H↙Goto 5↙LbI 5 ↙If P≤A-Z[3]+L-K:Then O<0(前面为字母0,后面为数字0)=>-N→N:Else O>0(前面为字母0,后面为数字0)=>-N→N: Goto 6: IfEnd↙LbI 6 ↙X+Mcos(J)-Nsin(J)+Dcos(H)→X↙Y+Msin(J)+Ncos(J)+Dsin(H)→Y↙4、JDF4JPFS(交点法4平曲线反算)X→U:Y→V:0→D:F-W→J↙(数字0)A+(Y-C)cos(J)-(X-B)sin(J)→P↙LbI 1↙Prog“JDF3JPZS”↙H-180→J↙(V-Y)cos(J)-(U-X)sin(J)→I↙If Abs(I)<10^(-4):Then Goto 2:Else P+I→P: Goto1: IfEnd↙LbI 2↙(V-Y)÷sin(H)→D↙程序简介本套程序共有1个主程序,3个子程序,适用于CASIO-5800用户。

曲线坐标贯通计算(交点法升级版)

曲线坐标贯通计算(交点法升级版)

圆曲线自定义逐桩距(M)= 50.00
曲线自定义逐桩距(M)= 10.00
1 2 3 4 5 6 #REF! #REF!
#REF!
第二Ls(M)
使



500.000 500.000 500.000
500.000 500.000 500.000
本程序由十个交点升级到15个交点,曲线段(含 直线段)由41条升级到61条。曲线算法也进行改变, 即:直线按直线坐标;圆曲线按圆方程;缓和曲线按 高斯拉格朗日5节点法进行曲线坐标解算。 按左表连续输入交点设计参数,输入左右偏距, 根据全线各曲线段最大长度输入适当的圆曲线、缓和 曲线逐桩距即可进行全线中边桩坐标连续计算。直线 段逐桩距由程序自动赋值。如果不输入圆曲线自定义 逐桩距和缓和曲线自定义逐桩距,将由程序根据其 长度选择2.5、5、10、20、25、50米六个级数中一个 赋值进行自动逐桩距计算。 选择自定义逐桩距时,请根据提供的每条曲线的 计算显示个数和全线段曲线出现的最大长度进行自定 义逐桩距。(一旦自定义逐桩距全线都将采用) 圆曲线:每条圆曲线分配80个逐桩点空间; 缓和曲线:每条缓和曲线分配50个逐桩点空间。 升级后,程序将根据设计参数自动跟踪交点间 有无断链,如出现断链,程序将断链值按桩号变化 自动处理在交点间的直线段。
设 计 数 据 录 入 表
交点号 起点 JD1 JD2 JD3 JD4 JD5 JD6 终点 交点桩号 K068+128.443 K074+710.163 K080+161.470 K087+757.930 K092+800.270 K099+489.500 K103+664.590 K107+955.750 交点坐标 X(M) 3946605.640 3940756.900 3937425.200 3930567.320 3925578.610 3920011.730 3916045.510 3913895.820 Y(M) 38522087.670 38519069.180 38514703.380 38511330.210 38512537.620 38508573.690 38507232.960 38503395.780 半径R(M)

数学篇求两条直线的交点,说明过程

数学篇求两条直线的交点,说明过程

数学篇求两条直线的交点,说明过程CAD调⽤说明cad上⾯调⽤不⽤这么复杂,可以见某些情况数学⽅法处理更佳.简述⾸先要说明,看懂本篇您并不需要⾼中⽂化⽔平...为了求两条线的交点,⾸先要知道什么能求,⽽⽬前来说,我只知道⾼中数学的直线⽅程,那么我就要引⼊直线⽅程的概念...然后为什么直线⽅程能求交点呢?因为同时满⾜两条联⽴的直线⽅程,它的共同解也就只能是交点...(这⾥没看懂没关系,跟着代码⾛的时候你就知道了.)⽽直线⽅程实际上是描述⼀条两端⽆限延长的线,cad术语就是参照线,构成的两点只是过两点,⽽不是端点.是参照线的话,这就有⼀个⾮常好的条件: 除⾮平⾏,否则必然有交点那么在编程上,我拿到的数据⼀般是两个点..(x1,y1)(x2,y2)通过这⼀条线坐标计算出斜率,这个斜率实际上就是直⾓三⾓形(⾼/底)//斜率=⾼/底var a = (y2 - y1) / (x2 - x1); //需考虑分母不能为0var b = (y4 - y3) / (x4 - x3); //需考虑分母不能为0这样就有个问题了,会存在分母可能为0的情况,需要先判断⼀下://因为求斜率需要⽤除法,分母可能为0,所以求斜率之前,//需要判断两条线是否x轴平⾏或者y轴平⾏if (Eq(x2, x1) && Eq(x4, x3))throw new Exception("与y轴平⾏,两直线垂直,斜率不存在,⽆交点");if (Eq(y2, y1) && Eq(y4, y3))throw new Exception("与x轴平⾏,两直线⽔平,斜率为零,⽆交点");//求斜率,分母为0并不报错,⽽是赋值成 Infinitydouble a = (y2 - y1) / (x2 - x1); //需考虑分母不能为0 即x2=x1 l1垂直于x轴double b = (y4 - y3) / (x4 - x3); //需考虑分母不能为0 即x4=x3 l2垂直于x轴if (Eq(a, b))throw new Exception("斜率⼀致,两直线斜着平⾏,⽆交点");有了斜率和有两个点,就可以求直线⽅程,可以利⽤"点斜式"来求.如果你想知道其他的⽅式,可以看直线⽅程的五种形式可看,⽤我的话来说,其他形式最后都会成为点斜式,因为它⾜够简单.直线⽅程点斜式y-y1=k(x-x1)这⾥k是斜率(因两条直线:我的斜率是a和b),可以理解公式的x=x2,y=y2,为了使得x2,y2是个可变的点,所以⽤x,y代替(我的是_x,_y),成为未知数....这⾥x1,y1就是套⼊的点.如下图,形象理解⼀下y-y1是竖,x-x1是横,竖=斜率*横变换成:第⼀种 y=k(x-x1)+y1 这种⽐较重要! 因为众所周知的黎曼可积都是竖着切变换成:第⼆种 x=(y-y1-k*x1)/k然后由于未知数有两个还没法求,但是现在知道了⼀个条件: {知道x就可以推出y,知道y就可以推出x}垂线情况通过垂线得到_x,求出_y我之前的代码否决了两条线都平⾏或者都垂直还有⼀种情况未否决,这就是其中⼀条是垂直,它导致了⼀条线的分母是0,在c#中使⽤了分母为0的并不报错,⽽是double的值成为⼀个Infinity(正⽆穷)如果使⽤了这个斜率就会报错,所以我需要避免使⽤这个它..⼜由于这个斜率为0肯定是⼀条垂线,它的x1==x2是确定的,代表了两条直线的交点的_x肯定是这个x1.通过条件{知道x就可以推出y,知道y就可以推出x}套⼊公式即可求_ydouble _x, _y = 0;//未知数初始化//L1或L2两直线可能其中⼀个有Y轴平⾏(垂直X轴)的if (Eq(x2, x1)) //L1垂直于x轴则x=x1=x2,(x2 - x1)是0==斜率a的分母,a=Infinity正⽆穷{_x = x1;_y = b * x1 - b * x3 + y3;//公式变换第⼀种return new double[] { _x, _y };}else if (Eq(x4, x3)) //L2垂直于x轴则x=x3=x4,(x4 - x3)是0==斜率b的分母,b=Infinity正⽆穷{_x = x3;_y = a * _x - a * x1 + y1;//公式变换第⼀种return new double[] { _x, _y };}联⽴⽅程现在剩下⼀种情况,就是两条都是斜的.这个时候需要联⽴⽅程.再重复提及⼀下: 因为直线⽅程描述是⼀条参照线,两端⽆限延长,除⾮平⾏,否则必有交点.⼜因为交点是两条线的共同解,所以点斜式:line1和line2相减必然是0.{第⼀条线的直线⽅程} - {第⼆条线的直线⽅程} = 0; //桥接你的思路: 因为交点.Y-交点.Y=0,交点.X-交点.X=0啊!这样做的⽬的,就是算式剩下未知数是_x(其实反过来⽤X也可以)套到公式就是这样:[y=a(_x-x1)+y1] - [y=b(_x-x3)+y3] =0;[a*(_x-x1)+y1] - [b*(_x-x3)+y3] =0;[a*_x-a*x1+y1] - [b*_x-b*x3+y3] =0;a*_x-a*x1+y1 - b*_x+b*x3-y3 =0; 去括号,括号前是-号,故此+-互变a*_x-b*_x-a*x1+y1+b*x3-y3=0; 未知数的放⼀块(a - b)* _x = 0 + a*x1 - y1 - b*x3 + y3; 移项,+-互变_x = (a * x1 - y1 - b * x3 + y3) / (a - b);//上⾯程序代码已经算了_x了,直接套⼊点斜式⽅程,通过条件{知道x就可以推出y,知道y就可以推出x}_y = a * _x - a * x1 + y1;就这样,⼤功告成....直线⽅程⼀般式在点斜式上⾯使⽤了逻辑避让开垂直和⽔平的情况,那么⼀般式⾥⾯本⾝就容纳这个逻辑.可以看看数学家们是怎么利⽤各种直线⽅程归纳出⼀般式的,就明⽩了为什么"容纳"了,这个有.代码// https:///yangtrees/article/details/7965983/// <summary>/// 求交点,直线⽅程⼀般式,平⾏⽆解/// </summary>/// <returns>交点</returns>public static PointV GetCrossPoint(PointV p1, PointV p2, PointV p3, PointV p4){/* 直线⽅程⼀般式: Ax+By+C=0,推导:* 当x1!=x2,则斜率[(y2-y1)/(x2-x1)],点斜式⽅程: y-y1=k(x-x1)* y-y1 = [(y2-y1)/(x2-x1)]*(x-x1) ;⾼=斜率*底* y = [(y2-y1)/(x2-x1)]*(x-x1)+y1 ;加法交换律,y=斜率*底+y1.* (x2-x1)y = {[(y2-y1)/(x2-x1)]*(x-x1)+y1}*(x2-x1) ;两边同乘(x2-x1)* = (y2-y1)/(x2-x1)*(x-x1)*(x2-x1) + y1(x2-x1) ;拆括号* = (y2-y1)*(x-x1) + y1(x2-x1) ;约去两个相同(x2-x1)项* = (y2-y1)x -(y2-y1)x1 + y1(x2-x1) ;这⼀步开始根据⼀般式的格式,将系数划分出来* | |-(x1y2-x1y1)+ x2y1-x1y1 ;简单运算* | |x2y1-x1y1-(x1y2-x1y1) ;简单运算* | |x2y1-x1y1-x1y2+x1y1 ;简单运算* (x2-x1)y | (y2-y1)x |x2y1-x1y2 ;简单运算* -B | A |C ;格式* ------------------------------------------------------;保留系数* x1-x2 |y2-y1 |x2y1-x1y2 ;写⼊到代码中* B | A |C ;直线⽅程⼀般式*/var a1 = p2.Y - p1.Y;var b1 = p1.X - p2.X;var c1 = p2.X * p1.Y - p1.X * p2.Y;var a2 = p4.Y - p3.Y;var b2 = p3.X - p4.X;var c2 = p4.X * p3.Y - p3.X * p4.Y;/* 求交点就是联⽴⽅程:* (A1x+B1y+C1)-(A2x+B2y+C2)=0,⼆者实际上就是联⽴⽅程组的叉积应⽤* 叉乘:依次⽤⼿指盖住每列,交叉相乘再相减,注意主副顺序* x y z* a1 b1 c1* a2 b2 c2*/var x = b1 * c2 - b2 * c1;//主-副(左上到右下是主,左下到右上是副)var y = a2 * c1 - a1 * c2;//副-主var z = a1 * b2 - a2 * b1;//主-副,为0表⽰两直线重合var cp = new PointV();if (Math.Abs(z) > 1e-8){cp.X = x / z;cp.Y = y / z;//cp.Z = z / z;}//唉唉唉这样Z不都是1了?直线⽅程是平⾯坐标系,因此Z抹去,//那么明明叉乘是可以满⾜XYZ的推导,恰恰这个时候告诉你Z抹去了,//那是不是代表说,直线⽅程上⾯少了参数?然后就可以描述成空间直线⽅程?//所以就延伸出空间直线⽅程⼀般式: Ax+By+Cz+D=0.return cp;}编程特有如果你把这个提⽰报错代码去掉,会出现有意思的东西.测试代码先下载⼀个控制台测试using JoinBox.BasalMath;using System.Runtime.InteropServices;using static JoinBox.BasalMath.Geometrist;namespace 求交点{public class test{public static void Print(string str){System.Console.WriteLine(str);}public static void Main(string[] args){PointV pt;//⽔平平⾏pt = IntersectWith(PointV.Origin, new PointV(10, 0), new PointV(0, 5), new PointV(10, 5)); Print(pt.ToString());//垂直平⾏pt = IntersectWith(PointV.Origin, new PointV(0, 10), new PointV(5, 0), new PointV(5, 10)); Print(pt.ToString());//⼀斜⼀⽔平pt = IntersectWith(PointV.Origin, new PointV(10, 10), new PointV(0, 5), new PointV(10, 5)); Print(pt.ToString());//⼀斜⼀垂直pt = IntersectWith(PointV.Origin, new PointV(10, 10), new PointV(5, 0), new PointV(5, 10)); Print(pt.ToString());//L1线垂直pt = IntersectWith(new PointV(5, 0), new PointV(5, 10), PointV.Origin, new PointV(10, 10)); Print(pt.ToString());//L2线垂直pt = IntersectWith(PointV.Origin, new PointV(10, 10), new PointV(5, 0), new PointV(5, 10)); Print(pt.ToString());//两条都是斜的交点pt = IntersectWith(PointV.Origin, new PointV(10, 10), new PointV(10, 0), new PointV(0, 10)); Print(pt.ToString());//两条都是斜着平⾏pt = IntersectWith(PointV.Origin,new PointV(1, 1),new PointV(0.70710678118655, -0.70710678118655),new PointV(1.70710678118655, 0.29289321881345));Print(pt.ToString());}}}封装using System;namespace JoinBox.BasalMath{public partial class Geometrist{/// <summary>/// 直线⽅程求交点/// </summary>public static PointV IntersectWith(PointV p1, PointV p2, PointV p3, PointV p4){var obj = IntersectWith(p1.X, p1.Y, p2.X, p2.Y, p3.X, p3.Y, p4.X, p4.Y);return new PointV(obj);}static bool Eq(double a, double b, double tolerance = 1e-6){return Math.Abs(a - b) < tolerance;}/// <summary>/// 直线⽅程求交点/// </summary>static double[] IntersectWith(double x1, double y1,double x2, double y2,double x3, double y3,double x4, double y4){//因为求斜率需要⽤除法,分母可能为0,所以求斜率之前,//需要两条线是否x轴平⾏或者y轴平⾏if (Eq(x2, x1) && Eq(x4, x3))throw new Exception("与y轴平⾏,两直线垂直,斜率不存在,⽆交点");if (Eq(y2, y1) && Eq(y4, y3))throw new Exception("与x轴平⾏,两直线⽔平,斜率为零,⽆交点");//求斜率,分母为0并不报错,⽽是赋值成 Infinitydouble a = (y2 - y1) / (x2 - x1); //需考虑分母不能为0 即x2=x1 l1垂直于x轴double b = (y4 - y3) / (x4 - x3); //需考虑分母不能为0 即x4=x3 l2垂直于x轴if (Eq(a, b))throw new Exception("斜率⼀致,两直线斜着平⾏,⽆交点");double _x, _y;//L1或L2两直线可能其中⼀个有Y轴平⾏(垂直X轴)的if (Eq(x2, x1)) //L1垂直于x轴则x=x1=x2,(x2 - x1)是0==a分母,a=Infinity正⽆穷{_x = x1;_y = b * x1 - b * x3 + y3;//公式变换第⼀种return new double[] { _x, _y };}else if (Eq(x4, x3)) //L2垂直于x轴则x=x3=x4,(x4 - x3)是0==b分母,b=Infinity正⽆穷{_x = x3;_y = a * _x - a * x1 + y1;//公式变换第⼀种return new double[] { _x, _y };}//两条直线都是⾮垂直状态/* 知道了点和斜率,那么两条点斜式⽅程联⽴.因为直线⽅程是⼀条参照线,两端⽆限延长,除⾮平⾏,否则必有交点.⼜因为交点是两条线的共同解,所以点斜式:line1和line2的y相减是0,y=k(_x-x1)+y1所以未知数y就相减去掉,剩下x,来求y.反之,也可以相减去掉x,来求y.[y=a(_x-x1)+y1] - [y=b(_x-x3)+y3] =0;[a*(_x-x1)+y1] - [b*(_x-x3)+y3] =0;[a*_x-a*x1+y1] - [b*_x-b*x3+y3] =0;a*_x-a*x1+y1 - b*_x+b*x3-y3 =0; 去括号,+-互变(a - b)* _x = 0 + a*x1 - y1 - b*x3 + y3; //移项,+-互变_x = (a * x1 - y1 - b * x3 + y3) / (a - b);*/_x = (a * x1 - y1 - b * x3 + y3) / (a - b);//但是上⾯程序代码已经算了_x了,直接套⼊点斜式⽅程,偷懒...也可以通过公式计算 /* y-y1=k*x-k*x1y-y1+k*x1=k*x(y-y1+k*x1)/k=x[(y-y1-a*x1)/a] - [(y-y3-b*x3)/b] =0; //这是按照公式的⽅法*/_y = a * _x - a * x1 + y1; // 点斜式⽅程 y-y1=k(x-x1)return new double[] { _x, _y };}}}CAD测试namespace JoinBox{public class CmdTest{[CommandMethod("CmdTest_IntersectWith")]public void CmdTest_IntersectWith(){var doc = Acap.DocumentManager.MdiActiveDocument;var ed = doc.Editor;var db = doc.Database;ed.WriteMessage(Environment.NewLine + "惊惊net测试区:");var pts = new List<Point3d>();var ppo = new PromptPointOptions(""){AllowArbitraryInput = true,//任意输⼊AllowNone = true //允许回车};for (int i = 0; i < 4; i++){ppo.Message = $"{Environment.NewLine}测试点{i + 1}:";var ppr = ed.GetPoint(ppo);//⽤户点选if (ppr.Status != PromptStatus.OK)return;pts.Add(ppr.Value);}var pt1 = Geometrist.IntersectWith(pts[0], pts[1], pts[2], pts[3]);ed.WriteMessage("\n点斜式交点1是:" + pt1.ToString());var pt2 = Geometrist.GetCrossPoint(pts[0], pts[1], pts[2], pts[3]);ed.WriteMessage("\n⼀般式交点2是:" + pt2.ToString());}}}(完)。

卡西欧5800交点法坐标计算程序

卡西欧5800交点法坐标计算程序

交点法坐标计算JDFZBJS第一种:单一交点法计算任意里程位的坐标。

程序如下:待求段的交点X坐标→V:待求段的交点Y坐标→W:前一段的交点X坐标→M:前一段的交点Y坐标→N:直缓点ZH的里程→Q:缓直点HZ的里程→Z:待求段圆曲线半径→R:待求段缓和曲线长度→U:待求段的切线长度→T:待求段转向方向(左转取-1,右转取+1)→P:待求段转向偏角→A:10→DimZ:Cls:“KM=”?L: 待求点里程“L-1,R+1”?K: 待求点位于前进方向左侧为-1,右侧为+1“PJ=”?S: 待求点到线路设计中心的平距Lbl 0:Pol(V-M,W-N):J→Z[1]:Rec(T,Z[1]+180):V+I→Z[2]:W+J→Z[3]:Lbl 1:If L≤Q:Then Rec(Q-L,Z[1]+180):Else Goto 2:IfEnd:Z[2]+I→Z[4]:Z[3]+J→Z[5]:If K=1:Then Rec(S,Z[1]+90):Else Rec(S,Z[1]+270):IfEnd:Goto 6:Lbl 2:Abs(Q-L)→Z[6]:If U≥Z[6]:Then Pol(Z[6]-Z[6]ˆ(5)÷(40R2U2)+Z[6]^(9)÷(3456(RU)^(4)),Z[6]^(3)÷(6RU)-Z[6]^(7)÷(336(RU)^(3))+Z[6]^(11)÷(42240(RU)^(5))):Else Goto 3:IfEnd:J→Z[7]:Rec(I,Z[1]+Z[7]P):Z[2]+I→Z[4]:Z[3]+J→Z[5]:Z[1]+Z[7]P+60PZ[6]2÷(RUπ)+90→Z[10]:If K=1:Then Rec(S,Z[10]):Else Rec(S,Z[10]+180):IfEnd:Goto 6:Lbl 3:Abs(Q-L)→Z[6]:If L≤Z-U:Then Pol(Rsin(90(2Z[6]-U)÷(Rπ))+U-Rsin(90U÷(Rπ))-U^(3)÷(40R2),R-Rcos(90(2Z[6]-U)÷(Rπ))+U2÷(24R)):Else Goto 4:IfEnd:J→Z[7]:Rec(I,Z[1]+Z[7]P):Z[2]+I→Z[4]:Z[3]+J→Z[5]:Z[1]+90P(2Z[6]-U)÷(Rπ)+90→Z[10]:If K=1:Then Rec(S,Z[10]):Else Rec(S,Z[10]+180):IfEnd:Goto 6:Lbl 4:If L≥Z-U And L≤Z:Then Z[1]+AP→Z[1]:Else Goto 5:IfEnd:Rec(T,Z[1]):V+I→Z[2]:W+J→Z[3]:Z→Q:-P→P:-K→K:Z[1]+180→Z[1]:Goto 2:Lbl 5:If L≥Z:Then Z[1]+AP→Z[1]:IfEnd:Rec(T,Z[1]):V+I→Z[2]:W+J→Z[3]:Rec(L-Z,Z[1]):Z[2]+I→Z[4]:Z[3]+J→Z[5]:If K=1:Then Rec(S,Z[1]+90):Else Rec(S,Z[1]+270):IfEnd:Goto 6:Lbi 6:Z[4]+I→Z[8]:Z[5]+J→Z[9]:Cls:Fix 3:“Xp=”: 计算的X坐标“Yp=”: 计算的Y坐标Locate 7,1,Z[8]: X坐标显示在第一行Locate 7,2,Z[9]◢Y坐标显示在第二行Stop注解:在本程序中考虑了ZH点前和HZ点后的直线情况。

交点法公路三维坐标放样程序

交点法公路三维坐标放样程序

交点法公路三维坐标放样程序(CASIO fx-9750GⅡ编程计算器之应用)摘要:在公路工程施工过程中,测量时需计算大量的数据,为配合施工测量,建议使用fx-9750GⅡ编程函数计算器。

fx-9750GⅡ具有高速CPU、大容量内存与串列功能等特点。

本人编写了交点法公路三维坐标计算程序,测量时可调用任一条路线的数据进行三维坐标计算,1秒内即可计算出线路任意一点的坐标、高程、极坐标放样等各项数据资料。

关键词:公路fX-9750GⅡ测量程序三维坐标1、前言fx-9750GⅡ编程函数计算器正风行市场,fx-9750GⅡ编程函数计算器有以下性能:(1)采用高性能cpu,与传统型号相比显著加速处理速度。

比拟fx-5800、fx-4850快上数十倍,(2)它拥有超大的内存容量(62K,可升级至1.5M)可下载各种数据和运用数据,(3)即插即用的USB功能, 通过CASIO FA-124应用软件实现电脑和计算器、计算器之间的高速数据通信和程序互换,实现无纸化施工测量,以下是对交点法公路三维坐标计算程序作一下简单介绍。

2、程序功能本程序由一个主程序2JDF和十一个子程序(QD、XL、JF、YS、ZB、JZ、OH、HB、NS、LS)构成,运行时只需运行主程序即可。

本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标计算。

(如下图范围内)本程序能正算出任一点的三维坐标,也能测量计算出棱镜置于任一点反算桩号并求出填挖高度。

本程序有以下功能(1)进行由里程、边距计算坐标及极坐标放样(拔角测距)(2)进行由坐标反算里程和边距;(3)进行弯道上及斜交桥涵放样;(4)进行高程填挖厚度计算;(5)进行正算三维坐标放样,并自动记录;(6)进行三维坐标坐标反算放样,并自动记录;(7)进行设计桩号法填挖线放样,并自动记录;(8)进行反算桩号法填挖线放样,并自动记录;由于编幅有限,本文只介绍第(6)中的三维坐标坐标反算放样功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档