Найти - Пользователи
Полная версия: Moduł Math, pyton
Начало » Центр помощи » Moduł Math, pyton
1
Inna90
Как решить задачу:
Убедитесь, что точка (4,4) лежит внутри круга с центром (0,0) и диаметром 8.
Vladiik
Inna90
Как решить задачу:Убедитесь, что точка (4,4) лежит внутри круга с центром (0,0) и диаметром 8.

 def check(x, y):
  if -8 < x < 8 and -8 < y < 8:
    return True
  else:
    return False
check(4,4)

wi34rd
Решение явно неверное, т. к. проверяет не лежит ли точка в пределах окружности с диаметром 8, а лежит ли точка в пределах квадрата со стороной 16.

Определяем расстояние точки от начала координат при помощи теоремы Пифагора и смотрим меньше ли оно радиуса окружности.
scidam
 def check(x, y, xc, yc, r):
    '''Returns True if a point (x, y) belongs to a circle (xc, yc, r), where xc,yc -- centre of a circle, r is radius.
    '''
    return (xc - x) ** 2.0 + (yc - y) ** 2.0 <= r ** 2.0
print check(0, 0, 4, 4, 8)
# True
А вообще, задача так детерминированно сформулирована, что напрашивается вопрос, а причем тут Python? 4*sqrt(2)<8, т.к. sqrt(2)<2
py.user.next
scidam
  
print check(0, 0, 4, 4, 8)
Неправильно подал. Надо подать точку (4; 4) и проверять в окружности ((0; 0), 8 / 2).

Inna90
Как решить задачу:
Круг - это геометрическое место точек (ГМТ). Есть разные ГМТ, они задаются уравнениями. Все точки (множество точек), координаты которых являются решением уравнения какого-то ГМТ, образуют это ГМТ. Для ГМТ в виде круга можно составить уравнение, а потом подставлять туда координаты точки, чтобы определить, принадлежит точка ГМТ или не принадлежит.

scidam написал уравнение ГМТ внутри функции, но неправильно передал координаты и радиус в вызове.
Надо
  
check(4, 4, 0, 0, 8 / 2.0)
scidam
py.user.next
scidam написал уравнение ГМТ, но неправильно передал координаты и радиус.
Да, действительно, виноват…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB