用vb繪製正弦動畫曲線
vb提供了繪圖的基本方法,如pset、line、circle,能夠繪出點、直線、圓等基本圖形,但沒有提供繪曲線的方法。其實,我們可以靈活運用基本繪圖方法,來繪出所需要的曲線,甚至達到動畫的效果。
一、vb座標系介紹
vb裡有三種座標系,螢幕座標系、窗體座標系和窗體內的物件座標系,這三種座標系都是以其左上角為座標原點,與平常使用的幾何座標系不一致,我們繪圖時感到不習慣。vb允許程式設計人員自定義座標系,根據需要定義座標原點的位置。
自定義座標系的方法是scale,語法格式:
scale (x1,y1) - (x2,y2)
其中: x1是繪圖區域左上角的橫座標;
y1是繪圖區域左上角的縱座標;
x2是繪圖區域右下角的橫座標;
y2是繪圖區域右下角的縱座標。
例如:scale (-320,240) - (320,-240) 定義了繪圖區域大小為640×480,座標原點(0,0)在繪圖區域中心。
二、繪製正弦動畫曲線
啟動vb6,新建標準exe工程,新增乙個picturebox控制項,兩個commandbutton控制項到窗體,其caption屬性值分別設為正弦曲線和結束。如圖1:
圖1 通用宣告模組:
const pi = 3.14159
dim a
private sub command1_click() 注釋:畫正弦曲線
注釋:首先清除picture1內的圖形
picture1.cls
注釋:scale方法設定使用者座標系,座標原點在picture1中心
picture1.scalemode = 0
picture1.scalemode = 3
picture1.scale (-10, 10)- (10, -10)
注釋:設定繪線寬度
picture1.drawwidth = 1
注釋:繪座標系的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"
注釋:繪座標系的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"
注釋:指定位置顯示原點o
picture1.currentx = 0.5
picture1.currenty = -0.5
picture1.print "o"
注釋:重設繪線寬度
picture1.drawwidth = 2
注釋:用for迴圈繪點,使其按正弦規律變化。步長值很小,使其形成動畫效果
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
Lua繪製正弦曲線
夜半突來興致,看了下wxlua的圖形處理部分,感覺挺好玩,就試著寫了一段畫正弦曲線的 為了實現動畫效果特意新增了延遲效果,感覺延遲的效率好低,畫的時候視窗拖都拖不動。效果圖 部分 點和線實現正弦曲線 wxlua支援 aurhor chuwp date 2010.10.30 require wx lo...
matplotlib繪製正弦和余弦曲線
一 介紹 官網 二 import numpy asnp import matplotlib pyplot asplt line x np linspace np.pi np.pi 256 endpoint true 定義余弦函式正弦函式 c,s np.cos x np sin x plt figur...
控制台繪製正弦 余弦曲線
當然了,這裡我們不用陣列 否則就沒技術含量了。正弦曲線的特點是左右對稱,且左邊部分的縱座標是從1一直降到 1的,相應的右邊的縱座標是從 1一直遞增到1。難點在於顯示器只能按行輸出,也就是說輸出了一行後不能再掉頭輸出上一行的資訊。我們自定義乙個縮放係數a為10,用acos 1 10可以算得等於31,因...