js實現小球拋物線軌跡運動的兩種方式

2021-07-29 02:14:42 字數 663 閱讀 2297

js實現小球拋物軌跡運動的大致思路:

1、用setinterval()方法,進行間隔性重新整理,更新小球位置,以實現動態效果

2、繪製小球和運動區域,運動區域可通過flex布局實現垂直居中

3、用物理公式s(y)=1/2*g*t*t,s(x)=v(x)t來計算路徑

現確定v(x)=4m/s,重新整理的時間間隔設定為0.1s。原本px和公尺之間的轉換,不同尺寸轉換不同,本例採用17寸顯示器,大約1px=0.4mm。但瀏覽器太小,因此只能模擬拋物線軌跡,本例將px和公尺之間縮成100倍。

第一種:通過border-radius繪製小球。

思路:用border-radius: 50%繪製小球,給小球設定relative,每次計算小球當前位置,賦給top和left。計算運動軌跡時,可用變數自增計算setinterval呼叫次數,每次是0.1s,這樣可計算總時間。**如下:

此時水平速度為:4演示

第二種:h5中的canvas繪製小球和運動區域。

思路:採用canvas繪製小球,由於小球不能通過top和left移動,因此它需要每次呼叫都要用clearrect清空畫布,然後繪製計算後位置的小球。**如下:

兩個方式都能實現,計算的方式都是一樣的,只是方式不同。第乙個是偏css,採用了border-radius和動態修改dom,第二個採用canvas繪製圖形,繪製過程要好好研究。

canvas拋物線運動軌跡

本來是想做乙個貝塞爾曲線運動軌跡的 公式太複雜了,懶得算,公式在最後 我先畫了乙個拋物線,我確定了兩個點,起點 0,0 終點 200,200 用座標系可算出方程 y 0.005x 2 現在找出終點的切線與x軸的交點,那個就是貝塞爾曲線的第二個引數,控制點 求出是 100,0 現在重新繪製乙個動態曲線...

canvas 簡單的小球拋物線實現和簡單的應用

canvas可以實現一些有趣的繪畫,可以實現規則或者不規則的圖形。我們這裡的小球就是乙個通過canvas的方法arc畫出的圓。我們可以使用storke和fil來實現圓的顏色和邊框,如果你還想讓圓在漂亮一些,使用createradialgradient可以實現球顏色的漸變。var grad conte...

向量表示 運動拋物線 對向量空間的理解

線性代數是研究向量和矩陣的一門數學,矩陣也是向量構成的,所以線性代數主要是研究向量,向量空間以及向量線性組合性質的一門科學。我們很早就接觸到了向量這個東西,向量也稱為向量,是一種有方向,有數值大小的一種數值表示。我們知道向量有幾種基本的運算,向量加法,就是向量裡的每乙個分量對應相加,向量與乙個標量相...