JSは、詳細な使用に円運動とにMath.PI Math.sin()およびMath.cos()をシミュレート

正弦値Math.sin(x)は、x。-1.0と1.0の間の戻り値、
余弦Math.cos(X)は、X。戻り-1.0と1.0の間の数、
Xの両方の機能は、代わりに「角度」の「アーク」を参照しているが、ラジアンで計算される:/ 360 *角2 * PI;
30°の角度RAD = 2 * PI / 360 * 30

円上の各点の座標を取得する方法?
溶液;三角正弦余弦値が来る
円の中心座標(A、B)と仮定すると、半径rと、
その後の各時点での円
2 *演算(X座標= + Math.sin 。 PI / 360)* R< Yは、
= B + Math.cos(2 *にMath.PI座標 / 360)* R; コードマイナス記号に注意- 

トラックの周り秒針の動きの時計を取得する方法?
、12時に中心座標(A、B)を秒針(開始点)の初期値を仮定する。
ソリューション:1分60秒、360の円形度ので、360°/ 60 = 6°の毎秒回転角度。

VAR ;タイムズ<60;時間= 0回++ ){
       VAR hudu =(2 *にMath.PI / 360)* 6。タイムズ;
        VAR X-Math.sin、= A +(hudu)* R&LT;
        VAR Y = B - Math.cos(hudu)* R     //   ここで注目すべきは、「 - 」記号、我々はYは、(0,0)項に相対的である取得したいので。
}

参考:詳細の使用とにMath.PIとMath.sin()およびMath.cos()

ケース:

<!DOCTYPE HTML > 
< HTML LANG = "EN" > 

    < > 
        < メタ文字コード= "UTF-8" > 
        < タイトル>ドキュメント</ タイトル> 
        < スタイルタイプ= "テキスト/ cssの" > 
            .main { 800ピクセル; 
                高さ800ピクセル; 
                背景色
                位置; 
                マージン自動; 
                
            } 
            .fix { 20ピクセル
                高さ20ピクセル; 
                背景色
                境界半径50% 
                位置絶対; 390px ; 
                トップ270px ; / * 390から120:圆的12点方向* / 
            } 
            .SHOW{ 20ピクセル
                高さ20ピクセル; 
                背景色lightseagreen 
                境界半径50% 
                位置絶対; 390px ; 
                トップ390px ; 
            } 
        </ スタイル> 
        < スクリプトSRC = "https://code.jquery.com/jquery-3.1.1.min.js" > </ スクリプト> 

    </B)。
           ソリューション:1分60秒、360の円形度、その結果、回転角度[度] 60分の360 =毎秒6°であります; / *

    
        
            

            
            
                
            
        
    
    
            
        
                    
            VAR =  0 ;
            VAR R =  120 // 圆形半径
            のsetInterval(関数(){ ++ ;
                 もし(倍>  60 ){ =  0 ; 
                } 
                VAR hudu = 2  * にMath.PI /  360 *  6  * 回;
                 VAR X =  390 + Math.sin、(hudu)* R&LT;
                 VAR Y =  390  - Math.cos(hudu)* R&LT //   ここで注目すべきは、 " - "記号、我々はの面でY(0,0)に関して取得したいので、 A。
                $(" .Fix " ).animate({左:X- +  " PX " 、トップ:Y +  " PX " }); 
            }、1000年); 
        })
    </ スクリプト> 

</ HTML >

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/xiejn/p/11925545.html
おすすめ