PHN I. M U 1
1. Lý do chn tài 1
2. Mu 2
ng nghiên cu 2
4. Nhim v nghiên cu 2
u 2
6. Cu trúc khoá lun 2
7. K hoch thc hin 2
PHN II. NI DUNG 3
u phn mm Adobe Flash CS5 3
1. Khng phn mm 3
2. Giao din 4
3. ActionScript trong Flash 5
4. To chuyng bng cách vit mã lnh 7
ng dng Adobe Flash CS5 thit k mt s thí nghim mô
pht lý 12 11
1. Thí nghim v con lc lò xo 11
2. Thí nghim v con l 15
3. Con l
(
) 20
4. Con lc vt lý 27
ng tt dn 29
6. Thí nghim minh ha mi liên h giu hòa và chuyng
u 32
7. Thí nghim minh ha sóng dc 34
8. Thí nghim minh ha sóng ngang 37
9. Thí nghim so sánh sóng dc và sóng ngang 40
10. Thí nghim mô phn xoay chiu mt pha, ba pha 43
11. Thí nghim v 48
PHN III: KT LUN VÀ KIN NGH 51
1. KT LUN 52
2. KIN NGH 53
TÀI LIU THAM KHO 54
1
1. Lý
Ngày nay công ngh thông t thành mn tr giúp
c lc cho giáo viên, hc sinh trong quá trình dy và hc
mô phng li các thí nghim vt lý, hing vt lý nhm giúp hc sinh hình
c mt cách d dàng nht v các hing vt lý t gii
quyc nhp phi trong vic truyi kin thc,
mà nguyên nhân là hc sinh không th c hing.
Hin nay có rt nhiu phn mm có th n ln các
phn mm mô phng hi u xut phát t c ngoài nên nhiu phn
không sát va chúng ta và không phi hing vt lý nào
th hi ci dy l
khc phc nh tôi u phn mm Adobe Flash, là mt
phn mm rt phù hp cho vic mô phng các hing vt lý.
Adobe Flash là phn mm v hình cho phép to hình ng, có các hiu ng
chuyng và bii, l to ra các hong mô ph
mt cách ng, hp dn. Flash là công c mnh nht có th to ra hot hình ln
mô phi hc có th ng trong các file flash mô
phng và to ra các hot hình (animation) trong khi thit k các thí nghim. File
flash có th kt hp d dàng vi Violet ho to thành mt bài ging
hoàn chnh. Và vi s h tr m file flash ca hu ht các trình duyt web hin
c sinh có th t làm, t thc hành, t
hoàn thành các yêu cu ca i thit k thit k thí nghim o bng vi
tác trc ting trong file flash mô phng. Vi phn mm Adobe
Flash, chúng ta có th thit k , thí nghim hoc tt c nhng
yu t dy vt lý cho hc sinh.
Adobe Flash có rt nhiu phiên bn, phiên bn sau là phiên bn nâng cp ca
phiên bc và có thêm nhiu ci tin. Lua tôi s dng phiên bn
CS5 là phiên bn xua Adobe Flash. Và vi vic la chn
khóa lun “Ứng dụng Adobe Flash CS5 thiết kế một số thí nghiệm mô phỏng
trong chương trình vật lý lớp 12” ng nghiên cu. Tôi mong mun
2
hc hi, nâng cao, khai thác ng dng công ngh thông tin trong vic thit k
các thí nghim mô phng hing vt lý nhm h tr công tác ging dy sau
này. Hy vng rng lu là mt tài liu hu ích cho các sinh viên ngành
Sm vng dy ng THPT.
Tìm hiu phn mm Adobe Flash CS5 và ng d thit k mt s thí
nghim mô phng các hing vt lý lp 12.
- Phn mm Adobe Flash CS5
- Sách giáo khoa vt lý lp 12
- Tìm hiu cách s dng phn mm Adobe Flash CS5
- ng d thit k mt s thí nghim mô phng các hing vt lý trong
t lý lp 12.
- Nghiên cu tài liu
- Thc hành thit k bng phn mm Adobe Flash CS5 trên máy tính
- Phn I. M u
- Phn II. Ni Dung
i thiu phn mm Adobe Flash CS5
ng dng Adobe Flash CS5 thit k mt s thí nghim mô phng
các hing vt lý 12
- Phn III. Kt lun
- Tài liu tham kho
- T m tài li t
- T n tháng 3/2014: thit k các thí nghim
- Tháng 4/2014: hoàn thin khoá lun
3
Hii qua rt nhiu phiên bn khác nhau. Vi phiên
bn CS5, xu sung vào nhi
i dùng thit k và lp tri mc dích tn dc
nhng nâng cp ca phiên sau tác gi ca lu n phiên bn CS5 ca
Adobe Flash v là Adobe Flash Professional CS5 trên nn giao din
ng nghiên cu.
t thành công phn mm vào máy tính ta có th khng phn
mm bng nhiu cách:
Khởi động từ Star menu (bắt
đầu):
Trong giao din Star menu di
chuyn và ch n bi ng
ca phn mm Adobe Flash
Professional CS5 ( 1)
click chut trái hoc nhn Enter
trên bàn phím.
Khởi động từ hộp thoại tìm kiếm:
Di chuyn con ch chut
vào góc màn hình bên phi ca
màn hình Deskop n
chsearch trên window
8, vit vào hp thoi tìm kim
dòng ch n
vào bi ng Adobe Flash
Professional CS5 ( 2) ri
click chut trái hoc nhn
Enter trên bàn phím.
(hình 1)
(hình 2)
4
xong,
trình màn hình Splash - màn hình
a Adobe Flash
Professional CS5 s hin ra (3)
Sau khi quá trình kh ng
hoàn tt ta s thy có giao din sau
(4)
Flash CS5 cho phép làm vic
theo ch Tab. Trên vùng thanh
menu, góc bên phi mc
Essentials cho phép ta chuyi
qua li gia các cách b trí giao
din. Có 6 ch b trí giao din:
Animator, Classic, Debug, Designer, Developer và Essentials. Vi ma
khóa lun là to hot hình mô phng thí nghim nên tôi chn ch Animator
và ActionScript 2.0.
Stage (sân khu)
Stage là vùng màn hình mà ta v vào và là vùng trình dic
xut bn.
(hình 4)
(hình 3)
(hình 5)
5
Toolbox (hp công c)
Toolbox bao gm các công c v hình, chnh sa hì
Panels (bng ch
Các bng (panel) c nhng công vic x ng trên
sân khnh (Align), chnh kiu màu (Color Mixer, Color Swatches),
các phép bin hình: xoay hình, phóng to thu nh
Có th cho gi các bng t menu Window.
Timeline (bng tin trình)
Bng tin trình t chu kin v v thi gian cho phim.
Layers (các lp)
Giúp t chc trt t i cng hình v.
n).
các tài nguyên cn phim.
Properties (bng thuc tính).
Cho ta bit thuc tính c ng (màu nn, t hình nh, kích c
hình nh (màu nét, màu n rng nét ), các thông s trong các
chuyng (t nhanh dn hay chm dn, quay theo chi
3. ActionScript trong Flash
Mã lnh ActionScript (code AS) là mt dng ngôn ng lc xây
dng trong Flash. ta hin bng ting
Anh.
* Thứ nhất, ta cần biết là AS sẽ được viết ở đâu? Có chúng ta có th vit
AS, là:
- Trên Timeline, bt k Frame nào
- Trên nút (button), có AS thì nút m hot
ng khi có chut hong lên nó mà thôi.
- n phim (MovieClip), hong ca MC s rng nc
kèm theo AS, có th ng xuyên vit AS.
* Thứ hai, ta cần biết là viết AS như thế nào?
6
vit AS thì rn, ta chn
nh s vit AS (có th
là mt Frame trên TimeLine, mt nút
hay mt MC). Ti bng Actions
(phím tt F9) ri vit AS vào vùng trng
bên phi. Bên trái là các mã lnh có sn
ca Adobe Flash CS5, ta có th tham
kho nu quên mã lnh.
* Thứ ba, ta sẽ tìm hiểu một vài AS cơ bản.
- Cu trúc cú pháp ca mt câu lnh nói chung thì gm 3 phn chính:
Key Word (Event) {Actions}; Tạm dịch là: T khóa (S king};
Mt câu lng kt thúc bng du (;). Nu mm sau du
i chú thích cho phn code AS mà tác gi va vit nhm
c d hinh và s
không thc hin.
- i vi AS trên TimeLine: ra lnh trc tip cho TimeLine thc hin mt
hành i mt Frame mà ta mong mun, không cn thông qua
t khóa hay s kin nào c. Mt s ng trên
gotoAndPlay (n); // khi ti frame này thì s nhn t ng chy t frame
th n.
gotoAndStop (m,n); // nhn và dng ti frame th n ca phân cnh th m.
là 2 cách nhy frame, mi câu lu có th dùng 1 trong 2 cách
nh
play (); // chy frame này.
stop (); // dng ti frame này.
nextFrame (); // tin ti frame tip theo.
prevFrame (); // lùi l
nextScene (); // tin ti phân cnh tip theo.
prevScene (); // lùi li phân c
(hình 6)
7
stopAllSounds (); // di âm thanh ti frame này.
- i vi AS trên nút ng có câu lnh dng: on (s king };
tc là sau s king trong {} s c thc hin. Mt s code
dùng trên nút là:
ng ging trên TimeLine}; // press là s kin nhn chut
lên nút.
ng ging trên TimeLine}; // release là s kin nhn
chut lên nút và sau khi th chung s c thc hin.
- i vi AS trên MC ng có câu lnh dng: onClipEvent (s kin)
ng};
Mt s s kin dùng trên MC là: load (khi MC chn
phim Flash bu chy), mouseDown (nhn chut lên MC), mouseMove (di
chuyn chu chut tr
Mt s u có th nhn và kéo MC),
stopDrag (dng nhn và kéo MC), this._x (cho bit t x ca MC), this._y
(cho bit t y cng quay MC mt góc r
+= V (quay MC theo mt t
a (th hi m ca MC theo t l a% vi 0< a <100), this._visible = v (th
hi trong sut ca MC theo tì l
lnh trên có th thay bng câu lnh _parent.tên MC. Ví d _parent.xedap._x (
cho bit t x cp).
Kt hp s king vào cú pháp trên ta s có nhn code
Ngoài ra ta u khin MC hay nút bng cách vit mã lnh trên
TimeLine.
- Mt s ln : l u kin ràng bu ng}, lnh
ly t chut, mt s
Ta s chèn mã lnh ActionScript vào MovieClip
Vu tiên ta cn tc các MovieClip
8
Bước 1: chng (ví d
qu bóng)
Bước 2: nhn F8 chn loi
Type là MovieClip, chn v trí ca
cht tên cho MovieClip
phn < Instance Name > trong Properties ca MC
To mt MovieClip trng (không ng): nhn Ctrl + F8
i vi chuyng tròn
Nhn code sau vào MC
onClipEvent (enterFrame) {this._rotation += 10;} // khi chy frame thì MC
s chuyng vi t 10 theo chiu (+) (cùng ching h)
onClipEvent (enterFrame) {this._rotation -= 10;} // khi chy frame thì MC s
i t 10 theo chiu (-c ching h)
Chy th xem kt qu
Lưu : tâm ca chuyng này chính là tâm vùng thit k riêng ca MC, ta
có th to chuyng tròn vi nhng bán kính qu o khác nhau bng cách
chnh sa khong cách cng trong MC ti tâm này.
4.2. i vi chuyng thu
- Theo phương ngang thì dùng 1 trong 2 đoạn code sau:
onClipEvent (enterFrame) {this._x += 10;} // khi chy frame thì MC s
vi t 10 theo chiu (+) (trái qua phi)
onClipEvent (enterFrame) {this._x -=10;} //khi chy frame thì MC s
vi t 10 theo chiu (-) (phi qua trái)
- Theo phương đứng thì dùng 1 trong 2 đoạn code sau:
onCLipEvent (enterFrame) {this._y +=10;} //khi chy frame thì MC s
vi t 10 theo chiu (+) (trên xung)
onClipEvent (enterFrame) {this._y -= 10;} // khi chy frame thì MC s
vi t 10 theo chiu (-i lên)
(hình 7)
9
- Theo một phương bất kỳ, khi này ta cần biết hàm của y theo x : y = f(x) sau đó
dùng đoạn code có cấu tạo như sau:
onClipEvent (enterFrame) { this._x += speed ; this._y =f (this._x) ;}
VD: khi mun MC chuyng lên, tc là y = f(x) = x,
n code:
onClipEvent (enterFrame) { this._x += 10 ; this._y = this._x ;}
//khi chy frame thì MC s i t 10 theo chiu trái qua phi và
ng lên góc 45
0
4.3. i vi chuyng thng chm du
- Theo phương ngang thì trước tiên ta cần đặt vật ở vị trí ban đầu, sau đó cần
xác định vị trí cuối cùng rồi dùng đoạn code sau:
onClipEvent (load) {
this._x = 0 ; this._y = 50; speed = 20; // mt bin tên speed, n
t di chuyn ca MC
nh v u là x = 0 và y = 50, có th b n code này nt
vt v u
onClipEvent (enterFrame) { this._x += (400 - this._x)/speed;}
// khi chy frame thì MC bi v trí x bng cách cng thêm hiu
c trí cui ta chn, (550,50)) và v i chia cho
speed, phn cng thêm gim dn khi t m dn
- Theo phương đứng ta cũng làm tương tự, cần vị trí đầu và vị trí cuối sau đó
nhập
onClipEvent (enterFrame) { this._y += (400 - this._y)/speed;}
// khi chy frame thì MC bi v trí y bng cách cng thêm hiu
c trí cui ta chn, (50,400)) và v i chia cho
speed, phn cng thêm gim dn khi t m dn
- Theo một phương bất kỳ, khi này ta cần biết hàm của y theo x : y = f(x) sau đó
dùng đoạn code có cấu tạo như sau:
onClipEvent (load) {
this._x = v u ca x ; this._y = v u ca y; speed = t ;}
10
onClipEvent (enterFrame) {
this._x += (v trí cui ca x this._x)/speed ; this._y = f (this._x);}
- Ta có thể tự tìm hiểu thêm để thay đổi hướng chuyển động của vật.
4.4. i vi chuyng thng nhanh du
c là cng thêm mn thì
s có chuyng nhanh dn.
i vi các chuyng bt k khác
Ta ch cn nc ni dung liên h gia x, y ri cho chúng biu din qua
li lc.
VD: chuyng ném ngang có qu o là x = v.t, y = 1/2.g.t
2
nên s có
n code sau:
onClipEvent (load) {
this._x = 0 ; this._y = 0 ; t = 0; v = 50; g = 9.8;}
onClipEvent (enterFrame) {
t = t + 0.1; this._x = v*t ; this._y = 1/2*g*Math.pow(t, 2);} // hàm Math.pow
(s, s n ly)
11
lò xo
* Mm: Khng ca con lc lò xo v mng lc hc
u ki vt v trí cân bng (hay trng thái ca lò xo)
+ Chuyng ca vt khi kéo vt ra khi v trí cân bng.
+ Các lc tác dng lên v ln ca chúng
* Nhng hn ch khi s dng thí nghim truyn thng
+ Hc sinh ch có th c chuyng ca con lt
c s i v ln ca các lc tác dng, s
i ca vn tc, gia tc trong quá tng ca con lc
+ R có th dng con lc ti thm b kho sát con lc v mt
ng lc hc
c các giá tr ci vic phi thay lò
xo, và vt nng, s rt mt thi gian, và hr nhn ra s thay
i v t ng ca con lc
m ca thí nghim flash
+ Tr s di vi giáo viên và hc sinh
+ Giúp hc sinh có th c mt cách d dàng nht v chuyng
ca con lc lò xo, s i v ln ca các lc tác dng lên vt
ng ca con lc
+ Có th tm dng con lc ti mt ví trí b quan sát hoc kho sát con lc
v mng lc hc
+ Có th i trc tip các giá tr cng ca lò xo), m (khi ng ca
v thc s ph thuc cng vào giá tr ca k, m
+ Có th kéo vt ra khi v trí cân bng m dao
ng khác nhau
+ Sau khi hoàn thành, giáo viên có th n vi tng hc sinh,
hc sinh có th t làm thí nghim, t hc và t thc hành, hoc có th b sung
câu hi vào thí nghi giao cho hc sinh git bài tp v nhà
12
+ File flash có th m mt cách d dàng bng các trình duyt web (Chrome,
kt hp d dàng vi Violet ho
to thành mt bài ging hoàn chnh
c thit k thí nghim
Bước 1: To các Layer cha MovieClip
tên ca MC vit lin không cách, không
du trong mc <Instance Name>), to
các thành phn cn có khác trên Stage
To mt MC trng (nhn Ctrl + F8) sau
kéo ra Stage
Kt qu (hình 8)
Bước 2. Thc hin vit các mã lnh
- Bên trong MC tr
MC (du chm trn F9):
_parent.dung.onPress = function(){ ha = false;}//khi bm nút tm dng
_parent.chay.onPress = function(){ ha = true;} //khi bm nút play
// khi bm và gi v kéo v
_parent.vat.onPress = function(){
_parent.vat.startDrag(true, x0 - A, y0, x0 + A, y0); ha = false; }
// khi th vt ra
_parent.vat.onRelease = function(){ _parent.vat.stopDrag();
biendo = _parent.vat._x - x0; nh
ha = true; _parent.bienam._visible = true; _parent.bienduong._visible = true;}
_parent.vat.onReleaseOutside = function(){
_parent.vat.stopDrag(); biendo = _parent.vat._x - x0;
ha = true; _parent.bienam._visible = true; _parent.bienduong._visible = true;}
- Bên ngoài MC trng, nhn F9 ri vit các câu lnh sau:
//ti thu
onClipEvent (load){ t = 0; // thu
(hình 8)
13
x0 = _parent.vat._x; y0 = _parent.vat._y;// t u ca vt
u ca lò xo
ym = _parent.khoiluong._y; // t u ci m, k
hvat = _parent.vat._height; // u ca vt
ru ca vt
ln nht
//khi bu chy Frame
onClipEvent (enterFrame){
i kh cnh và khi kéo vt ra
khi vtcb thì thuc tính c
m = 0.4*(ym + 60 - _root.khoiluong._y)/10;// khng ca vt
k = 80*(ym + 60 - cng ca lò xo
w = Math.sqrt(k/m); // tn s góc
_parent.vat._height = 30 + 7*m;_parent.vat._width =30 + 7*m;//kích c ca vt
dài ca véc-ng lc
dài ca véc-n lc
e = _parent.vat._x; // t x ca vt khi b kéo ra khi v trí cân bng
_parent.que._x = e; _parent.lucf._x = e; //t x ca que ni, véc-c F
b = _parent.lucf._xscale = k*(x0 - e)/400;// chiu dài ca véc-c F
_parent.chuf._x = e + b; // t x ca ch chú thích lc F
_parent.giatoc._x = e; // t x ca véc-gia tc
dài ca véc-c
_parent.chua._x = e + c; // t x ca ch chú thích gia tc
_parent.loxo._width = e - dãn ca lò xo khi kéo vt ra khi vtcb
_parent.trongluc._x = e;_parent.phanluc._x = e;//t x ca trng lc, phn lc
_parent.bienam._x = x0 - biendo; _parent.bienduong._x = x0 + biendo; // v trí
x
_parent.chua._visible = false; _parent.chuf._visible = false; //n ch a, ch F
f = Math.abs(_parent.lucf._xscale); //giá tr tuyi c dài lc F
j = _parent.lucf._visible; // thuc tính n/hin ca lc F
14
if ( f > 1 ){ if ( j == true){ _parent.chua._visible = true; // hin th ch a
_parent.chuf._visible = true;}}// hin th ch F
if(ha == true){ t = t + 0.01; // thi gian bi h s 0.01
//tip theo là thuc tính cng theo thi gian
e = _parent.vat._x = x0 + biendo*Math.cos(w*t); // t ca vt
_parent.que._x = e; //t x ca que ni vt vi lò xo
_parent.vantoc._x = e; // t x ca véc-n tc
a = _parent.vantoc._xscale = 0 - dài ca
véc-n tc
_parent.chuv._x = e + a; // t x ca ch chú thích vn tc
_parent.chuv._visible = false;// n cha v
_parent.vantoc._visible = false; // n véc-n tc
if (f > 1){ if ( j == true){ _parent.vantoc._visible = true;//hin véc-n tc
_parent.chuv._visible = true;}}// hin th ch v
_parent.lucf._x = e; _parent.chuf._x = e + b;//t x ca véc-c F và ch F
_parent.giatoc._x=e;_parent.chua._x=e + c;//t x ca véc-c và ch a
_parent.lido._x = e; //t x c
_parent.loxo._width = e - x0 + l0; dài ca lò xo
_parent.trongluc._x = e; _parent.phanluc._x = e;
_parent.lido._visible = true; //
d = _parent.lido._xscale = e - dài c
if (d > 0){ _parent.xduong._visible = true; _parent.xam._visible = false;}
//hin x > 0 và n x < 0
if (d < 0){ _parent.xduong._visible = false; _parent.xam._visible = true;}}}
//n x > 0 và hin x < 0
- Tu tiên nhn F9 và chèn mã lnh sau:
g = false; h = true; trongluc._visible = g; phanluc._visible = g; lucf._visible = g;
giatoc._visible = g; vantoc._visible = g; chuv._visible = g; xam._visible = g;
xduong._visible = g; bienam._visible = g; bienduong._visible = g; lido._visible =
g; cauhoi._visible = g; // các thuc tính n (false) và hin (true) ca i ng
15
- Chn nút n/hin các lc tác dng và gia
tc, nhn F9 và chèn mã lnh sau:
on (press){
trongluc._visible = !trongluc._visible;
lucf._visible = !lucf._visible;
phanluc._visible = !phanluc._visible;
giatoc._visible = !giatoc._visible;}
Nh xem kt qu (hình 9)
2. Thí nghim v con l
* Mm: Kho sát con lc
mng lc hc
+ Chuyng ca con l
+ Các lc tác dng lên con lng
* Nhng hn ch khi s dng thí nghim truyn thng
+ Hc sinh ch có th c chuyng ca con lt khó
c s i v ln ca các lc tác dng, s thay
i ca vn tc, gia tng ca con lc
+ R có th dng con lc li ti mt thm b kho sát
m ca thí nghim flash
+ Trc quan và d s di vi giáo viên và hc sinh
+ Giúp hc sinh có th c mt cách d dàng nht v chuyng
ca con l i v ln ca các lc tác dng lên qu
nng ca con lc
+ Có th tm dng con lc ti mt ví trí b quan sát hoc kho sát con lc
v mng lc hc
+ Sau khi hoàn thành, giáo viên có th n vi tng hc sinh,
hc sinh có th t làm thí nghim, t hc và t thc hành, hoc có th b sung
câu hi vào thí nghi giao cho hc sinh git bài tp v nhà
(hình 9)
16
+ File flash có th m mt cách d dàng bng các trình duyt web (Chrome,
th kt hp d dàng vi Violet ho
to thành mt bài ging hoàn chnh
c thit k thí nghim
Bước 1: To các MovieClip t
ca MC vit lin không cách, không
du trong mc < Instance Name >,
có th to các MC trên các Layer
khác nhau), to các thành phn cn
có khác trên Stage
To mt MC trng (nhn Ctrl + F8)
kéo ra Stage
Kt qu (hình 10)
Bước 3: Thc hin vit các mã lnh
- Bên trong MC trng:
// khi bm nút play
_parent.chay.onPress = function(){ ha = true; batdaulai = false;
//v qu o
_parent.createEmptyMovieClip("quydao", 1);
with (_parent.quydao){lineStyle(1, 19777215, 100);
moveTo(_parent.trongluc._x, _parent.trongluc._y);}}
_parent.dung.onPress = function(){ha = false;}//khi bm nút tm dng
_parent.batdaulai.onPress = function(){batdaulai=true;ha = true;}//khi bm nút stop
- Bên ngoài MC trng:
//ti thu
onClipEvent(load){
g = 9.8;//gia tc trng
A = -30; góc, quay theo chiu ngc ching h
api = -A*Math.PI/180; //chuyn sang radian
(hình 10)
17
l = _parent.soiday._height; dài ca s dây
_parent.soiday._rotation = A;// s dây quay theo góc A
x0 = _parent.vat._x; y0 = _parent.vat._y;// t u ca vt nng
// t ca vt sau khi s dây quay mt góc A
xvat = _parent.vat._x = x0 + l*Math.sin(api);
yvat = _parent.vat._y = y0 - l + l*Math.cos(api);
//t ca các véc-ng lc, phn lc
_parent.trongluc._x = xvat; _parent.trongluc._y = yvat;
lp = _parent.trongluc._yscale; dài ca véc-ng lc
_parent.lucpn._x = xvat; _parent.lucpn._y = yvat;//t ca véc-
phn ca trng lc
_parent.lucpn._rotation = A; //véc-n pn quay vi góc A
lpn = _parent.lucpn._yscale = lp*Math.cos(api); dài ca véc-
_parent.chupn._x = xvat + 1.3*lpn*Math.sin(api);//t x ca ch pn
_parent.chupn._y = yvat + lpn*Math.cos(api) + 30;//t y ca ch pn
n trng lc tính ca thành
phn trng lp tuyn pt, l
_parent.lucpt._x = xvat; _parent.lucpt._y = yvat; _parent.lucpt._rotation = A;
lpt = _parent.lucpt._xscale = lp*Math.sin(api);
_parent.chupt._x = xvat - 1.6*lpt*Math.cos(api);
_parent.chupt._y = yvat + lpt*Math.sin(api) + 15;
_parent.luct._x = xvat; _parent.luct._y = yvat; _parent.luct._rotation = A;
_parent.luct._yscale = lpn; _parent.chut._x = xvat - 0.5*lpn*Math.sin(api);
_parent.chut._y = yvat - lpn*Math.cos(api)/1.1;
ng k t ni các thành phn trng lc và trng l luôn to
thành mt hình bình hành
_parent.noipn._x = xvat; _parent.noipn._y = yvat + lp +20;
_parent.noipn._rotation = A; _parent.noipn._xscale = lpt*1.7;
_parent.noipt._x = xvat; _parent.noipt._y = yvat + lp + 20;
_parent.noipt._rotation = A; _parent.noipt._yscale = lpn*1.85 ;
18
t= 0; }// thu bng không
//bu chy Frame
onClipEvent (enterFrame){
if (ha ==true){ t = t + 0.01;//thn vi h s 0.01
i = Math.cos(2*Math.PI*t);//bin i vi các giá tr t -n 1
a = A*i; góc i t -n a theo thi gian
api = -A*i*Math.PI/180; góc theo radian i t -n api
//ting theo thi gian, thì các thuc tính ca
ng s nh da vào các mi liên h gia chúng
_parent.soiday._rotation = a;//si dây quay v i a
xvat=_parent.vat._x =x0 + l*Math.sin(api);//t x ca vt theo thi gian
yvat = _parent.vat._y = y0 - l + l*Math.cos(api);//t y ca vt theo thi gian
_parent.trongluc._x=xvat;_parent.trongluc._y=yvat;//t ca véc-ng
lc theo thng
lp = _parent.trongluc._yscale; dài ca véc-ng lc theo thi gian
_parent.lucpn._x = xvat; _parent.lucpn._y = yvat; //t ca véc-
phn trng lc pn theo thi gian
_parent.lucpn._rotation = a;// thành phn pn quay v i a
lpn =_parent.lucpn._yscale =lp*Math.cos(api); dài ca véc-n
pn theo thi gian
//t ca ch pn theo thi gian
_parent.chupn._x = xvat + 1.3*lpn*Math.sin(api);
_parent.chupn._y = yvat + lpn*Math.cos(api) + 30;
là t ca thành phn pt theo thi gian
_parent.lucpt._x = xvat; _parent.lucpt._y = yvat;
_parent.lucpt._rotation = a;// thành phn pt quay v i a
lpt = _parent.lucpt._xscale = lp*Math.sin(api); dài ca véc- thành
phn trng lc pt theo thi gian
//t ca ch pt theo thi gian
_parent.chupt._x = xvat - 1.6*lpt*Math.cos(api);
19
_parent.chupt._y = yvat + lpt*Math.sin(api) + 15;
//t ca véc- theo thi gian
_parent.luct._x = xvat; _parent.luct._y = yvat;
_parent.luct._rotation = a;//véc-c T quay v i a
_parent.luct._yscale = lpn; dài ca véc- theo thi gian
//t ca ch t theo thi gian
_parent.chut._x = xvat - 0.5*lpn*Math.sin(api);
_parent.chut._y = yvat - lpn*Math.cos(api)/1.1;
ta có các thuc tính ca các thành phn ni các thành phn trng
lc v luôn to ra mt hình bình hành
_parent.noipn._x = xvat;_parent.noipn._y= yvat + lp +20; //t theo thi gian
_parent.noipn._rotation = a;//quay v i a
_parent.noipn._xscale = lpt*1.7; dài theo thi gian
_parent.noipt._x = xvat; _parent.noipt._y = yvat + lp + 20;
_parent.noipt._rotation = a; _parent.noipt._yscale = lpn*1.85 ;
_parent.goc._x = x0 - 25 + xvat/10;//t x ca ch
with (_parent.quydao){lineTo(_parent.trongluc._x, _parent.trongluc._y);}
//qu o ca vnh theo t ca véc-ng lc, hoc có th
chn là t ca vt
if (batdaulai == true){t = 0; _parent.quydao.clear();}}}
- Tu tiên:
//các thuc tính n hin cng khi bu chy t u tiên
trongluc._visible = false; luct._visible = false; lucpn._visible = false;
lucpt._visible = false; noipn._visible = false; noipt._visible = false; chut._visible
= false; chupt._visible = false; chupn._visible = false;
- Trong nút hin th lng lc:
on(press){trongluc._visible = true; luct._visible = true; chut._visible = true;}
- Trong nút hin th các thành phn ca trng lc:
on(press){lucpt._visible = true; lucpn._visible = true; noipn._visible = true;
noipt._visible = true; chupt._visible = true; chupn._visible = true;}
20
- Trong nút n:
on(press){
trongluc._visible = false; luct._visible = false;
lucpn._visible = false; lucpt._visible = false;
noipn._visible = false; noipt._visible = false;
chupt._visible = false; chupn._visible = false;
chut._visible = false}
Nh xem kt qu (hình 11):
(
)
* Mm: Kho sát con l mng lc hc
+ Chuyng ca con l
+ Các lc tác dng lên con lng
* Nhng hn ch khi s dng thí nghim truyn thng
+ Hc sinh ch có th c chuyng ca con l
r c s i v ln ca các lc tác dng, s
i ca vn tc, gia tng ca con lc
+ R có th dng con lc li ti mt thm b kho sát
m ca thí nghim flash
+ Trc quan và d s di vi giáo viên và hc sinh
+ Giúp hc sinh có th c mt cách d dàng nht v chuyng
ca con l i v ln ca các lc tác dng lên
qu nng ca con lc
+ Có th tm dng con lc ti mt ví trí b quan sát hoc kho sát con lc
v mng lc hc
+ Sau khi hoàn thành, giáo viên có th n vi tng hc
hc sinh có th t làm thí nghim, t hc và t thc hành, hoc có
th b sung câu hi vào thí nghi giao cho hc sinh git bài
tp v nhà
+ File flash có th kt hp d dàng vi Violet ho to thành mt
bài ging hoàn chnh
(hình 11)
21
Bước 1: Tt tên
a MC
vit lin không cách, không du trong
mc < Instance Name >, có th to các
MC trên các Layer khác nhau), to các
thành phn cn có khác trên Stage
To hai MC trng (nhn Ctrl + F8) sau
t tên
trong mc < Instance Name > lt
là diem1 và diem2
n to ra 3 s dài l0
t chng lên nhau có tên là unpausebutton1 và
t tên là nutsop, nút
các thành phn ca trng lt tên là nut2
Kt qu (hình 12)
Bước 2: Thc hin vit các mã lnh
- Ti u tiên
t1 = 0; t2 = 0;//hai mc thu
x0 = vat._x; y0 = vat._y;//t u ca qu nng
xt = chut._x; yt = chut._y;//t u ca ch T (l
dài ca l1, l2
lp = tro dài ca véc-ng lc
//ng trng lc, l T; thành phn lc Pt, Pn; ch Pt,
ng k ni gia trng lc và các thành phn Pt, Pn; nút các thành phn
ca trng lc; các ch n thông tin ghi nh, câu hi, nút play th hai
trongluc._visible = false; luct._visible = false; chut._visible = false;
lucpt._visible = false; lucpn._visible = false; chupn._visible = false;
chupt._visible = false; noipt._visible = false; noipn._visible = false;
nut2._visible = false; gocb._visible = false; goca._visible = false;
ghinho._visible = false; cauhoi._visible = false; unpausebutton2._visible = false;
(hình 12)
22
g = 9,8;// gia tc trng
w1 = 30*Math.sqrt(g/dodail1);//tn s
w2 = 30*Math.sqrt(g/dodail2);//tn s
ng batdau()
function batdau (){ t1 = 0; t2 = 0;}//mc thu
ng batdaulai ()
function batdaulai() { t1 = 0; t2 = 0;
vat._x = x0; vat._y = y0;//vt tr v v u
//thc hing
dao_dong1(); dao_dong2 (); tamdung ();
//ng sau
lucpt._visible = false; lucpn._visible = false; chupn._visible = false;
chupt._visible = false; noipt._visible = false; noipn._visible = false;
nut2._visible = false; gocb._visible = false; goca._visible = false;
chut._x = xt; chut._y = yt;//ch T tr v v u
goca._x = x0; gocb._x = x0;}// các ch x = x0
ng tamdung ()
function tamdung() { timing1 = false; timing2 = false;} //hai bin timing bng false
ng chaytiep1 ()
function chaytiep1() { timing1 = true;}//bin timing1 bng true
ng chaytiep2 ()
function chaytiep2() { timing2 = true;}//bin timing2 bng true
ng dao_dong1 () bao gm
function dao_dong1() { unpausebutton1._visible = true;//hin nút play th nht
unpausebutton2._visible = false;//n nút play th hai
l1._visible = true;//hin si dây 1 (s
l2._visible = false; l0._visible = false;//n hai si dây l1, l0
i1 = Math.sin(w1*t1);//bin i1
góc ca con l
góc theo radian
23
//nu i1 > 0 thì
if (i1 > 0){ //bu theo thi gian
ng sau quay theo chiu c ching h
l1._rotation = -a*i1; luct._rotation = -a*i1; lucpn._rotation = -a*i1;
lucpt._rotation = -a*i1; noipn._rotation = -a*i1; noipt._rotation = -a*i1;
//t ca qu nng theo thi gian khi con l
vat._x = x0 + dodail1*Math.sin(api);
vat._y = y0 - dodail1 + dodail1*Math.cos(api);
dài ca thành phn lc Pn
//t theo thi gian ca ch Pn
chupn._x = xvat + 1.3*lpn*Math.sin(api);
chupn._y = yvat + lpn*Math.cos(api) + 30;
dài ca li gian
dài ca thành phn lc Pt
//t theo thi gian ca ch Pt, ch T
chupt._x = xvat - 1.6*lpt*Math.cos(api);
chupt._y = yvat + lpt*Math.sin(api) + 15;
chut._x = xvat - 0.5*lpn*Math.sin(api);
chut._y = yvat - lpn*Math.cos(api)/1.1;
dài cn ni trng lc vi thành phn lc Pn
dài cn ni trng lc vi thành phn lc Pt
goca._x = x0 + dodail1/6*Math.sin(api);}//t x ca ch
//hoc nu i1 không l
else { l1._rotation = 0;//si dây l1 tr v v u
batdau(); //thc hing batdau ()
timing1=false;timing2=true;}}//bin tic gán bng false, true
ng dao_dong2 () bao gm
function dao_dong2() { unpausebutton2._visible = true;//hin nút play th hai
unpausebutton1._visible = false;//n nút play th nht
l1._visible = false;//n si dây l1