Написати програму мовою Phyton: Задача. Дани дійсні числа x1, x2, x3, y1, y2, y3. Чи належить початок координат трикутнику з вершинами (x1,y1), (x2,y2), (x3,y3)?
Ответы
Ответ:
from math import sqrt
def S(a,b,c,d,e,f):
s1 = sqrt((a - c) ** 2 + (b - d) ** 2)
s2 = sqrt((a - e) ** 2 + (b - f) ** 2)
s3 = sqrt((c - e) ** 2 + (d - f) ** 2)
p = (s1 + s2 + s3) / 2
return(sqrt(p * (p - s1) * (p - s2) * (p - s3)))
x1, x2, x3, y1, y2, y3 = list(map(float, input().split()))
if S(x1, y1, x2, y2, x3, y3)>=S(0, 0, x2, y2, x3, y3) + S(x1, y1, 0, 0, x3, y3) + S(x1, y1, x2, y2, 0, 0):
print('принадлежит')
else:
print('не принадлежит')
Объяснение:
если точка начала координат лежит внутри треугольника, то площадь треугольника с вершинами в точках с координатами (x1, y1), (x2, y2), (x3, y3) равна сумме площадей 3 треугольников с вершинами в точках с координатами (0, 0), (x2, y2), (x3, y3); (x1, y1), (0, 0), (x3, y3) и (x1, y1), (x2, y2), (0, 0)
ввод чисел x1, x2, x3, y1, y2, y3 в 1 строку через пробел
вычисление площади осуществляется с помощью функции
если точка начала координат лежит на границе (стороне или в вершине треугольника), то она считается принадлежащей треугольнику