Flash應用數學 直線方程

2021-09-05 20:28:06 字數 1501 閱讀 3253

一,數學

直線方程: y=f(x); ax+by+c=0;

斜截式:y=kx+b;

點斜公式:y-y1=k(x-x1);

斜率公式: k=y-y1/(x-x1);

截距式:x/a+y/b=1; 

直線的引數方程:

它的推算: 點斜公式:y-y0=tg(a)(x-x0);轉換為引數方程。

第一步: (y-y0)/sin(a)=(x-x0)/cos(a);

第二步:設定引數兩邊t

(y-y0)/sin(a)=t;

(x-x0)/cos(a)=t;

第三步:轉換

x=x0+t*cos(a);

y=y0+t*sin(a);

二:利用直線方程來創作

第二步:複製n個球在我們的場景上,並初始化小球的座標

假設我們設定為20

for (var i:int=0; i < 20; i++)

list為陣列,使用陣列來管理我們建立的ball 例項。指定初始化位置 x和y

然後分布小球成一條直線:這裡是從第二小球開始分布,也就是說陣列的list這個例項來分布它的位置,他的位置以前乙個例項為基礎,每乙個小球和是前乙個小球都相差 x軸為20,y軸為15

for (var j:int=0; j <=18; j++)

第三步:產生動畫

為了使複製的物體能夠產生效果,我們加人了rotation這個屬性,讓其產生角速度變化

這樣乙個效果就出來了。

package private function init():void for (var j:int=0; j <=18; j++) } private function run(e:event):void } } }

三:改造演算法

把上面的一些瑣碎的**再縮成為乙個引數方程

for (var i:int=0; i < 20; i++)

這樣的話同樣可以得到上面的結果,反而**要求簡化了很多。

當i=0的時候,第乙個小球list的座標為(50,60)

當i=1的時候,第二個小球list的座標就應該引數第乙個進行斜率運算。傾斜30度,執行i*20的線段。這樣就到達了第二點的位置。

當i=2的時候.....

..........z直到最後。

這個很類似乙個速度的分量公式

vx=speed*cos(a);

vy=speed*sin(a);

這樣就是我們乙個物理經常要用到的公式。速度分量的應用。

Flash應用數學 透視

在keith peters 大師的作品當中,提及到透視的原理,他的文章寫的很好,在國內裡很難找到像他一樣好的書。因為他的書能夠將一些應用的數學和原理應用到作品當中,同時說白一點,他提醒了我們一點,不要為做效果和做效果。效果還是 於我們最初所學的知識,這不可以忘本。透視乙個原理 在光學裡面,透鏡原理成...

高中數學 直線方程一些公式

解析幾何中有乙個定理 直線l1 ax by c1 0與直線l2 ax by c2 0的距離為 d c1 c2 a 2 b 2 設直線l的方程 3x 4y a 0 則d a 1 3 2 4 2 a 1 5 2 a 1 10 a1 9 a2 11 所以直線l的方程為 3x 4y 9 0或3x 4y 11...

基於opencv求直線方程

在影象處理中,得到目標邊緣的點,希望擬合精確的直線方程,一下 給出一些二維點,即可輸出直線方程,精確到亞畫素級 求直線方程 struct ptonline bool cmpacs ptonline a,ptonline b void removeptx vector points,double sm...