重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
sin正弦函数,cos余弦函数,tan正切函数,cot余切函数 在直角三角形中,当平面上的三点A、B、C的连线,AB、AC、BC,构成一个直角三角形,其中∠ACB为直角。对∠BAC而言,对边(opposite)a=BC、斜边(hypotenuse)c=AB、邻边(adjacent)b=AC,
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了阿拉善盟免费建站欢迎大家使用!
dim a%(2),b%(2),c%(2),i%
for i=0 to 2
a(i)=val(inputbox("输入a的度/分/秒"))
b(i)=val(inputbox("输入b的度/分/秒"))
c(i)=a(i)+b(i)
next
msgbox(c(0)+((c(1)+ c(2)\60))\60 "度" (c(1)+ c(2)\60)mod 60 "分" c(2) mod 60 "秒")
有几个地方要注意:
1、VB中的三角函数的角度全部是用弧度制表示的,如果是度数的话,应先乘以180再除以π转成弧度,再用函数计算结果。
2、VB中直接支持的三角函数有:Sin()、Cos()、Tan(),如果涉及到其它三角函数,可以从下面列出的代码中自己选择相应的函数:
Function
Sec(X)
As
Double
'正割
Sec
=
1
/
Cos(Angle)
End
Function
Function
Csc(X)
As
Double
'余割
Csc
=
1
/
Sin(Angle)
End
Function
Function
Cot(X)
As
Double
'余切
Cot
=
1
/
Tan(Angle)
End
Function
Function
ArcSin(X)
As
Double
'反正弦
ArcSin
=
Atn(X
/
Sqr(-X
*
X
+
1))
End
Function
Function
ArcCos(X)
As
Double
'反余弦
ArcCos
=
Atn(-X
/
Sqr(-X
*
X
+
1))
+
2
*
Atn(1)
End
Function
Function
ArcSec(X)
As
Double
'反正割
ArcSec
=
Atn(X
/
Sqr(X
*
X
-
1))
+
Sgn((X)
-
1)
*
(2
*
Atn(1))
End
Function
Function
ArcCsc(X)
As
Double
'反余割
ArcCsc
=
Atn(X
/
Sqr(X
*
X
-
1))
+
(Sgn(X)
-
1)
*
(2
*
Atn(1))
End
Function
Function
ArcCot(X)
As
Double
'反余切
ArcCot
=
Atn(X)
+
2
*
Atn(1)
End
Function
Function
HSin(X)
As
Double
'双曲正弦
HSin
=
(Exp(X)
-
Exp(-X))
/
2
End
Function
Function
HCos(X)
As
Double
'双曲余弦
HCos
=
(Exp(X)
+
Exp(-X))
/
2
End
Function
Function
HTan(X)
As
Double
'双曲正切
HTan
=
(Exp(X)
-
Exp(-X))
/
(Exp(X)
+
Exp(-X))
End
Function
Function
HSec(X)
As
Double
'双曲正割
HSec
=
2
/
(Exp(X)
+
Exp(-X))
End
Function
Function
HCsc(X)
As
Double
'双曲余割
HCsc
=
2
/
(Exp(X)
-
Exp(-X))
End
Function
Function
HCot(X)
As
Double
'双曲余切
HCot
=
(Exp(X)
+
Exp(-X))
/
(Exp(X)
-
Exp(-X))
End
Function
Function
HArcsin(X)
As
Double
'反双曲正弦
HArcsin
=
Log(X
+
Sqr(X
*
X
+
1))
End
Function
Function
HArccos(X)
As
Double
'反双曲余弦
HArccos
=
Log(X
+
Sqr(X
*
X
-
1))
End
Function
Function
HArctan(X)
As
Double
'反双曲正切
HArctan
=
Log((1
+
X)
/
(1
-
X))
/
2
End
Function
Function
HArcsec(X)
As
Double
'反双曲正割
HArcsec
=
Log((Sqr(-X
*
X
+
1)
+
1)
/
X)
End
Function
Function
HArccsc(X)
As
Double
'反双曲余割
HArccsc
=
Log((Sgn(X)
*
Sqr(X
*
X
+
1)
+
1)
/
X)
End
Function
Function
HArccot(X)
As
Double
'反双曲余切
HArccot
=
Log((X
+
1)
/
(X
-
1))
/
2
End
Function
Dim 角度根 As Double, 角度 As Double
Const PI = 3.14159265358979
Private Sub Timer1_Timer()
Dim P As POINTAPI
GetCursorPos P '获取鼠标在屏幕中的位置
ScreenToClient Me.hwnd, P '转换为本窗体的坐标
Dim Tckt As Boolean
Tckt = P.x = 0 And P.y = 0 And P.x Me.Width / Screen.TwipsPerPixelX And P.y = Me.Height / Screen.TwipsPerPixelY
If Tckt Then
Text1.Text = P.x
Text2.Text = P.y '按像素显示坐标
End If
'Text3.Text = 取人物角度(151 - P.x, 131 - P.y)
Text3.Text = 取人物角度(P.x - 151, 131 - P.y)
End Sub
Function 取人物角度(ByVal 角度X As Double, ByVal 角度Y As Double) As Double
If 角度X = 0 And 角度Y 0 Then
角度根 = 0
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度Y = 0 And 角度X 0 Then
角度根 = 90
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度X = 0 And 角度Y 0 Then
角度根 = 180
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度X 0 And 角度Y = 0 Then
角度根 = 270
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度X 0 And 角度Y 0 Then
角度根 = Atn(角度X / 角度Y) * 180 / PI
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度X 0 And 角度Y 0 Then
角度根 = Atn(Abs(角度Y) / 角度X) * 180 / PI + 90
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度X 0 And 角度Y 0 Then
角度根 = Atn(Abs(角度X) / Abs(角度Y)) * 180 / PI + 180
取人物角度 = CStr(角度根)
Exit Function
End If
If 角度X 0 And 角度Y 0 Then
角度根 = Atn(Abs(角度Y) / Abs(角度X)) * 180 / PI + 270
取人物角度 = CStr(角度根)
Exit Function
End If
End Function
这个其实更多的是数学常识。1角度=π/180弧度。
圆周上某一点(x,y)与x轴正方向的夹角假定为m°,圆的半径假定为r,则
Const pi As Single = 3.141593
x = r * Cos(m * pi / 180)
y = r * Sin(m * pi / 180)