用VB繪制正弦動(dòng)畫曲線
發(fā)表時(shí)間:2023-07-29 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]VB提供了繪圖的基本方法,如Pset、Line、Circle,能夠繪出點(diǎn)、直線、圓等基本圖形,但沒有提供繪曲線的方法。其實(shí),我們可以靈活運(yùn)用基本繪圖方法,來繪出所需要的曲線,甚至達(dá)到動(dòng)畫的效果。 ...
VB提供了繪圖的基本方法,如Pset、Line、Circle,能夠繪出點(diǎn)、直線、圓等基本圖形,但沒有提供繪曲線的方法。其實(shí),我們可以靈活運(yùn)用基本繪圖方法,來繪出所需要的曲線,甚至達(dá)到動(dòng)畫的效果。
一、VB坐標(biāo)系介紹
VB里有三種坐標(biāo)系,屏幕坐標(biāo)系、窗體坐標(biāo)系和窗體內(nèi)的對(duì)象坐標(biāo)系,這三種坐標(biāo)系都是以其左上角為坐標(biāo)原點(diǎn),與平常使用的幾何坐標(biāo)系不一致,我們繪圖時(shí)感到不習(xí)慣。VB允許編程人員自定義坐標(biāo)系,根據(jù)需要定義坐標(biāo)原點(diǎn)的位置。
自定義坐標(biāo)系的方法是Scale,語法格式:
Scale (X1,Y1) - (X2,Y2)
其中: X1是繪圖區(qū)域左上角的橫坐標(biāo);
Y1是繪圖區(qū)域左上角的縱坐標(biāo);
X2是繪圖區(qū)域右下角的橫坐標(biāo);
Y2是繪圖區(qū)域右下角的縱坐標(biāo)。
例如:Scale (-320,240) - (320,-240) 定義了繪圖區(qū)域大小為640×480,坐標(biāo)原點(diǎn)(0,0)在繪圖區(qū)域中心。
二、繪制正弦動(dòng)畫曲線
啟動(dòng)VB6,新建標(biāo)準(zhǔn)EXE工程,添加一個(gè)PictureBox控件,兩個(gè)CommandButton控件到窗體,其Caption屬性值分別設(shè)為正弦曲線和結(jié)束。
雙擊Command1,打開代碼編輯器窗口,相應(yīng)事件的代碼如下:
通用聲明模塊:
Const pi = 3.14159
Dim a
Private Sub Command1_Click() '畫正弦曲線
'首先清除picture1內(nèi)的圖形
Picture1.Cls
'Scale方法設(shè)定用戶坐標(biāo)系,坐標(biāo)原點(diǎn)在Picture1中心
Picture1.ScaleMode = 0
Picture1.ScaleMode = 3
Picture1.Scale (-10, 10)- (10, -10)
'設(shè)置繪線寬度
Picture1.DrawWidth = 1
'繪坐標(biāo)系的X軸及箭頭線
Picture1.Line (-10, 0)-(10, 0), vbBlue
Picture1.Line (9, 0.5)-(10, 0), vbBlue
Picture1.Line -(9, -0.5), vbBlue
Picture1.ForeColor = vbBlue
Picture1.Print "X"
'繪坐標(biāo)系的Y軸及箭頭線
Picture1.Line (0, 10)-(0, -10), vbBlue
Picture1.Line (0.5, 9)-(0, 10), vbBlue
Picture1.Line -(-0.5, 9), vbBlue
Picture1.Print "Y"
'指定位置顯示原點(diǎn)O
Picture1.CurrentX = 0.5
Picture1.CurrentY = -0.5
Picture1.Print "O"
'重設(shè)繪線寬度
Picture1.DrawWidth = 2
'用For循環(huán)繪點(diǎn),使其按正弦規(guī)律變化。步長(zhǎng)值很小,使其形成動(dòng)畫效果
For a = -2 * pi To 2 * pi Step pi / 6000
Picture1.PSet (a, Sin(a) * 5), vbRed
Next
'指定位置顯示描述文字
Picture1.CurrentX = pi / 2
Picture1.CurrentY = -7
Picture1.ForeColor = vbBlack
Picture1.Print "正弦曲線示意"
End Sub
運(yùn)行后看效果。
以上程序代碼在VB 6.0,Windows 98中調(diào)試通過。