2

javascriptを使用してcos曲線を描画しようとしています。私はウェブページを横切って行く素敵なcos曲線を見ることを期待していました。このような...
ここに画像の説明を入力してください

全体を見ることができるように、曲線を下に移動するために200を追加しました。htmlには小数点以下の桁がないので、100を掛けます。あなたがjsfiddleを見ればそれは混乱です

http://jsfiddle.net/RN7WN/8/

$(function(){    
    for (i=0; i<500; i++){ 
        var el = $('<div class="dot"></div>'); 
        var y = Math.cos(i*100) * 100 + 200;
        var x = i ;
        el.css({ 'left' : x+'px' , 'top':y+ 'px'});
        $('#main').after(el);  
    } 
});​
4

3 に答える 3

5

三角関数は、度ではなくラジアンを使用します。度とラジアンの間で変換するには、次の式を使用します

radians = Math.PI / 180 * degrees

これは、認識できるものを示すフィドルの更新バージョンです

于 2012-09-11T20:42:26.073 に答える
1

http://jsfiddle.net/zerkms/RN7WN/13/

$(function(){    
    for (i=0; i< 2 * Math.PI; i+=0.01){
        //alert('aa');   
        var el = $('<div class="dot"></div>'); 
        var x = Math.cos(i) * 100 + 100;
        var y = i * 100 + 50;
        el.css({ 'left' : x+'px' , 'top':y+ 'px'});
        $('#main').after(el); 
        //$('#main').after('<p>'+ l +'</p>');
    } 
});​
于 2012-09-11T20:43:02.810 に答える
1

コメントで前に説明したように、を掛けて度からラジアンに変換する必要がありますMath.PI / 180

例えば:

$(function(){    
  for (i=0; i<400; i++){
    var el = $('<div class="dot"></div>'); 
    var x = Math.sin(i * (Math.PI/180)) * 100;
    var y = i + 200;
    el.css({ 'left' : x+'px' , 'top':y+ 'px'});
    $('#main').after(el); 
  } 
});​

これが変更を示すjsfiddleです

于 2012-09-11T20:45:54.913 に答える