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

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

06.01.2013, 22:29. Показов 41097. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД 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-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru