2014-07-09 4 views
-2

최근에 나는 사인과 코사인을 찾는 데이 코드를 사용합니다. 그러나 나는 주어진 문제에 대한 결과물/대답에 문제가있다. 친절하게도 저를 도와 주시고 주어진 숫자의 사인과 코사인을 찾는 적절한 코드를 보여 주시겠습니까?사인과 코사인 오류 응답시

Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim md1x, md1y, md2x, md2y, md3x, md3y, totalX, totalY, rv As Double 

    md1x = TextBox1.Text * Math.Cos(TextBox2.Text) 
    md1y = TextBox1.Text * Math.Cos(TextBox2.Text) 
    md2x = TextBox4.Text * (Cos(TextBox5.Text)) 
    md2y = TextBox4.Text * (Sin(TextBox5.Text)) 
    md3x = TextBox7.Text * (Cos(TextBox8.Text)) 
    md3y = TextBox7.Text * (Sin(TextBox8.Text)) 
    totalX = md1x + md2x + md3x 
    totalY = md1y + md2y + md3y 
    rv = Sqrt(totalX^2 + totalY^2) 

    TextBox16.Text = md1x 
    TextBox15.Text = md1y 
    TextBox14.Text = md2x 
    TextBox13.Text = md2y 
    TextBox12.Text = md3x 
    TextBox11.Text = md3y 
    TextBox10.Text = rv 
End Sub 

최종 클래스

+3

당신은 무엇을 기대합니까? 당신은 무엇을 얻습니까? –

+0

이 시점에 도착하면'TextBox'에 무엇이 있습니까? 우리가 볼 수없는 것을 디버깅 할 수는 없습니다 (최선의 추측은 Eric J의 대답입니다). – Teepeemm

+0

이 질문은 삼각 함수를 이해하지 못하기 때문에 주제와는 거리가 먼 것처럼 보입니다. – duffymo

답변

0

당신은 실제 문제가 있지만, 매우 일반적인 문제는 각도라디안 예상보다는

것이 무엇인지 명시하지 않는 각도 d는 라디안이어야합니다. 각도를 라디안으로 변환하려면 Math.PI/180을 곱합니다. 또한

http://msdn.microsoft.com/en-us/library/system.math.cos(v=vs.110).aspx

, TextBox2.Text는 (등)의 형태가 아닌 double 입력 string이다.

md1x = double.Parse(TextBox1.Text) * (Math.Cos(double.Parse(TextBox2.Text))) 

같은

시도 뭔가 이상의 오류 허용 오차를 들어, 구문 분석이 실패 할 경우 UI에 적절한 메시지를 제공하는 대신 double.TryParse를 사용할 수 있습니다.

참고 : double.Parse (...)는 C# 구문입니다. 나는 VB.Net 신택스가 비슷할 것으로 기대한다. 필요한 경우 누구나이 답변을 편집하여 구문을 수정하십시오.

+0

각도를 사용할 때 최적의 정확도를 원한다면 사인 또는 코사인 계산을 +/- 45도 범위의 값으로 변환 한 다음 결과 각도를 라디안으로 변환해야합니다. 이 접근법을 사용하면 Sin (x) = 0이 아닌 0이 아닌 라디안 수는 없지만 sinDegrees (180), CosineDegrees (90) 및 CosineDegrees (270)는 모두 0과 같습니다. Cos (x) = 0 인 임의의 표현 가능한 수의 라디안이 존재한다. – supercat

+0

좋아요, 시도했지만 출력은 0입니다. ( – johndave9296

+0

정확히 무엇을 시도했는지 보여주기 위해 질문을 수정하십시오. –