基于VB测量程序设计(7)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于VB测量程序设计(7)

3 窗体功能原理分析

3.1 日常测量计算

3.1.1 角度弧度互化

“度”和“弧度”是度量角大小的两种不同的单位,在一般测量仪器观测得到的角度值都是度分秒的形式,在数据处理时都以“度”(如94度5分18秒,输入时为:94.0518度)的形式输入,而在计算机编程中,涉及到的数学模型和函数计算等一般都是用弧度进行计算,本程序包含的三角函数的运算,规定必须以弧度的形式将角度代入计算,因此有必要设计角度弧度互化的程序。在进行角度弧度互化程序设计之前,需要将实际测量当中,角度弧度的相关原理概念,转化的公式方法弄清楚。

由概念可知,一个平角是π弧度,即180“度”=π“弧度”,1“度”=π/180“弧度”,大约为0.017453“弧度”。因此,可以得到将度转化为弧度的公式:弧度=度×π/180。同理可知,弧度转化为度的公式可以写成:度=弧度×180°/π[4]。

本程序共分为两个部分:

角度转化为弧度:日常观测值都是角度,而计算需要化为弧度。

弧度转化为角度:测量涉及角度计算都是弧度,而输出结果往往为角度。

两部分将分别用command_click事件实现计算功能。两功能均调用fix()函数,语法是fix(number),功能为删除number参数的小数部分并返回以整数表示的结果。int()和fix()函数的区别在于如果number参数为负数时,int()函数返回小于或等于number的第一个负整数,而fix()函数返回大于或等于number参数的第一个负整数[5]。例如,int()将-7.4转换为-8,而fix()函数将-7.4转换为-7。

(1) 角度转化为弧度

编程大致思路为:度分秒——>度——>弧度

主要代码如下:

Private Sub Command1_Click()

  Dim du%, fen%, miao%, jiaodu#    '定义du,fen,miao分别记录录入角度值的“度”“分”“秒”

  dufenmiao = Val(Text1.Text)

  du = Fix(dufenmiao)

  dufenmiao = (dufenmiao - du) * 100

  fen = Fix(dufenmiao)

  miao = (dufenmiao - fen) * 100

  jiaodu = du + fen / 60 + miao / 3600

  dutohu = jiaodu * pi / 180       '角度转化为弧度公式:弧度=度×π/180

  Text2.Text = Format(dutohu, "0.000000")

End Sub来`自^优尔论*文-网www.youerw.com

(2) 弧度转化为角度

编程大致思路为:弧度(RAD)——>度(DEG)——>度分秒

主要代码如下:

  hu = hu * 180 / pi   '弧度转化为度的公式:度=弧度×180°/π

  du = Fix(hu)

  hu = (hu - du) * 60

  fen = Fix(hu)

  hu = (hu - fen) * 60

  miao = Fix(hu + 0.5)

  If miao = 60 Then

     fen = fen + 1

     miao = 0

  End If

  If fen = 60 Then

     du = du + 1

     fen = 0

  End If

  hutodu = du + fen / 100 + miao / 10000 '度分秒形式

  If hutodu < 0 Then                  '角度调整

(责任编辑:qin)