|
0 / 0 / 0
Регистрация: 08.02.2020
Сообщений: 3
|
||||||
Определить, лежат ли точки внутри треугольника12.02.2020, 10:43. Показов 5720. Ответов 70
Метки нет (Все метки)
Даны координаты вершин треугольника и координаты двух точек. Определить, лежат
ли они внутри треугольника. Для решения задачи разработайте функции для случаев двумерного и трехмерного пространств. Есть код, но нужны разъяснения, как он работает
0
|
||||||
| 12.02.2020, 10:43 | |
|
Ответы с готовыми решениями:
70
Определить 3 точки, являющиеся вершинами треугольника, для которых разность точек вне е го и внутри является минимальной. Заданы две точки (х1, у1), (х2, у2). Определить, лежат ли обе точки относительно заданной прямой в одной полуплоскости Определить лежат ли точки на заданной прямой |
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
||||||
| 13.02.2020, 15:13 | ||||||
0
|
||||||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 13.02.2020, 15:15 | |
|
Да и Вашем примере Вы ищете точки исключительно с целыми координатами.
Вы всегда собираетесь работать в пространстве целых чисел? А как быть с точками, которые не являются целыми? Добавлено через 1 минуту alexu_007, не придирайтесь. Просто переменная детерминанта записана рядом с координатами.А комментарий остался старый
0
|
|
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
||||||
| 13.02.2020, 15:44 | ||||||
не принадлежит точка треугольнику
0
|
||||||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 13.02.2020, 15:59 | |
|
повар1, Координаты были взяты от фонаря.
![]() А в следующий раз, надо будет проверить точку с координатами, у которых 6 и более знаков после точки. Писать новую программу? Да и умножение, например, двух 6-значных чисел приведет к выходу из разрядной сетки int32_t... ![]() Приходим к int64_t ? Потом к int128_t? И самое главное: Нет универсальной программы! Каждый раз переписывать - как-то не камильфо! Или предложите сразу заложить int128_t? И все равно будут условия, при которых программа работать не будет! При этом речь идет только об этой задаче! А если надо будет найти, например, третью координату по двум остальным? Тут уж без деления никак не обойтись! А значит целые числа становятся беспомощны!
0
|
|
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
|
| 13.02.2020, 16:04 | |
|
liv, мы принцип обсуждаем, что возможно такое сделать. А так универсальное не есть очень хорошо. Под каждую задачу должно быть свое решение.
0
|
|
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
|
| 13.02.2020, 16:12 | |
|
повар1, а теперь поверните ваш треугольник на 30о вокруг вертикальной оси(ось y - вверх), проходящей через принадлежащую треугольнику точку. Математически точка по прежнему принадлежит треугольнику, а фактически?
Кликните здесь для просмотра всего текста
Для поворота умножьте точки треугольника на матрицу: , где с - cos(30o), s - sin(30o), xi, yi, zi - исходные координаты точек треугольника x, z - координаты точки, принадлежащей треугольнику, если я ничего не напутал
0
|
|
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
|
| 13.02.2020, 16:23 | |
|
zayats80888, Вы по трем точкам напишите уравнение плоскости подставьте туда координаты искомой точки и увидите ее принадлежность плоскости. Раз точка и треугольник принадлежат плоскости то задача сводится к вхождению точки в треугольник на плоскости и третья координата не нужна.
0
|
|
|
6354 / 3525 / 1428
Регистрация: 07.02.2019
Сообщений: 9,008
|
||
| 13.02.2020, 16:38 | ||
|
Кликните здесь для просмотра всего текста
Добавлено через 14 минут Попробую на пальцах. Отвлечемся от 3D. Перенесёмся в 1D. У нас есть числовая прямая, представляющая конечное множество чисел в машинном представлении. Для любого отрезка этой прямой мы можем абсолютно точно определить принадлежность какой либо другой точки нашей прямой, причем эта точность будет и математической, так как используем нестрогое равенство(неравенство) для определения принадлежности. А теперь перенесёмся в 2D. У нас теперь плоскость из конечного множества точек, НО для большинства отрезков этой плоскости получится так, что они будут содержать только 2 точки - начало и конец отрезка, т.е. не будут пересекать ни одной другой точки нашей "машинной" плоскости. Потому что используется строгое равенство, для определения принадлежности. Для 2D/3D и треугольника - аналогично.
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
|
|
| 13.02.2020, 16:45 | |
|
повар1, вы подогнали условие под решение. Не исключено, что тесты ТСа оно пройдет. Но мы-то рассматриваем более общую задачу - практическое применение.
А практическое применение у подобных задач в основном трехмерная графика, либо физика. то есть мало того, что неизвестны диапазоны входных чисел (как задаст пользователь, так и будет), но и вокруг данной задачи будут другие расчеты. Скажем, определение коллизии (пересечения) игроком полигона. Отсюда и неявные предпосылки использования чисел с плавающей точкой и, соответственно, ограниченной точностью.
1
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 13.02.2020, 18:01 | |
|
Рассмотрим кубическую целочисленную решетку. (микроны или парсеки - не суть). И проведем через три точки этой решетки плоскость. Зададимся вопросом - сколько точек решетки попадет в образовавшийся треугольник? Имхо, немного. И решение этого вопроса (о количестве точек) лежит в области элементарной теории чисел (делимости там всякие)
![]() Добавлено через 2 минуты Если в объеме (трехмерности) этот вопрос сложноват, можно рассмотреть его двумерный аналог. Это будет отрезок, на который должны попасть точки двумерной решетки.
0
|
|
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 13.02.2020, 18:31 | ||
|
Только вот, такое решение этой задачи не несет НИКАКОЙ практической ценности! Т.к. в реальности не будет таких идеальных условий! Видать, Вам не приходилось сталкиваться с реальными задачами... Перечитайте пост №49. Подписуюсь под каждым словом...
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 13.02.2020, 19:06 | ||
|
А любой компутер (и даже их объединение) - это всего лишь КОНЕЧНЫЙ автомат. (в отличии от машины Тьюринга, которая будучи произведением ума человеческого, а не нагромождением железяк, является автоматом БЕСКОНЕЧНЫМ). И как любой конечный автомат, он (комп) может работать только с целыми числами, да и то не со всеми (ибо всех, опять же - бесконечно). И важно понимать, что тип double - это симуляция. Часто весьма полезная. И в конце концов понять, что действительные числа в компьютере не представимы. Никак. И приходится иметь дело с их конечными представлениями (ибо просто больше не с чем). И поглядывать на "академиков", на их замечательные формулы, с легким прищуром. Возможно, все, что я сказал - вполне тривиально. Более того, это кажется вполне тривиальны и мне самому. Но сказать почему-то захотелось.
0
|
||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 13.02.2020, 19:12 | |
|
Байт, все правильно сказано
0
|
|
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
||||
| 13.02.2020, 19:20 | ||||
|
0
|
||||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
| 13.02.2020, 19:42 | |
|
повар1, а черчение за кульманом и расчет на компьютере отличается только точностью.
И в том, и в том случае можно говорить о попадании только в пределах, заданных определенным допуском. Вы же сами говорите, что на ватмане точно указать 0.(3) невозможно ![]() Как раз об этом мы и говорим. В реальных задачах приходится работать с некоторой погрешностью. Вышеприведенная программа представляет собой идеальную модель, чего в реальности не бывает. Приходится использовать числа с плавающей точкой. Которые в силу своей специфики являются приближенными. А по сему, без учета погрешности никак не обойтись.
0
|
|
|
738 / 705 / 110
Регистрация: 29.05.2015
Сообщений: 4,362
|
|
| 13.02.2020, 20:30 | |
|
0
|
|
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
||
| 13.02.2020, 20:45 | ||
|
Добавлено через 5 минут если m=0 то точка принадлежит заданной плоскости
0
|
||
| 13.02.2020, 20:51 | |
|
Не по теме: Простите, господа. Но вот я вспомнил таку поговорочку. "Что в лоб, что по лбу". Скорее всего, я не очень понимаю ее эзотерический смысл.
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
|
|||
| 13.02.2020, 20:58 | |||
|
0
|
|||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 13.02.2020, 21:06 | |
|
0
|
|
| 13.02.2020, 21:06 | |
|
Определить лежат ли две точки в одной координатной четверти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|