Welcome to TTKS/KTQN

CLICK HERE TO OPEN

Tuesday, September 13, 2011

PHƯƠNG PHÁP LÀM QUẢ BANH DI CHUYỂN THEO QUỸ ĐẠO ELLIPSE

JAVASCRIPT FOR A BALL BOUNCING IN ELLIPTICAL ORBIT

Ellipse có 2 trục.Trục dài gọi là a và trục ngắn hơn gọi là b

Toạ độ của mổi điểm trên ellipse tính theo lượng giác học là :

X=x+(a*Math.cos(i)) ;

Y=y+(b*Math.sin(i)) ;

Muốn cho quả banh di chuyển theo hình ellipse thì cần phải có 3 parameters

là ID của quả banh và tọa độ x,y của nó. Thay đổi góc i thì x,y thay đổi theo.

Muốn quả banh di chuyển thì cần phải thay đổi tọa độ x,y nghĩa là phải thay

đổi góc i.

Thay đổi góc i bằng cách viết var i=0 ; i=i+1̣ ( hay i++)

Muốn đổi hình ellipse thành hình vòng tròn thì trong function change(){…}

chọn a=b.Nghĩa là nếu chọn a=75 thì b=75 ; nếu chọn a=150 thi b=150.Quả

banh sẽ chạy theo hình vòng tròn.

Thursday, September 8, 2011

PHƯƠNG PHÁP LÀM QUẢ BANH BOUNCING THEO PARABOL

JAVASCRIPT LÀM QUẢ BANH DI CHUYỂN THEO ĐƯỜNG PARABOL

Lưu ý. Khi banh đang chạy, click STOP banh sẽ ngừng lại.

Sau khi STOP nếu Click START nữa thì banh lại di chuyển tiếp từ chỗ đã ngừng lại.

Trong khi banh đang di chuyển nếu click START thì banh sẽ trở thành bouncing xuống rồi lên không ngừng và click nút STOP không hiệu quả

Phần script rất quan trọng nên cần quan sát kỷ sau đây khi chép vào notepad.

function diChuyen(ID,L,T){

var object=document.getElementById(ID);

object.style.left=L+'px';

object.style.top=T+'px'; } // Quả banh cần phải có 3 parameters là ID,L,T.

var i=0

function tangDan(){

x=100+12*i; // trị số của x tăng dần theo i. i means increment

y=20+1.2*i*i // hàm số parabol y=x*x.Khi x tăng i thì y tăng i*i

diChuyen('banh',x,y) // passing values banh,x,y to parameters ID,L,T

i=i+1; // i=i+1 nghĩa là i++

if(i>15){clearInterval(t);i=0}

}

Với script trên,quả banh di chuyển đi xuống theo đường parabol.

Thay đổi dấu cộng bằng dấu trừ của 1.2*i*i rồi viết y=300 -1.2*i*i thi quả banh sẽ di chuyển đi lên theo đường parabol .

Khi quả banh đang bouncing,nếu muốn stop thì huỷ bỏ chữ clearInterval(t).

Quý bạn nên học sâu script code nầy vì đó là nền tảng giúp chúng ta có thể tạo bouncing cho quả banh theo những chiều tuỳ ý chúng ta.

Thí dụ nếu chúng ta xóa bỏ parameter L và cũng phải xóa bỏ luôn tất cả những gì có liên hệ đến L rồi viết lại như sau thì sẽ có quả banh bouncing theo chiều thẳng đứng y.

function diChuyen(ID,T){

var object=document.getElementById(ID);

object.style.top=T+'px'; }

var i=0

function tangDan(){

y=300-5*i*i

diChuyen('banh',y)

i=i+1;

if(i>5){i=0;}

Nếu muốn có bouncing theo chiều ngang x thì xóa bỏ parameter T và những gì liên hệ đếnT

Friday, September 2, 2011

JAVASCRIPT LÀM DI CHUYỂN QUẢ BANH KHÔNG DÙNG parseInt( )


JAVASCRIPT CODE MOVING A BALL WITHOUT USING parseInt( )


Trong bảng html trên chúng ta không dùng parseInt() để làm quả banh di chuyển 
như trước đây.
Trong tường hợp nầy cần đặt ra hai variables : variable object để chứa quả banh 
và variable location để theo dõi vị trí thay đổi của quả banh
(keep the track of the ball location) di chuyển.
Khi chúng ta muốn di chuyển từ left sang right thì chữ loc ám chỉ sẽ khởi hành từ 
left.
Khi muốn di chuyển từ top xuống bottom thì chữ loc ám chỉ bắt đầu khởi hành từ 
top.
Ký hiệu loc+=0.5 nghĩa là location=location+ 0.5 px (Tăng thêm 0.5 pixel cho 
location value.).Muốn tăng bao nhiêu tuỳ ý.Càng tăng quả banh càng chạy nhanh.
Đó là ký hiệu viết theo qui định trong JavaScript.Có thể viết loc=loc+0.5 vẫn có 
kết quả tốt.

Code object.style.left=loc có nhiệm vụ làm cho quả banh di chuyển và khởi 
hành từ bên trái ở vị trí qui định là loc.

Mở browser thì hình quả banh và 2 nút START ,STOP hiện ra như hình ở bên
 trái phía trên cùng.Quả banh ở vị trí 0 pixel đối với thành khung bên trái và 50px
 đối với thành khung đỉnh đầu.
Khi click nút START , quả banh bắt đầy chạy từ vị trí 0 pixel.Click nút STOP thì
 quả banh liền nhảy về vị trí đã khởi hành và dừng tại đó vì chúng ta đã ấn định 
như vậy trong function stop̣(){clearTimeout(t) ; object.style.left=0 }
Muốn cho quả banh chạy từ trên xuống dưới thì chỗ nào có chữ left thay 
bằng chữ top.
Bài kế tiếp là "Javascript code for a bouncing ball ." rất thích thú vì làm quả
 banh tự động chạy xuống tới vị trí qui định rồi tự động quay trở về nhanh hay 
chậm tùy ý rồi lại chạy trở xuống.Cứ tiếp tục như vậy cho đến khi chúng ta muốn 
stop.