2013-09-03 6 views
3

삼각형의 각도를 다음과 같이 찾으려고합니다. 90 도가되어야한다는 것을 알고 있지만 실제로 다음과 같이 계산하는 방법을 모르겠습니다.삼각형 파이썬 각도 계산

여기

enter image description here

내가 무엇을 시도했다입니다 : 내가 잘못 뭐하는 거지

angle = math.cos(7/9.899) 
angleToDegrees = math.degrees(angle) 

returns: 43.XX 

?

+0

이것은 A와 C 사이의 각도를 제공합니다. 코사인의 법칙을 살펴보십시오. – Teepeemm

+0

''tan'을 사용하면 좀 더 가까이 갈 수 있습니다 ...'x = math.tan (7/7)'그리고'math.degrees (x)'는'89.2328896038'를 반환합니까? 왜 이걸 90 세가 안되니? –

+0

단일 삼각 함수는 이미 삼각형에 직각이 있고 다른 각도를 찾으려고 할 때만 작동합니다. 'math.tan'은 라디안을 취해 비율을줍니다. 'math.degrees'는 라디안을 취해서 학위를줍니다. 거의 90 세를주는 것은 우연입니다. – Teepeemm

답변

10

다소 복잡합니다. law of cosines

>>> A = 7 
>>> B = 7 
>>> C = 9.899 
>>> from math import acos, degrees 
>>> degrees(acos((A * A + B * B - C * C)/(2.0 * A * B))) 
89.99594878743945 

이것은 유효 숫자 4 자리까지 정확합니다. 보다 정확한 C 값을 제공하면보다 정확한 결과를 얻을 수 있습니다.

>>> C=9.899494936611665 
>>> degrees(acos((A * A + B * B - C * C)/(2.0 * A * B))) 
90.0 
+0

위대한 일을했다면 조금 더 설명해도 괜찮겠습니까? –

+1

@ShannonHochkins, 설명을 보려면 wikipedia 링크를 클릭하십시오. 이 사이트의 주제가 아닙니다. –

+1

주제가 아닌 이유는 무엇입니까? 나는 이것을 계산하는 방법을 물었고, 대개 답은 단지 코드가 아니라 설명이 더 좋은 때가 가장 좋습니다. –

0

나는 math.acos가 math.cos가 아닌 것을 찾고 있다고 생각하는데, 그 값이 그 두면의 비율 인 각도를 반환하고자합니다. 그것의 코사인을 취하지 말라.

+0

이것은 방금 심지어 45.00 –

+0

의 기능을 제공합니다. 90 도의 각을 가지고 있고 다른 각도에 관심이 있다면 사용할 수 있습니다. – Teepeemm

+0

@Teepeemm trig funcs는 모든 삼각형에 해당하며, 90deg 각도가 포함되면 더 간단합니다. – TehTris

0

Trig 함수는 각도를 특정 삼각형의 특정 다리 길이로 변환합니다. 특히 접선은 인접면과 반대면의 비율입니다. math.tan(7/7)은 1 (= 7/7) 라디안 각도의 반대편에있는 직각 삼각형의 길이입니다. 이 길이 (~ 1.557)는 단지 90도 (pi/2 ~ 1.571) 인 라디안 수에 가까워집니다.

앞에서 설명한 것처럼 길이를 각도로 다시 변환하는 역 삼각 함수를 찾고 있습니다.

+0

은 math.degrees가하는 것과 다릅니다. 라디안을 각도/각도로 변환 –

+0

라디안을 도수로 변환합니다. 그러나 tan (1)은 처음부터 라디안이 아닙니다. 라디안으로 취급한다는 사실은 잘못입니다. – Teepeemm