JavaScriptスプリング振子の超簡潔版は完全にエネルギー保存に適合しています.

2857 ワード

前の版は物理思想を使っていますが、今回は数学思想を使っています.第一版のコードをダウンロードすれば、数学の強さが分かります.
ここはスプリングの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/