曲线段任意一方位角怎么计算?有没有直接公式

如题所述

第1个回答  2012-10-25
  发一段VBA代码公式给你,计算任意曲线切线方位角的:

  Sub FWJ()
  If Sheets("Sheet1").Cells(2, 2) = "" Or Sheets("Sheet1").Cells(3, 2) = "" Or Sheets("Sheet1").Cells(4, 2) = "" Or Sheets("Sheet1").Cells(5, 2) = "" Or Sheets("Sheet1").Cells(6, 2) = "" Or Sheets("Sheet1").Cells(7, 2) = "" Or Sheets("Sheet1").Cells(2, 2) = 0 Or Sheets("Sheet1").Cells(3, 2) = 0 Or Sheets("Sheet1").Cells(4, 2) = 0 Or Sheets("Sheet1").Cells(5, 2) = 0 Or Sheets("Sheet1").Cells(6, 2) = 0 Or Sheets("Sheet1").Cells(7, 2) = 0 Then
  Sheets("Sheet1").Cells(8, 2) = "要素不能为空或0"
  Else
  k = Sheets("Sheet1").Cells(7, 2)
  d = Sheet1.Cells(2, "B") '起点里程
  z = Sheet1.Cells(3, "B") '止点里程
  q = Sheet1.Cells(4, "B") '起点半径
  r = Sheet1.Cells(5, "B") '止点半径
  a = Dms(Sheet1.Cells(6, "B")) '起点方位角
  c = 1 / q + (1 / r - 1 / q) * Abs(k - d) / Abs(z - d)
  e = a + 28.64789 * (1 / q * 1 + c) * Abs(k - d)
  Sheets("Sheet1").Cells(8, 2) = DDms(e)
  End If
  End Sub

  释义:
  Sheets("Sheet1").Cells(8, 2) 表示输出方位角、其中e为计算结果。
  Dms为角度转换,将度分秒转换为度(也就是说用计算器直接输入成度分秒即可)。
  DDms为度转换为度分秒(计算器没必要转换)。
相似回答