Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Дз. Программирование. Питон. Пакет numpy

Вадим Тюрин Знаток (345), на голосовании 1 месяц назад
Пожалуйста напишите код. Используя библеотеки numpy и matlib
Даны три точки А(1,2,0), В(3,2,1) и С(-2,1,2). Вычислите площадь треугольника АВС по известной формуле S=a*b*sinª/2.
Результат проверьте с помощью свойства векторного произведения.
Голосование за лучший ответ
ParazID Оракул (70726) 2 месяца назад
 import numpy as np 

# Даны три точки
A = np.array([1, 2, 0])
B = np.array([3, 2, 1])
C = np.array([-2, 1, 2])

# Векторы AB и AC
AB = B - A
AC = C - A

# Длины векторов AB и AC
AB_length = np.linalg.norm(AB)
AC_length = np.linalg.norm(AC)

# Скалярное произведение AB и AC
dot_product = np.dot(AB, AC)

# Угол между векторами через косинус
cos_theta = dot_product / (AB_length * AC_length)

# Синус угла (через тригонометрическое тождество: sin^2(theta) + cos^2(theta) = 1)
sin_theta = np.sqrt(1 - cos_theta**2)

# Площадь треугольника через формулу S = 1/2 * |AB| * |AC| * sin(theta)
S = 0.5 * AB_length * AC_length * sin_theta

# Результат
print(f"Площадь треугольника ABC через синус: {S}")
Вадим ТюринЗнаток (345) 2 месяца назад
А проверку с помощью свойства векторного произведения можете написать?
Похожие вопросы