久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

當前位置首頁 > 初中物理 > 輔導探討

折射和反射規(guī)律的flash動畫,你值得擁有!!

更新時間:2024-04-14 文章作者:佚名 信息來源:網(wǎng)絡整理 閱讀次數(shù):

這是一個反映光的折射和反射規(guī)律的Flash動畫。 其效果主要是通過編程來實現(xiàn)的。 教程詳細介紹了它。 希望對大家有幫助!8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

可以看到,整個flash動畫大致由三部分組成:8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

1. 基本組成:反射光、折射光、法線(垂直于界面的光)、光源、界面8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

2. 多角度展示8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

3.動畫的實現(xiàn)8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

在這三個部分中,本教程將重點介紹第三部分,并詳細講解整個編程思想。 好了,廢話不多說,我們現(xiàn)在開始吧。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

1、基礎部件的制作8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這一步主要是利用flash繪圖工具完成的。 繪制反射光線、折射光線、法線、界面的方法都是一樣的,所以只舉一個例子就夠了,比如繪制界面:8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

1. 在工具區(qū)域中選擇直線工具。 線條粗細為默認值。 在主場景中按住Shifi鍵,向下畫一條適當長度的線段。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

2、選中線段全反射的條件,右鍵-轉換為元件-影片剪輯,如圖所示設置其參數(shù),將其轉換為影片剪輯。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

3、雙擊界面組件進入編輯狀態(tài),選擇工具欄中的文本工具,在界面組件適當位置添加文字描述,如圖所示。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

其他繪制方法相同,區(qū)別在于:8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

1、法線按照物理畫法用虛線畫出。 這可以在場景底部的屬性欄中設置。 選擇描邊樣式,如圖所示。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

2. 將折射光線和反射光線的注冊點選擇在左中位置怎么樣? 所有組件都畫好了嗎? 現(xiàn)在讓我們命名每個組件。 這個命名與轉換成組件時的命名不同。 這個命名將在腳本中使用。將每個組件拖入場景中,分別選擇組件,然后選擇場景下方的屬性 - 命名剪輯名稱。 按照漢語拼音習慣命名。 例如,接口名為fjm,如圖所示。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

其他的命名相同,反射光命名為fs,折射光命名為zs,法線命名為fx。 至于發(fā)光的光源,我是用工具欄上的矩形工具畫出來的。 太丑了。 你畫得比我好。 同樣,繪制完成后,選中它,右鍵-轉換為組件-影片剪輯,命名為jg(激光)。你可能會問,入射光呢? 別擔心,這個燈是用腳本實現(xiàn)的。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

2、顯示文字的制作8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這一步涉及到文本工具中動態(tài)文本和靜態(tài)文本的使用8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

1. 選擇文本工具。 此時的文本工具默認為靜態(tài)文本。 單擊場景的右上角。 單擊位置將出現(xiàn)一個文本框。 在其中輸入“入射角”一詞。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

2、同樣選擇文本工具,選擇場景下方的屬性對話框,點擊文本類型下拉菜單,會出現(xiàn)三個選項,靜態(tài)文本、動態(tài)文本、輸入文本。 這里選擇動態(tài)文本來動態(tài)顯示入射角的值。 上一步文字“入射角”后,按住左鍵拉出一個文本框,選擇該文本框,選擇下面的屬性,將變量命名為rsj(入射角),如圖數(shù)字8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

最后,使用靜態(tài)文本在動態(tài)文本后輸入單位“度”。 基本方法是這樣的。 之后,依次完成折射角(zsj)、反射角(fsj)、臨界角(ljj)的顯示文字。 效果如圖。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

3.動畫的實現(xiàn)8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

1 理論分析8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這部分主要是腳本。 讓我們首先熟悉一些折射定律。 高中物理告訴我們,當一束光從光密介質到光稀疏介質時(比如從水或玻璃到空氣中),可能會發(fā)生全反射(此時只有反射光),條件是光在光密介質中的入射角大于臨界角(如果不是很清楚,可以看看物理課本,我這里基本上只是給出結論),臨界計算公式sinC= 1/n (n為折射率),即C=(1/n),光線與空氣中法線的夾角i和光線與介質中法線的夾角r滿足折射定律公式n=sin(i)/sin(r),所以有i=(n*sin(r)。至于其他反射光,就簡單了,入射角等于反射角。根據(jù)能量守恒定律,入射光的總能量=折射光的能量+反射光的能量,反射光的能量將通過其透明度(alpha值)來反射。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

2. 代碼分析8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

完整代碼如下8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fjm._y=200;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fx._x=250;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs._x=250;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs._y=200;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs._x=250;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs._y=200;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

n=1.5;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

=(){8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

jg.=(){8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這個。(真,0,200,500,500);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

全反射的條件8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

};8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

jg.=(){8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這。();8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

};8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這個。(“MC”,100);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

MC.(2,,100);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

MC.(250,200);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

x=jg._x;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

y=jg._y;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

mc.(x,y);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

A=Math.atan2(y-200,x-250);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

jg.=A*180/Math.PI+180;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

C=Math.asin(1/n);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

ljj=Math.round(C*180*10/Math.PI)/10;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

if(xr=A-Math.PI/2;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

if(ri=Math.asin(n*Math.sin(r));8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=-90+i*180/Math.PI;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=100-i*60;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}別的{8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=0;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}(x>250){8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

r=Math.PI/2-A;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

如果(ri=&nbs8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

p;Math.asin(n*Math.sin(r));8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=-90-i*180/Math.PI;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=100-i*60;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}別的{8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=0;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs.=180-A*180/Math.PI;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

rsj=Math.round(r*180*10/Math.PI)/10;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

if(rzsj=Math.round(i*180*10/Math.PI)/10;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}別的{8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zsj="全反射";8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fsj=Math.round(r*180*10/Math.PI)/10;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs.=i*60;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

};8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

好了,我們開始分析代碼是怎么寫的。 我們先看一張圖片。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

可以看到,我利用界面和法線將場景劃分為4個區(qū)域,相當于數(shù)學中的第一到第四象限。 我首先在代碼中進行了如下初始化。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fjm._y=200;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

全反射的條件8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fx._x=250;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

//從上面可以看出,交點相當于坐標原點(250, 200)8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

//折射光線和反射光線的x、y坐標分別為250和200(即坐標原點)8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs._x=250;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs._y=200;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs._x=250;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs._y=200;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

從上面的初始化我們可以知道,折射光線和反射光線的配準點一定在左邊(參見組件制作)。 同時從圖中可以看出,入射光線只能在第3、第4象限內,也就是說光源只能在第3、第4象限內移動,所以光源(激光jg)組件只能拖到平面下方。 最好不要離開左右兩側的場景。 代碼是8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這個。(真,0,200,500,500);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

接下來,我們需要解決入射角和折射角之間的關系。 讓我們看另一張圖片。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

在這張截圖中,入射光線在第三象限全反射的條件,對應的折射光線在第一象限,閃光燈的旋轉是通過其屬性來實現(xiàn)的。 該屬性表示指定影片剪輯相對于其原始方向的旋轉程度(以度為單位)。 。 0到180之間的值表示順時針旋轉; 0到-180之間的值代表逆時針旋轉。所以首先我們需要獲取入射光的旋轉角度A,但是上面的組件中沒有入射光。 它是怎么發(fā)生的? 其實就是用下面的代碼繪制的8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

這個。(“MC”,100);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

MC.(2,,100);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

MC.(250,200);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

x=jg._x;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

y=jg._y;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

mc.(x,y);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

那么A可以利用反三角函數(shù)得到代碼為8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

A=Math.atan2(y-200,x-250);8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

從圖中可以看出,其真實入射角為r=A-Math.PI/2; 其折射角i=Math.asin(1.5*Math.sin(r))。 從圖中可以看出折射光的旋轉角度應該是-90+i*180/Math.PI,對應的代碼為8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

if(xr=A-Math.PI/2;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

if(ri=Math.asin(n*Math.sin(r));8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=-90+i*180/Math.PI;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=100-i*60;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}別的{8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=0;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

你可能會問,zs。 = 100-i*60; 這句話的算法是什么? 根據(jù)物理定律,折射角越大,其能量越小。 當折射為90度時,就會發(fā)生全反射,對應的折射光的能量為零,在動畫中體現(xiàn)為其值越來越小。 根據(jù)實際計算,是zs。 = 100-i*63.7,不過考慮到實際效果,算了,就這樣吧。 相反,反射光的能量越來越大。 當發(fā)生全反射時,能量最大,等于入射光的強度。 使用代碼 fs。 = i*60 來實現(xiàn)它。 這個怎么樣? 清楚嗎?8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

其余的是當入射光在第四象限時。 另請看類似的圖片。8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

對應代碼如下8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}(x>250){8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

r=Math.PI/2-A;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

if(ri=Math.asin(n*Math.sin(r));8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=-90-i*180/Math.PI;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=100-i*60;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

}別的{8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

zs.=0;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

最后,我們解決了最簡單的反射光旋轉問題。 其實從倒數(shù)第三張圖就可以很容易得到代碼:8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

fs.=180-A*180/Math.PI;8Qi物理好資源網(wǎng)(原物理ok網(wǎng))

發(fā)表評論

統(tǒng)計代碼放這里
主站蜘蛛池模板: 波密县| 平和县| 五常市| 娄烦县| 临沧市| 天台县| 昌宁县| 达孜县| 五家渠市| 乌兰浩特市| 宁陵县| 武夷山市| 龙井市| 上杭县| 池州市| 普安县| 南昌市| 新乐市| 灵宝市| 凌海市| 宁乡县| 清流县| 图木舒克市| 河源市| 崇礼县| 保定市| 庆云县| 洪江市| 瑞安市| 拜泉县| 双柏县| 宣化县| 尖扎县| 堆龙德庆县| 铅山县| 通州区| 桦川县| 神农架林区| 同心县| 济南市| 获嘉县|