网站建设资讯

NEWS

网站建设资讯

vb.net求正弦 编程求正弦值

有谁知道VB编程中运算sin、cos、tan、cot的程序怎么写?

sin(角度值)同理cos,tan

克东网站建设公司创新互联,克东网站设计制作,有大型网站制作公司丰富经验。已为克东千余家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的克东做网站的公司定做!

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都是弧度制

在visual studio中编写VB程序时sin cos为何不识别,如何才能输入三角函数?

vb.net提供了许多命名空间,三角函数在 System.Math 命名里:

在代码窗口的最上面添加如下代码:

Imports System.Math

见下图:

在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

大佬们~VisualStudio中vb.net如何画三角函数图像?

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

显示的效果图:


文章名称:vb.net求正弦 编程求正弦值
文章分享:http://njwzjz.com/article/dohioio.html