JavaScriptスプリング振子の超簡潔版は完全にエネルギー保存に適合しています.
2857 ワード
前の版は物理思想を使っていますが、今回は数学思想を使っています.第一版のコードをダウンロードすれば、数学の強さが分かります.
ここはスプリングのJSコードです.
転載するhttp://www.cnblogs.com/NONE/
ここはスプリングのJSコードです.
<br>/////////////////this spring begin/////////////////////
<br>var X=0.1//X
<br>var T=0;//X
<br>var M=200; //
<br>var A=0.7;//
<br>var D='R';//
<br>var O=0;//
<br>var L=0;//
<br>var TI=30;
<br>var S=false;
<br>var HR=false;
<br>
<br>function R(){
<br>HR=true;
<br>if(S)
<br>{
<br>return;
<br>}
<br>O.style.left= L+(Math.sin(T))*M+"px";//
<br>T=T+X;//X
<br>M-=A;//
<br>if(M<=0)//
<br>{
<br>S=true;
<br>return;//
<br>}
<br>setTimeout("R()",TI);//
<br>}
<br>///////////////////this spring over///////////////////////////
<br>function I()
<br>{
<br>if(HR){
<br>return;
<br>}
<br>S=false;
<br>O=document.getElementById("div");
<br>X=parseFloat(document.getElementById("X").value);
<br>M=parseFloat(document.getElementById("M").value);
<br>A=parseFloat(document.getElementById("A").value);
<br>TI=parseFloat(document.getElementById("TI").value);
<br>L=document.getElementById("div").offsetLeft;
<br>R();
<br>}
<br>function TS()
<br>{
<br>S=true;
<br>}
<br>function B()
<br>{
<br>if(S)
<br>{
<br>T=0
<br>HR=false;
<br>S=false;
<br>X=parseFloat(document.getElementById("X").value);
<br>M=parseFloat(document.getElementById("M").value);
<br>A=parseFloat(document.getElementById("A").value);
<br>document.getElementById("div").style.left=L+"px";
<br>}
<br>}
<br>
<br>
このページのHTMLです.
X
( )
前回のコードよりも大幅に向上しました.100%オリジナル転載するhttp://www.cnblogs.com/NONE/