求 VB6 画二次函数图象的方法

代码+原理。。。。。。。越详细越好。。。小弟拜求... 代码+原理。。。。。。。越详细越好。。。小弟拜求 展开
 我来答
依半青k7
2007-02-08 · TA获得超过123个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:175万
展开全部
'在Form1窗体中添加一个图片框和两个命令按钮
'贴入下面的代码,即可:
'--------------------------------------

Const Pi = 3.1415926535 '定义圆周率
Dim a, wor

'定义用于在Picture1上的一个位置打印字符函数
Private Function PrintWord(X, Y, Word As String)
With Picture1
.CurrentX = X
.CurrentY = Y
.ForeColor = RGB(0, 0, 255)
End With
Picture1.Print Word
End Function

'定义画点函数
Private Function DrawDot(Px, Py, Color)
Picture1.PSet (Px, Py), Color
End Function

Sub XY() '建立直角坐标系
Picture1.DrawWidth = 1 '设置线条宽度
Picture1.Cls
'设定用户坐标系,坐标原点在Picture1中心
Picture1.Scale (-10, 10)-(10, -10)
Picture1.Line (-10, 0)-(10, 0), RGB(0, 0, 255)
Picture1.Line -(9.5, 0.5), RGB(0, 0, 255)
Picture1.Line (10, 0)-(9.5, -0.5), RGB(0, 0, 255)
Picture1.ForeColor = RGB(0, 0, 255)
Picture1.Print "X"
'画 X 轴
Picture1.Line (0, -10)-(0, 10), RGB(0, 0, 255)
Picture1.Line -(0.5, 9.5), RGB(0, 0, 255)
Picture1.Line (0, 10)-(-0.5, 9.5), RGB(0, 0, 255)
Picture1.Print "Y"
'画 Y 轴
For lin = -9 To 9
Picture1.Line (lin, 0)-(lin, 0.25)
wor = PrintWord(lin - 0.5, -0.5, Str(lin))
Picture1.Line (0, lin)-(-0.25, lin)
If lin <> 0 Then
wor = PrintWord(-0.9, lin, Str(lin))
End If
Next lin
Picture1.DrawWidth = 2
End Sub

Private Sub Command1_Click()
For a = -3 To 3 Step Pi / 6000
Dot = DrawDot(a, a ^ 2, RGB(0, 0, 0))
Next a
wor = PrintWord(4, 9, "二次曲线 y=x^2")
End Sub

Private Sub Command2_Click() '清空屏幕
XY
End Sub

Private Sub Form_Load()
Me.Caption = "数学函数作图?quot;"
Me.Show
Me.AutoRedraw = True
Command1.Caption = "二次曲线"
Command2.Caption = "清空"
XY
End Sub

Private Sub Form_Resize()
Picture1.Width = Me.Width * 0.94
Picture1.Height = Me.Height - (Command1.Height * 3 + 100)

Command1.Top = Me.Height - (Command1.Height * 2 + 100)
Command2.Top = Me.Height - (Command1.Height * 2 + 100)
Command1.Left = Me.Width * 0.01
Command2.Left = Me.Width * 0.21
XY
End Sub
sg22220037
2007-02-06 · 超过51用户采纳过TA的回答
知道答主
回答量:272
采纳率:0%
帮助的人:0
展开全部
不需代码,其实不就是画点和线吗??给x一个值,求出y不就知道(x,y)这个点了吗,只要每个x的间隔取的大小合适,每个点都和前一个点画直线.
微积分的积分学过吧,就是这个原理.但是有一点,x的取值要在-b/2a的左右两侧(y=ax^2+bx+c),dx不要太小也不要太大,你可是以自己试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式