『壹』 如圖關於偏置式的曲柄滑塊機構的動態模擬圖,如何編,關鍵是代碼程序
實際上,程序代碼比較簡單。
最復雜的應該是幾何問題。
我們設,輪是主動地,是勻速運動的,初始位置為水平向右,方向為正方向。
運動速率為Alhpa弧度美秒。
時刻t,L1與水平線的夾角為:t*Alhpa
以輪心為原點,建立直角坐標系。
那麼,L1和L2鉸接點的坐標就是(L1*cos(t*alhpa),L1*sin(t*alhpa)),表示為(X1,Y1)
剩下的問題,就是計算滑塊上的鉸接點的坐標了。
設這點的坐標是(x,e)
那麼有方程:
[x-L1*cos(t*alhpa)]*[x-L1*cos(t*alhpa)]+[L1*sin(t*alhpa)-e]*[L1*sin(t*alhpa)-e]=L2*L2
這個方程裡面只有x是未知數,是一個典型的一元二次方程,可以用公式法求解。舍棄小於L1與L2交接點橫坐標的一個解,其餘一個就是我們的目標。
至此,任意時刻的位置,我們都可以確定了。
下面就是怎麼用vb來畫圖了。
這里運動的有三件:L1、L2和滑塊。
不運動的有圓、圓軸、基準線、滑塊的移動平面。
不運動的,我們用窗體的方法line、Circle來實現(注意:滑塊的移動平面不要畫那麼高,畫到滑塊下面)。
移動的用兩個line控制項和一個shape控制項來表示。
另外就是輔助的控制項了,例如設置、開始、數據輸出等等這些就不說了,核心的輔助控制項就是計時器。
設置好參數之後,在開始的地方
Me.Scale (-L1 - L1, L1 + L1 + e)-(L1 + L1 + L2, -L1 - L1)
line1.x2=0
line1.y2=0
shape.top=e+shape1.height/2
畫上不運動的部分。
在計時器的事件里
1、計算當前角度
2、計算(x1,y1)
3、計算x
上面三個計算代碼你自己寫。
line1.x1=x1
line1.y1=y1
line2.x1=x1
line2.y1=y1
line2.x2=x
line2.y2=e
shape1.left=x-shape1.width/2
如果還有問題,我們以後再討論。