2014-09-24 7 views
2

? 내가 가끔 앞에 마이너스 라디안에 대한 번호를보고하고 0과 6.2 사이에 있지만, 자바 스크립트에 이르기까지 또한라디안에있다 나는 바이올린</p> <p>여전히 중복입니다 내가 중복 모든 라인을보고 왜 심지어 내가 정도에서 라디안을 구성 할 때있는 이유 <a href="http://jsfiddle.net/roLLqfs6/1/" rel="nofollow noreferrer">http://jsfiddle.net/roLLqfs6/1/</a></p> <p>질문을 구축 한 확인 45

var radians = 90 * (Math.PI/180); //90 degrees if I'm not mistaken 

이 차트 쇼 라디안. (예 : -3.0924735724101273) 그게 뭐예요?

enter image description here

그리고 이것은 올바른 마이너스

enter image description here

보여줍니다 (I 둘 다한다고 가정하지만 난 내 자신이 범위는 실제로 무엇을 혼동 발견하고)

+0

Javascript의 수학 메서드는 -Math.PI와 + Math.PI 사이의 라디안을 반환합니다. 네거티브 각도가 두 번째 이미지에서 해석되는 방식과 정확히 마찬가지로 음수 라디안을 해석합니다. 이것은 삼각 함수가 주기적이기 때문에 가능합니다. –

+0

괜찮 으면 +/- 범위 란 무엇입니까? – 8DK

+0

앞에서'c.lineTo'는'c.moveTo (0,0);'를 사용합니다 (두번째'cos'에서'sin'). [FIDDLE] (http://jsfiddle.net/Ladvzxs4/) – DanFromGermany

답변

3

때문에 Y 좌표의 경우 Math.cos() 대신 Math.sin()을 곱해야합니다.

for (var i = 0; i < r.length; i++) { 
    c.lineTo(
     100 + 100 * Math.cos(r[i]), 
     100 + 100 * Math.sin(r[i]) 
    ); 
} 
+0

지정하지 않으면 각 행의 "시작 지점"은 마지막 줄이 끝난 곳이 맞습니까? – DanFromGermany

+1

네가 맞아. – 8DK

1

는 모두 x와 y 축 모두에서 이동, 배와 Math.cos 전화 때문입니다 jsFiddle 업데이트를 참조하십시오. 그래서 당신은 항상 대각선을 그릴 것입니다. 두 번째 호출을 Math.sin으로 변경하십시오.

for(var i=0;i<=r.length-1;i++){ 
    c.lineTo(
     100+(100)*Math.cos(r[i]), 
     100+(100)*Math.sin(r[i]) 
    );}