С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/209: Рейтинг темы: голосов - 209, средняя оценка - 4.52
0 / 0 / 1
Регистрация: 13.06.2012
Сообщений: 60

Определить, лежат ли три данные точки на одной прямой

06.01.2013, 22:29. Показов 41111. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны координаты трёх точек: (x1,y1),(x2,y2),(x3,y3)
Гарантируется , что они различны (не совпадают).
Определить: лежат ли они на одной прямой.

Добавлено через 1 час 10 минут
Написал формулу: (((x2-x1)*(y3-y2))-((x3-x2)*(y2-y1)))=0
Исходя из того, что
(x2-x1;y2-y1) - координаты вектора первого
(x3-x2;y3-y2) - координаты вектора второго
А косое произведение векторов равно нуля когда вектора лежат на одной прямой.
Но вот и сразу нашёл контрпример: (-8;2),(-3;-3),(-5;-1)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.01.2013, 22:29
Ответы с готовыми решениями:

Определить, лежат ли точки (a, b) и (c, d) на прямой L
Здравствуйте, необходима помощь в решении следующих задач: 1. Даны действительные числа a,b,c,d,s,t,u (s,t – одновременно неравны нулю)....

Определить, лежат ли точки на одной прямой
подскажите, я написал код, но если ввести координаты при которых точки не лежат на одной прямой, то он не выдает нужное мне сообщение var...

Выяснить лежат ли эти точки на одной прямой
Даны координаты трех точек на плоскости. Выяснить лежат ли эти точки на одной прямой. Вычисление расстояния между двумя точками оформить в...

16
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
06.01.2013, 23:10
Зачем вы векторы сюда приплели? Задача же в лоб решается. Берете любые две из этих точек, формируете уравнение прямой. Все три лежат на одной прямой тогда, и только тогда, когда третья точка удовлетворяет тому же уравнению.
0
0 / 0 / 1
Регистрация: 13.06.2012
Сообщений: 60
06.01.2013, 23:37  [ТС]
Цитата Сообщение от HighPredator Посмотреть сообщение
Зачем вы векторы сюда приплели? Задача же в лоб решается. Берете любые две из этих точек, формируете уравнение прямой. Все три лежат на одной прямой тогда, и только тогда, когда третья точка удовлетворяет тому же уравнению.
А как решать по другому? Вывел уравнение прямой проходящей через 2 точки (приложение).
Если подставляю в неё вместо x и y, координаты 3 точки(x3,y3), то получается надо только проверить равенство.
Протестировал, выполняется, но всегда ли будет выполнятся эта формула?
Миниатюры
Определить, лежат ли три данные точки на одной прямой  
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
06.01.2013, 23:43
Цитата Сообщение от Андрей1992 Посмотреть сообщение
Если подставляю в неё вместо x и y, координаты 3 точки(x3,y3), то получается надо только проверить равенство.
Совершенно верно. Остается только проверить равенство нулю.
Цитата Сообщение от Андрей1992 Посмотреть сообщение
но всегда ли будет выполнятся эта формула?
А подумать? Вспомнить школьный курс? Понимаете ли вы, что если у вас есть уравнение прямой, это означает, что все точки, принадлежащие прямой, удовлетворяют данному уравнению?
2
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
14.02.2014, 18:06
Можете подсказать, какой геометрический смысл данной программы?С меня требуют именно ответ на этот вопрос!
0
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
14.02.2014, 19:00
Цитата Сообщение от sergei3ru Посмотреть сообщение
Можете подсказать, какой геометрический смысл данной программы?С меня требуют именно ответ на этот вопрос!
Попробуйте обратиться в мат. раздел
0
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
14.02.2014, 19:03
Уже обратился!
0
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
15.02.2014, 00:12
Цитата Сообщение от sergei3ru Посмотреть сообщение
Уже обратился!
Не помогли?
0
21 / 18 / 4
Регистрация: 07.04.2010
Сообщений: 806
15.02.2014, 00:15
Ответ один очень подходит:
Берёте за базовую одну из точек, отнимаете её координаты от двух других точек. Получаете два вектора. Если все три точки лежат на одной прямой, то x1/x2 = y1/y2 = z1/z2.

Вот это ответ очень похож на истину, как раз то, что она требуем, но у меня вопрос от куда появились координаты z1 и z2, если у нас точки и вектора на плоскости, а не в пространстве или я что-то путаю?
1
 Аватар для skuns
2 / 2 / 2
Регистрация: 28.12.2014
Сообщений: 44
01.01.2015, 17:44
Выполнил задание следующим образом:

Java
1
2
3
4
5
6
7
8
9
10
    // Лежат ли 3 точки на одной прямой
    public boolean isLine(Point o2, Point o3) {
        if ( ((this.x-o3.x)/(o2.x-o3.x)) == ((this.y-o3.y)/(o2.y-o3.y)) ) {
            System.out.println("Точки лежат на одной прямой.");
                return true;
        } else {
            System.out.println("Точки не лежат на одной прямой.");
            return false;
        }
    }
Миниатюры
Определить, лежат ли три данные точки на одной прямой  
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.01.2015, 18:05
Вариант с делением самый плохой, поскольку в знаменателях может быть 0
0
 Аватар для skuns
2 / 2 / 2
Регистрация: 28.12.2014
Сообщений: 44
02.01.2015, 10:21
Спасибо, воспользуюсь предведущей формулой с умножением.

Java
1
2
3
4
5
6
7
8
9
10
    // Лежат ли 3 точки на одной прямой
    public boolean isLine(Point o2, Point o3) {
        if ( ((this.x-o3.x)*(o2.y-o3.y)) == ((o2.x-o3.x)*(this.y-o3.y)) ) {
            System.out.println("Точки лежат на одной прямой.");
                return true;
        } else {
            System.out.println("Точки не лежат на одной прямой.");
            return false;
        }
    }
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
04.01.2015, 18:40
У меня вопрос, а нельзя просто проверить длины отрезков? Т.е один из отрезков должен быть равен сумме других.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
04.01.2015, 18:43
Цитата Сообщение от Новичок Посмотреть сообщение
а нельзя просто проверить длины отрезков?
А кто сказал что это проще и быстрее? Нужно найти длины 3 отрезков и провести 3 сравнения.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
04.01.2015, 18:46
Просто имхо, так проще. Все решения что выше, мне кажутся более сложными.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
04.01.2015, 18:47
Если даны координаты трех точек, то
Pascal
1
if (x1-x3)*(y2-y3)-(x2-x3)*(y1-y3)=0 then write('Точки лежат на одной прямой');
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
04.01.2015, 18:49
А, ну значит есть более простой путь чем мой. Я не знал такой формулы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2015, 18:49
Помогаю со студенческими работами здесь

Выяснить, лежат ли две точки в одной полуплоскости относительно заданной прямой
Даны действительные числа x, y. Точки с координатами (x,y),(x,y),(x,y) расcматриваются как вершины первого треугольника, точки с...

По координатам трех точек на плоскости определить, лежат ли они на одной прямой
По координатам трех точек на плоскости определить, лежат ли они на одной прямой.

Выяснить лежат ли точки на одной прямой. Типизированный файлы(тип запись и файлы)
Помогите,пожалуйста!!!.Как сделать проргармму через файлы и записи? Вычисление свойств. Дана последовательность (файл) точек плоскости...

По координатам трех точек на плоскости (в пространстве) определить, лежат ли они на одной прямой
По координатам трех точек на плоскости (в пространстве) определить, лежат ли они на одной прямой.помогите. пожалуйста

Определить лежат ли точки на одной окружности с центром в точке О
Заданы координаты двух точек. Определить лежат ли они на одной окружности с центром в точке О(х0, у0).


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru