自己动手做一个数学函数作图器覆盖
自己动手做一个数学函数作图器
学习中我们经常会遇到一些要求作图的题目,数学就是一个很好的例子,君不见,哪一个学生不是整天拿着一根尺子几只笔在画啊画的?要是能有一个作图的软件该有多好啊!虽然拿来主义是我们一向的作风,可是只顾拿来而从不动一下脑筋又有点儿说不过去,所以,今天的课题就是——用VB做一个数学函数作图器!
我们先来了解一下VB的坐标系统,VB的坐标系统可分为“窗体的坐标系统”和“对象的坐标系统”两种,但是这两种坐标系统均是以屏幕的左上角为原点(0,0),这和我们平时所选取的以中心为原点显然很不相符,而且使用起来也很不方便。所以,我们要用VB提供的Scale来自定义坐标系,格式如: ale(-10,10)-(10,-10),意思就是把整个Picture1控件定义为一个20×20的区域用于绘图,以Picture1的中心为原点(0,0)。
有了上面的基础,我们就可以用Pset(画点)、Line(画线)等,轻轻松松地来画函数的图像了。
启动VB,建立一标准EXE工程,再在窗口上如图所示地布置5个Command Button控件和1个PictureBox控件,输入以下的代码就OK了。
Const Pi = 3. \'\'定义圆周率
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
int Word
End Function
\'\'定义画点函数
Private Function DrawDot(Px, Py, Color)
et (Px, Py), Color
End Function
Sub XY() \'\'建立直角坐标系
awWidth = 1 \'\'设置线条宽度
s
\'\'设定用户坐标系,坐标原点在Picture1中心
ale (-10, 10)-(10, -10)
ne (-10, 0)-(10, 0), RGB(0, 0, 255)
ne -(9.5, 0.5), RGB(0, 0, 255)
ne (10, 0)-(9.5, -0.5), RGB(0, 0, 255)
reColor = RGB(0, 0, 255)
int \"X\"
\'\'画 X 轴
ne (0, -10)-(0, 10), RGB(0, 0, 255)
ne -(0.5, 9.5), RGB(0, 0, 255)
ne (0, 10)-(-0.5, 9.5), RGB(0, 0, 255)
int \"Y\"
\'\'画 Y 轴
For lin = -9 To 9
ne (lin, 0)-(lin, 0.25)
wor = PrintWord(lin - 0.5, -0.5, Str(lin))
ne (0, lin)-(-0.25, lin)
If lin 0 Then
wor = PrintWord(-0.9, lin, Str(lin))
End If
Next lin
awWidth = 2
nd Sub
Private Sub Command1_Click() \'\'画正弦曲线
\'\'用For循环绘点,使其按正弦规律变化。
\'\'步长小,使曲线比较平滑,还能形成动画效果
For a = -2 * Pi To 2 * Pi Step Pi / 6000
Dot = DrawDot(a, Sin(a) * 5, RGB(0, 255, 0))
Next a
wor = PrintWord(3, -6, \"正弦曲线 y=Sinx\")
End Sub
Private Sub Command2_Click()
For a = -2 * Pi To 2 * Pi Step Pi / 6000
Dot = DrawDot(a, Cos(a) * 5, RGB(255, 0, 0))
Next a
wor = PrintWord(4, 6, \"余弦曲线 y=Cosx\")
End Sub
Private Sub Command3_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 Command4_Click()
For a = -8 To 8 Step Pi / 6000
If a = 0 Then GoTo err0 \'\'除数不能为0
Dot = DrawDot(a, 1 / a, RGB(255, 0, 255))
err0:
Next a
wor = PrintWord(6, 2, \"双曲线 y=1/x\")
End Sub
范永胜立 Private Sub Command5_Click() \'\'清空屏幕
XY
End Sub
Private Sub Form_Load()
ption = \"数学函数作图?quot;
ow
toRedraw = True
ckColor = vbWhite
ption = \"正弦曲线\"
ption = \"余弦曲线\"
ption = \"二次曲线\"
ption = \"双曲线\"
ption = \"清空\"
XY
End Sub
Private Sub Form_Resize()
dth = dth * 0.94
End Sub
怎么样,是不是很容易就把函数图像画出来了?比起“取点、描点、画图像”的步骤简单多了,而且还是动画效果的呢!
程序在Windows98/XP+VB6.0下编译通过。
天津白癜风诊疗医院郑州治白癜风去哪里
干眼症如何治疗
- 下一页:自己动手修改等级计划
- 上一页:自己动手做一个最小的牛
- 06月21日都市大王猫教你五招让猫咪更喜欢你位置
- 06月21日都市大白熊犬便便有血丝请专家帮助解决治疗位置
- 06月21日都市大白熊犬价格大白熊犬饲养上需要注意地方位置
- 06月21日都市大户人家养一屋二哈就算了还凑齐了四种颜色位置
- 06月21日都市大家帮助怎样给雪纳瑞补钙位置
- 06月21日都市大妈遛爱犬因喷水池漏电人狗一起触电身亡位置
- 06月21日都市大狗洗澡多少钱费用大概在元一次位置
- 06月20日都市合理化的喂养博美犬大家要怎样做位置
- 06月20日都市合格主人如何巧手制作可卡犬的美味食物位置
- 06月20日都市史氏金翅雀鲷的品种简介外形很有特色位置
- 06月20日都市吃狗粮对沙皮犬的两大好处位置
- 06月20日都市吃有吃相如何柯基犬文明进食位置