VB正弦曲线怎么画?

请告诉我正确的。... 请告诉我正确的。 展开
 我来答
彩虹饮料
推荐于2017-10-08 · TA获得超过841个赞
知道小有建树答主
回答量:212
采纳率:50%
帮助的人:152万
展开全部

  在写代码之前,我们需要知道标准的正弦函数(以下称为sin函数),最大值是1,最小值是-1,几个关键点是0,±n*π/2,±n*π,而且它是周期性的,我们不可能让VB真的无限画下去,只需要在可见的窗体上绘制就行了。说sin的概念是为了确定坐标系,因为sin最大值也只有1,所以我们要放大它的值,以便显示最好的效果,如果不确定坐标系,可能画出来一条近似直线的波浪线。

  首先,在Form_Load的事件里面写好坐标系,如果自己逻辑好这步确实可以不做,但是不做的结果就是需要写代码的人自己考虑偏移量,所以定好坐标系之后,写的函数就简单直观许多了。自定义坐标系的方法是:scale(x1,y1)-(x2,y2).

  第二,开始写sin的函数,可以写在模块里面,也可以直接在窗体代码区写,写模块是为了以后调试方便,如果只是为了显示标准的sin函数,在窗体写也可以。定义几个双精度付典型的变量y,x  ,函数关系是y=sin(x)

  第三,绘制一个点,当然是sin上的点。第二步已经获得了x和y,正好是横坐标和纵坐标,我们为了让曲线平滑一些,可以Line方法,因为真的画点十分吃内存,比较卡,也就是我们画线不画点(很短很短的先近似于点),方法是Line (x1,y1)-(x2,y2)

  最后,套用循环语句输出,其实说这是最后也不太合适,这部其实是套在第三步和第二步之外的,也就是确定x轴显示区间和曲线平滑度的作用。

'代码
Private Sub Form_Load()
Me.AutoRedraw = True            '开启自动重绘
Form1.Height = 2400             '自定义窗体高度
Form1.Width = 8000              '自定义窗体宽度
Scale (-16, 1.2)-(16, -1.2)     '自定义坐标系
Line (-16, 0)-(16, 0)           '绘制X轴
Line (0, 1.2)-(0, -1.2)         '绘制Y轴
End Sub

Private Sub Command1_Click()
Line (-16, Sin(-16))-(-16, Sin(-16))  '画起始点
Dim x As Double                 '定义x
Dim y As Double                 '定义y
For i = -16 To 16 Step 0.1      'step越小,曲线越平滑
    x = i
    y = Sin(x)
    Line -(x, y)                '连接上一个点
Next i
End Sub

 

忘了看什么
2010-03-18 · TA获得超过988个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:315万
展开全部
你看看这个回答吧,鉴于版权问题,人家的代码我就不贴了

http://zhidao.baidu.com/question/53925577.html
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式