Найти а от len(a)

Есть противолажащий катет равный 10. Есть а гипотенуза равная 20 (пусть это некая len(a)). Как с помощью math найти угол 20? Подумал что это math.tan(), но нет.


Ответы (1 шт):

Автор решения: entithat

Допустим у нас есть такой треугольник. Нам известна длинна AB = 20, AC = 10.

  A
  |\
  | \
10|  \ 20
  |   \
  |____\
  C     B

Можем найти угол А, cos(A) = AC / AB, т.е. cos(A) = 10 / 20. Теперь зная это можно найти угол с помощью арккосинуса.

import math

ac = 10
ab = 20

print(math.acos(ac / ab) * 180 / math.pi) # 60 градусов

Соответственно можно уже найти остальные углы (сумма 180) в треугольнике.

img


Чтобы найти тангенс угла, считаем по формуле: tg = sin / cos. Допустим мы не хотим искать второй катет.

1 = sin^2 + cos^2 - выходим из этого. У нас есть косинус. Ищем синус теперь.

sin = math.sqrt(1 - cos^2) - нашли синус. Ищем тангенс.

tg = math.sqrt(1 - (ac / ab) ** 2) / (ac / ab)

img

→ Ссылка