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

VisualStudio2013,新建项目vb.netwindows应用窗体,我在画函数图像的时候先在最上面声明的:importsystem.math然后发现sin(x)... VisualStudio2013,新建项目vb.net windows应用窗体,我在画函数图像的时候先在最上面声明的:import system.math 然后发现sin(x)的返回值是Double,但是程序语句只有画直线,且输入值必须为Integer.那么怎么在picturebox里面画出三件函数图像呢?...我的程序语句:(求大神找错我用的是drawline,别的都不能录入数据) Private Sub PictureBox1_LoadCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles PictureBox1.LoadCompleted fx = NUMBER1 * Sin(0.5 * 1.3) + 2 If Button2STA = True Then g = PictureBox1.CreateGraphics ' 以左下角为坐标(0,0)画线 Me.CreateGraphics.DrawLine(Pens.Blue, Int(fx), Int(10), Int(fx), Int(10)) End If End Sub初学者,希望详解,Tencent@Q:1。5。0。0。2。9。4。8。3。0。. 展开
 我来答
syx54
2016-12-28 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2714万
展开全部

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

显示的效果图:

追问
谢谢大神~是我弄混了~等下我给你加点悬赏然后采纳~谢谢你指导~如果行的话~能留个QQ喵~~(抱大腿)
sbj518
2016-12-28 · TA获得超过4.4万个赞
知道大有可为答主
回答量:1.1万
采纳率:81%
帮助的人:5242万
展开全部
这种方法是错的
追问
那么应该怎么画呢。Me.CreateGraphics.命令项里没有对应函数的啊。。
追答
是通过画点 连线 画出三角函数的图像来的
没有直接的函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式