|
0 / 0 / 0
Регистрация: 08.02.2020
Сообщений: 3
|
||||||
Определить, лежат ли точки внутри треугольника12.02.2020, 10:43. Показов 5400. Ответов 70
Метки нет (Все метки)
Даны координаты вершин треугольника и координаты двух точек. Определить, лежат
ли они внутри треугольника. Для решения задачи разработайте функции для случаев двумерного и трехмерного пространств. Есть код, но нужны разъяснения, как он работает
0
|
||||||
| 12.02.2020, 10:43 | |
|
Ответы с готовыми решениями:
70
Определить 3 точки, являющиеся вершинами треугольника, для которых разность точек вне е го и внутри является минимальной. Заданы две точки (х1, у1), (х2, у2). Определить, лежат ли обе точки относительно заданной прямой в одной полуплоскости Определить лежат ли точки на заданной прямой |
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,326
|
||||||
| 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
|
|
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 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
|
|
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
||
| 13.02.2020, 16:38 | ||
|
Кликните здесь для просмотра всего текста
Добавлено через 14 минут Попробую на пальцах. Отвлечемся от 3D. Перенесёмся в 1D. У нас есть числовая прямая, представляющая конечное множество чисел в машинном представлении. Для любого отрезка этой прямой мы можем абсолютно точно определить принадлежность какой либо другой точки нашей прямой, причем эта точность будет и математической, так как используем нестрогое равенство(неравенство) для определения принадлежности. А теперь перенесёмся в 2D. У нас теперь плоскость из конечного множества точек, НО для большинства отрезков этой плоскости получится так, что они будут содержать только 2 точки - начало и конец отрезка, т.е. не будут пересекать ни одной другой точки нашей "машинной" плоскости. Потому что используется строгое равенство, для определения принадлежности. Для 2D/3D и треугольника - аналогично.
0
|
||
|
4147 / 2725 / 433
Регистрация: 09.09.2017
Сообщений: 12,074
|
|
| 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
|
|
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,326
|
|
| 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
|
|
|
4147 / 2725 / 433
Регистрация: 09.09.2017
Сообщений: 12,074
|
|||
| 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 | |
|
Определить лежат ли две точки в одной координатной четверти Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|