|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.11.2019, 15:25 | #1 |
Новичок
Джуниор
Регистрация: 07.11.2019
Сообщений: 1
|
Помогите разделить точки на две группы
Всем привет! Нужна помощь.
Мне даны 4 точки A, B, C, D и прямая GK. GK может лежать как угодно (Не обязательно параллельно одной из осей). Точки A, B, C, D могут вводиться в любой последовательности. Т.е. может быть A, B с одной стороны GK, а C, D с другой, а может и A,C с одной стороны, а B,D с другой. Необходимо разбить точки на две группы. Первая группа с одной стороны GK, вторая группа с другой стороны GK. Как разбить точки на две группы? Координаты всех точек известны (A,B,C,D,G,K). |
07.11.2019, 16:05 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,515
|
программа — запись алгоритма на языке понятном транслятору
|
07.11.2019, 16:34 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,534
|
Поскольку язык программирования не указан, сталбыть нужна только идея.
Из каждой точки на прямую опускаем перпендикуляры (см. #2), находим точки пересечения их с заданной прямой. Теперь ищем разность координыты "нашей" точки и точки пересечения и разгоняем их по группам: + в одну сторону, - в другую. Разность другой координаты можно не смотреть -- они линейно зависимы. |
08.11.2019, 08:22 | #4 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Если прямая задана в виде y=что-то(x), то все, что y[проверяемой точки]<что-то(x[проверяемой точки]) будет с одной ее стороны, y[проверяемой точки]>что-то(x[проверяемой точки]) - с другой.
|
08.11.2019, 09:50 | #5 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
08.11.2019, 11:41 | #6 | ||
Старожил
Регистрация: 04.02.2011
Сообщений: 4,534
|
Pavia
Замысловато. Кто бы объяснил темному, что за компонент Segment ? Из какой оно либы ? Не Delphi-подобной - однозначно. alexcoder Цитата:
Цитата:
Последний раз редактировалось digitalis; 08.11.2019 в 11:52. |
||
09.11.2019, 10:09 | #7 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
"Мне даны 4 точки A, B, C, D и прямая GK." В общем случае прямая как раз и будет линейной функцией kx+b. Частный случай x=const в расчет не берем)
|
09.11.2019, 14:42 | #8 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
09.11.2019, 18:41 | #9 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,534
|
Так вроде это же не встроенный, а пользовательский тип, и пока он не был определен - ничего не было понятно. А так - сразу видно, что он как бы и не нужен для более чем элементарной задачки - но это мое личное мнение.
ТСу выбирать - какой метод применить #3,#4 или зупер-сверх-научный. Я бы ему последнее - не рекомендовал: а вдруг препод спросит :" А что это у тебя тут? Ты хоть не то, что объяснить - прочесть это сможешь?" Последний раз редактировалось digitalis; 09.11.2019 в 18:48. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на паскале: Разделить элементы массива на 2 группы так, что бы разность между ними была минимальна. | Rhc | Помощь студентам | 27 | 31.12.2013 15:04 |
Разделить строку символов на n группы | Luchia | C# (си шарп) | 6 | 14.12.2011 14:47 |
Помогите разделить текст... | EugeneIsmatulin | Общие вопросы Delphi | 3 | 26.05.2009 15:54 |
как разделить данные на две группы по частоте встречаемости параметра | e_khomchenko | Microsoft Office Excel | 9 | 05.02.2008 20:34 |
помогите разделить | Alar | Общие вопросы Delphi | 9 | 14.11.2006 06:13 |