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

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

06.01.2013, 22:29. Показов 40951. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru