新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
sin(角度值)同理cos,tan
成都创新互联-专业网站定制、快速模板网站建设、高性价比山阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式山阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖山阳地区。费用合理售后完善,10余年实体公司更值得信赖。
Atn()是VB反正切函数,VB不提供其他反三角函数,不过可以用下列公式导出:
Inverse
Sine
(反正弦):
Arcsin(X)
=
Atn(X
/
Sqr(-X
*
X
+
1))
Inverse
Cosine
(反余弦):
Arccos(X)
=
Atn(-X
/
Sqr(-X
*
X
+
1))
+
2
*
Atn(1)
Inverse
Secant
(反正割):
Arcsec(X)
=
Atn(X
/
Sqr(X
*
X
-
1))
+
Sgn((X)
-
1)
*
(2
*
Atn(1))
Inverse
Cosecant
(反余割):
Arccosec(X)
=
Atn(X
/
Sqr(X
*
X
-
1))
+
(Sgn(X)
-
1)
*
(2
*
Atn(1))
以上这些公式,其实就是应用了数学中的各类三角函数和正切函数之间的关系导出的。其中需要注意的是其中的
X
不能等于正负1。(引用-_-)
x都是弧度制
VB系统的坐标原点在左上角,X轴的正方向是水平向右,而Y轴的正方向是垂直向下。所以,要绘制三角函数的曲线,自己可以通过改变点坐标的方法来实现,当然,VB.NET提供了相应的方法可以来实现坐标变换,也可以通过VB.Net的Graphics类提供的平移、旋转等转换来实现。
下面是我通过自己变换实现的示例,提供参考;我的环境是VB.NET 2010
Imports System.Math
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'1,获得一个Graphics对象
Dim MyGraphics As Graphics
MyGraphics = PictureBox1.CreateGraphics
'2,定义一个Pen对象,用于绘制图形(轮廓线)
Dim MyPen As New Pen(Color.Black, 1)
'3,定义一个Brush对象,用于填充图形(如果需要填充的话)
Dim MyBrush As New SolidBrush(Color.Orange)
MyGraphics.DrawLine(MyPen, 0, 200, 700, 200)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'1,获得一个Graphics对象
Dim MyGraphics As Graphics
MyGraphics = PictureBox1.CreateGraphics
'2,定义一个Pen对象,用于绘制图形(轮廓线)
Dim MyPen As New Pen(Color.Black, 1)
'3,定义一个Brush对象,用于填充图形(如果需要填充的话)
Dim MyBrush As New SolidBrush(Color.Orange)
'声明横向和纵向比例变量
Dim Heng As Integer = 20
Dim Zong As Integer = 50
'先获得正弦值,保存到点坐标数组
Dim MyPoints(700) As Point
Dim i As Integer
For i = 0 To 700
MyPoints(i) = New Point(i * Heng, 200 + Sin(i) * Zong)
Next
'采用绘制光滑线连接点的方式绘制曲线
MyGraphics.DrawCurve(MyPen, MyPoints)
End Sub
End Class
显示的效果图:
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
扩展资料:
Visual Basic 开发的程序只能运行在Microsoft Windows中;且运行时还需要 VB 运行库。
Visual Basic 不能很好的综合Windows的基础 API,很多时候要使用低级运算的“小伎俩”来进行编程。而C 语言的低级内存运算比 VB 的要简单得多。
VB语言作为计算机语言的入门,是很多学生学习编程的入门级语言,大学生利用VB语言开始了他们学习计算机的世界。
Visual Basic的强大在于能够快速开发企业级软件,使程序员有更多的时间和精力考虑用户的需求,生产出满足用户需要的软件,特别适合大型企业级软件的开发,比如MIS、MRP、MRP II、ERP等重量级的软件,而不是花很长时间去制作一个只有几K的DLL。
参考资料来源:百度百科-vb
参考资料来源:百度百科-三角函数
有几个地方要注意:
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