Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Геометрическая задача C++
СообщениеДобавлено: 16 май 2018, 21:30 
Не в сети
Начинающий
Зарегистрирован:
06 май 2018, 16:12
Сообщений: 37
Cпасибо сказано: 5
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Помогите пожалуйста решить данную задачу. Заранее спасибо!
Изображение

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 16 май 2018, 21:48 
Не в сети
Последняя инстанция
Зарегистрирован:
06 дек 2014, 09:11
Сообщений: 7070
Cпасибо сказано: 115
Спасибо получено:
1662 раз в 1508 сообщениях
Очков репутации: 283

Добавить очки репутацииУменьшить очки репутации
Пусть у нас есть прямая [math]ax+by+c=0[/math] и точки [math](x_1,y_1)[/math] и [math](x_2,y_2)[/math]
Тогда, если [math](ax_1+by_1+c)(ax_2+by_2+c)> 0[/math], то эти точки находятся в одной полуплоскости относительно нашей прямой, если [math](ax_1+by_1+c)(ax_2+by_2+c)< 0[/math], то в разных.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 16 май 2018, 22:09 
Не в сети
Начинающий
Зарегистрирован:
06 май 2018, 16:12
Сообщений: 37
Cпасибо сказано: 5
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
swan
а как это поможет разбить все точки на 4 группы?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 17 май 2018, 05:52 
Не в сети
Последняя инстанция
Зарегистрирован:
06 дек 2014, 09:11
Сообщений: 7070
Cпасибо сказано: 115
Спасибо получено:
1662 раз в 1508 сообщениях
Очков репутации: 283

Добавить очки репутацииУменьшить очки репутации
evlucid, что совсем никак, да?

Ну извините. Разжёвывать, как маленькой ляле, не в моей привычке.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 18 май 2018, 15:55 
Не в сети
Начинающий
Аватара пользователя
Зарегистрирован:
11 май 2018, 17:18
Сообщений: 6
Cпасибо сказано: 1
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Что означает "Решение не должно содержать явных циклов"? Можно ли при этом использовать рекурсию как цикл? Если нет, при этом, если последовательность точек не упорядочена, как можно "записать их в отдельные последовательности" без какого либо перебора? =\

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 18 май 2018, 21:17 
Не в сети
Light & Truth
Зарегистрирован:
02 дек 2016, 22:55
Сообщений: 5208
Cпасибо сказано: 341
Спасибо получено:
924 раз в 873 сообщениях
Очков репутации: 131

Добавить очки репутацииУменьшить очки репутации
Тоже не понимаю, что есть явный цикл. For, что ли?
Можно сделать так, как swan предлагает. Но проще, кмк, вычислив координаты вершин четырёх треугольников при вершинах прямоугольника (на это уйдёт один цикл по всем точкам), вторым циклом для каждой точки определять, попадает ли она в один из этих треугольников. Критерий попадания несложен, чем-то напоминает условие, приведённое swan'ом для двух точек и прямой.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 18 май 2018, 21:52 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 3268
Cпасибо сказано: 263
Спасибо получено:
417 раз в 407 сообщениях
Очков репутации: 51

Добавить очки репутацииУменьшить очки репутации
Похоже на систему ограничений (система линейных неравенств) целевой функции в задаче линейного программирования.

Изображение

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 18 май 2018, 21:56 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 3268
Cпасибо сказано: 263
Спасибо получено:
417 раз в 407 сообщениях
Очков репутации: 51

Добавить очки репутацииУменьшить очки репутации
Зная крайние точки (вершины) многоугольника нетрудно составить систему линейных неравенств, определяющих его. А там можно будет выявлять точки, не входящие в область многоугольника, и точки, находящиеся в рамках определённого многоугольника.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 21 май 2018, 16:53 
Не в сети
Начинающий
Зарегистрирован:
06 май 2018, 16:12
Сообщений: 37
Cпасибо сказано: 5
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Booker48
Можно ли использовать такой способ? Предположим, у нас есть 3 точки: А(х1,у1), Б(х2,у2), С(х3,у3). Через точки А и Б проведена прямая. И нам надо определить, как расположена точка С относительно прямой АБ. Для этого вычисляем значение:
D = (х3 - х1) * (у2 - у1) - (у3 - у1) * (х2 - х1)
- Если D = 0 - значит, точка С лежит на прямой АБ.
- Если D < 0 - значит, точка С лежит слева от прямой.
- Если D > 0 - значит, точка С лежит справа от прямой.
И еще, если нетрудно, подскажите пожалуйста, как сделать списки которые я потом должен вывести? То есть буквально как добавлять элементы в списки? Просто я занимался на Scheme, а в этом семестре перевелся на другое направление где занимаются с++ и немного отстаю по программе. Спасибо

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Геометрическая задача C++
СообщениеДобавлено: 02 июн 2018, 08:54 
Не в сети
Гений
Зарегистрирован:
02 июн 2018, 08:50
Сообщений: 659
Cпасибо сказано: 21
Спасибо получено:
105 раз в 103 сообщениях
Очков репутации: 16

Добавить очки репутацииУменьшить очки репутации
На мой взгляд можно точки представить в виде структур, каждое имеет 3 поля, координаты X Y и определяемое логическое true (попадание) или false. А принадлежность области определить набором условий, каждое из условий это сравнение с координатами по Х и Y каждой из линий. Если все проверки закончатся как true, значит точка попала в область.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ Сообщений: 10 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Геометрическая задача

в форуме Геометрия

Apropl

1

274

03 фев 2019, 14:57

Геометрическая задача

в форуме Геометрия

andruum

3

390

07 дек 2015, 22:42

Геометрическая задача

в форуме Дифференциальное исчисление

Nzinulla

1

276

18 фев 2019, 19:21

Геометрическая задача

в форуме Геометрия

encelad

5

618

09 окт 2016, 20:23

Геометрическая задача

в форуме Задачи со школьных и студенческих олимпиад

Djalil

7

489

06 май 2018, 16:44

Геометрическая задача

в форуме Геометрия

Andreww

2

303

28 фев 2018, 23:17

Геометрическая задача

в форуме Геометрия

kicultanya

4

501

26 дек 2016, 09:11

Прикладная геометрическая задача

в форуме Геометрия

eugend1980

1

170

11 сен 2022, 10:28

Геометрическая задача на экстремум

в форуме Дифференциальное исчисление

H0las

1

236

18 дек 2016, 22:51

Уравнение и геометрическая задача

в форуме Тригонометрия

vladislavicus

1

420

16 июн 2014, 14:30


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved