ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript スプリングオシレーターの超簡易バージョンは、省エネルギーとフックの定理_javascript スキルに完全に準拠しています

JavaScript スプリングオシレーターの超簡易バージョンは、省エネルギーとフックの定理_javascript スキルに完全に準拠しています

WBOY
WBOYオリジナル
2016-05-16 18:43:30985ブラウズ

以前のバージョンは物理的思考を使用していましたが、今回は数学的思考を使用しています。最初のバージョンのコードをダウンロードした場合は、数学の力をはっきりと感じることができます。 ! ! ! !
Spring の JS コードは次のとおりです:

コードをコピーします コードは次のとおりです:

< script type="text/javascript">
/////////////////この春始まります////////// /////// ////
var X=0.1//X 軸増分
var T=0;//初期位置 0.7;//振幅倍減衰数
var D ='R';//動きの方向
var O=0;//要素
var L=0;//位置
var TI= 30; var HR=false;

関数 R(){
HR=true;
{
}
O.style. left= L (Math.sin(T))*M "px";// バネの移動速度を取得
T=T X;// X 軸の成長
M-=A;// 単位時間減衰
if(M{
S=true;
return;//終了
}
setTimeout("R()", TI);//コールバック
}
////////////////////この春は終わります///// ///////// /////////////
関数 I()
{
if(HR){
return
}
S=false; 🎜>O=document.getElementById("div");
X=parseFloat(document.getElementById("X").value);
M=parseFloat(document.getElementById ("M").value) ;
A=parseFloat(document.getElementById("A").value);
TI=parseFloat(document.getElementById("TI").value); ").offsetLeft;
R();
}
関数 TS()
{
S=true;
}
関数 B()
{
if(S)
{
T=0
HR=false;
X=parseFloat(document.getElementById(" X "). Value); 🎜> M = PARSEFLOAT (document.GetelementByid (" m "). Value;
a = PARSEFLOAT (document.getelementByid (" a "). Value); 次に、 getElementById("div").style.left= L "px";
}
}




これはページ HTML (役に立たない、デモ用)




コードをコピー


コードは次のとおりです:


X 軸の増分
< input style="width:50px" type="text" id="M" value="200" />元の振幅倍数
振幅多重減衰数
実行時間間隔 (ミリ秒)
停止後に再アクティブ化してください
これは、前のコードに比べて大幅な改善です。 100%オリジナル!
再投稿
http://www.cnblogs.com/NONE/
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。