2013-05-27 7 views
0

나는 문제가 잘하면 누군가가 여기에 나를 도울 수있는 기능을 이해하는 데. 내가 자바 스크립트에서이에 대한 기능 스프로킷의 피치 직경을 찾기 위해 시도하고 있습니다 :이해 기능

function sprocket_diam(dataform,pitch,teeth) 
{ 



    var a,b,c,d,e; 

    a = pitch/2; 
    b = teeth * 2; 
    c = 360/b; 
    d = Math.sin ((c * Math.PI)/180); 
    e = (a/d) * 2 



    dataform.diam.value = e; 

} 

위의 기능은 단지 것이 아니라 내가 계산기에 손으로이 작업을 수행하려고로 작동합니다. 나는 문제가 d 변수에 있다고 생각한다. 예를 들어 내가 .5"의 피치와 15 치아 스프로킷이 있다고 할 수 있습니다. 위의 공식을 사용하여 내가 할 변수의 번호는 다음과 같습니다 a=0.25, b=30, c=12 등에 대한 d 내가 그렇게 나에게 2.388915432되는 끝 e=(0.25/.2093)*20.2093을 제공하지만 2.404867172372066 누군가가 지적 할 수는 있어야 오답 인 (12*3.14)/180을 내가 뭘 잘못하고 있니? 나는 항상 수학에 어려움을 겪어왔다.

+0

당신은 피치 확신 및 치아 복식입니까? – Ven

+0

@ user1737909 무슨 뜻인가요? 손 계산에 –

+1

, 그것은되어야 'E = (0.25/Math.sin 이런 (0.2093)) * 2' 아닌'E = (0.25/0.2093) * 2'. 이 변경으로,'Math.PI' 대신에 3.14를 사용하는 오류는 (2.404867172372066 대신에) 2.4060690729394008이됩니다. –

답변

3

당신은 부비동을 계산하지 않았다을 찾을 수 있습니다. (그 때문에, Math.sin)

+1

+1. 불일치의 대부분을 설명합니다. 나머지는 더 정확한'Math.PI' 대신에 3.14를 사용하는 것입니다. –

+1

예, 아마도 주요 오류 일 것입니다. +1 –

1

귀하의 오류가 3.14이 될 것 Math.PI 것처럼 당신이 할 것입니다.

당신이 Math.PI의 정확한 값을 사용하는 경우, 당신은 대신 12*Math.PI/180 == 0.20943951023931953을 얻을 0.2093 사용하고 마지막에 당신이 2.404867172372066

+0

나는 당신의 예제를 시험해 보았고'0.20943951023931953'을 얻었지만 대답은'2.3873241463784302557385799320236'이 될 것이다. – Yamaha32088

+1

나의 anwser 우상 읽기. –

+0

는 2.3873241463784302557385799320236''당신이 무엇을 주는가? 가지고있는 코드로 그걸 얻을 수있는 방법은 없습니다. –