2011-12-09 54 views
1

我想了解三角學和簡短的答案是,我沒有。關於正弦在編程

我畫了一個小小的三角形,並且問自己這個問題:「如果我知道斜邊的長度和角度,我如何找到其他邊緣的長度?」。

然後我開始閱讀。顯然,角度A的正弦應該等於對邊的長度除以斜邊的長度。所以我認爲,使用一個直角三角形,將斜邊的長度乘以角度的正弦,就可以得到相反一側的長度。

1.414/1 = .707blahblah * 1.414 = 1在我的計算器上。

但是,在每一種編程語言中,我嘗試罪惡(45.0)等於.8somethingsomething。我嘗試過C++,c#,java,php和lua。

輸入是否被解釋爲度數?什麼單位正在使用,如何轉換?我已經看到了Radians這個詞,如果有人能夠解釋Radian是什麼,這將會很有幫助。

回答

3

弧度是角度測量的單位,例如度數,但圓圈中有360度時,圓中有2 * pi(約6.28)弧度。您可以通過180

的公式工作如果三角形是直角三角形,由PI(3.14159),並劃分乘以轉換爲弧度,是的,大多數編程語言期望弧度而不是度作爲參數傳遞給函數如sin()cos()

關於以下注釋中的參數:如果您修復角度< BAC,AB和BC,可以看到C點有兩個可能的位置,它們保留BC的長度D2。因此< BAC,D1和D2做了而不是完全確定了一個三角形。

+0

但是,無論三角形是否爲直角三角形,方程都有效。 –

+0

@ IgnacioVazquez-Abrams:當然。取決於你所知道的。你需要知道兩邊和它們之間的角度,或者兩個角度和它們之間的邊,以確定一個三角形。如果你表面上只知道一個角度和一個直角三角形的斜邊,那麼你實際上知道所有三個角度,所以你們都已經設定好了。 –

+0

其實,你不需要「之間」;三個角度以外的三個角度的任意組合可以讓您足以確定其他三個角度。 –

1

sin函數的輸入通常以弧度而不是度數表示。例如,在Java documentationsin它指出:

參數: 一個 - 的角度,弧度。/

轉換角度以度爲弧度第一,通過PI乘以180

0

是,你是正確的。這些功能都以弧度輸入,而不是度數。

您可以將度數乘以π/ 180來將度數轉換爲弧度。

1

A radian是圓周半徑的距離。由於圓的周長是其半徑的π倍,因此在一個完整的圓中有2倍的π弧度。

0

轉換爲弧度:弧度=度/ 180 * PI

+1

看那些括號...... –

+0

你是什麼意思? –

+0

如果沒有指定編程語言,我們無法確定您是指「度/(180 * pi)」還是「(度/ 180)* pi」。 –

0

爲了從度轉換爲弧度,180除以在多少度,並通過PI繁殖。