Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 16, 2016 19:46:39

Inna90
Зарегистрирован: 2016-10-09
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

Moduł Math, pyton

Как решить задачу:
Убедитесь, что точка (4,4) лежит внутри круга с центром (0,0) и диаметром 8.

Офлайн

#2 Окт. 16, 2016 21:01:47

Vladiik
Зарегистрирован: 2016-10-15
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Moduł Math, pyton

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)

Отредактировано Vladiik (Окт. 16, 2016 21:02:09)

Офлайн

#3 Окт. 17, 2016 01:32:48

wi34rd
Зарегистрирован: 2016-10-08
Сообщения: 89
Репутация: +  2  -
Профиль   Отправить e-mail  

Moduł Math, pyton

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

Определяем расстояние точки от начала координат при помощи теоремы Пифагора и смотрим меньше ли оно радиуса окружности.

Отредактировано wi34rd (Окт. 17, 2016 01:44:30)

Офлайн

#4 Окт. 17, 2016 03:18:49

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Moduł Math, pyton

 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

Отредактировано scidam (Окт. 17, 2016 03:22:27)

Офлайн

#5 Окт. 17, 2016 14:52:46

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Moduł Math, pyton

scidam
  
print check(0, 0, 4, 4, 8)
Неправильно подал. Надо подать точку (4; 4) и проверять в окружности ((0; 0), 8 / 2).

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

scidam написал уравнение ГМТ внутри функции, но неправильно передал координаты и радиус в вызове.
Надо
  
check(4, 4, 0, 0, 8 / 2.0)



Отредактировано py.user.next (Окт. 18, 2016 02:02:10)

Офлайн

#6 Окт. 17, 2016 15:04:21

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Moduł Math, pyton

py.user.next

scidam написал уравнение ГМТ, но неправильно передал координаты и радиус.
Да, действительно, виноват…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version