Форум программистов, компьютерный форум CyberForum.ru

Пренадлежит ли точка треугольнику - C++

Восстановить пароль Регистрация
 
 
Programer101
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 48
25.12.2013, 08:04     Пренадлежит ли точка треугольнику #1
Треугольник задан координатами вершин. Определить, принадлежит ли точка M(x,y) треугольнику.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2013, 08:04     Пренадлежит ли точка треугольнику
Посмотрите здесь:

C++ Треугольник задан вершинами (x1,y1), (x2,y2), (x3,y3). Принадлежит ли заданная точка (x,y) указанному треугольнику.
что происходит со старым конструктором когда я создаю новый, пренадлежащий производному типу? (первый конструктор пренадлежит базовому типу) C++
C++ принадлежит ли точка с координатами (x, y) треугольнику
C++ Дана точка A(x; y) на координатной плоскости. Определить, принадлежит ли она треугольнику с вершинами в точках .
Определить принадлежит ли точка треугольнику C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
25.12.2013, 08:17     Пренадлежит ли точка треугольнику #2
http://algolist.ru/maths/geom/belong/poly2d.php
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 08:18     Пренадлежит ли точка треугольнику #3
предлагаю такой способ (кстати на форуме есть уже и готовый код, нужно только поискать. но можете написать и сами, это не сложно):
если площадь основного треугольника равна сумме площадей трех треугольников, образованных точкой M и вершинами основного треугольника (т.е. первый треугольник: вершина M и первая и вторая вершина основного треугольника. второй треугольник: вершина M и вторая и третья вершина основного треугольника. третий треугольник: вершина M и первая и третья вершина основного треугольника.), то значит точка M принадлежит треугольнику.
0x10
25.12.2013, 08:20
  #4

Не по теме:

valeriikozlov, круто, но зачем велосипедить когда есть классический рабочий способ?

valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 08:21     Пренадлежит ли точка треугольнику #5
Цитата Сообщение от 0x10 Посмотреть сообщение
но зачем велосипедить когда есть классический рабочий способ?
с чего этот способ стал классическим?
0x10
25.12.2013, 08:25
  #6

Не по теме:

Стандартный, известный, как угодно. Пошли придирки к словам... Проехали.

valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 08:30     Пренадлежит ли точка треугольнику #7
Цитата Сообщение от 0x10 Посмотреть сообщение
Стандартный, известный, как угодно.
способ, который я показал, не менее стандартный и не менее известный. Велосипедом зря его называете, просто видимо Вы о нем не знали )
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
25.12.2013, 09:31     Пренадлежит ли точка треугольнику #8
Цитата Сообщение от valeriikozlov Посмотреть сообщение
способ, который я показал, не менее стандартный и не менее известный. Велосипедом зря его называете, просто видимо Вы о нем не знали )
Это скорее всего потому, что в общем случае придется сравнивать вещественные числа, что накладывает сущетвенные ограничения на этот метод, который может стать тот бомбой замедленного действия которая однажды опрокинет вашу программу и вам придется долго и нудно искать причину такого поведения. А все из-за чего - классические алгоритмы на то и классические, что позволяют избежать подобных сюрпризов.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
25.12.2013, 09:37     Пренадлежит ли точка треугольнику #9
Интересный способ, но разве не может существовать такой точки вне треугольника, которая образует три треугольника в сумме площадей образующих третий?
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
25.12.2013, 09:52     Пренадлежит ли точка треугольнику #10
castaway, существует. Если точки образующие треугольник лежат на одной прямой. Метод 0x10 сработает, а вот метод valeriikozlov'а нет.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 10:27     Пренадлежит ли точка треугольнику #11
Цитата Сообщение от castaway Посмотреть сообщение
Интересный способ, но разве не может существовать такой точки вне треугольника, которая образует три треугольника в сумме площадей образующих третий?
вне треугольника такой точки не может существовать.
Цитата Сообщение от Ilot Посмотреть сообщение
существует. Если точки образующие треугольник лежат на одной прямой. Метод 0x10 сработает, а вот метод valeriikozlov'а нет.
Тут Вы не правы. Если точки образующие треугольник лежат на одной прямой то это не треугольник. Читаем внимательно:
http://ru.wikipedia.org/wiki/%D2%F0%...EB%FC%ED%E8%EA
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
25.12.2013, 10:55     Пренадлежит ли точка треугольнику #12
Всё верно, способ рабочий. А сравнивать вещественные переменные надо в обеих методах.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 10:58     Пренадлежит ли точка треугольнику #13
Цитата Сообщение от Ilot Посмотреть сообщение
Это скорее всего потому, что в общем случае придется сравнивать вещественные числа, что накладывает сущетвенные ограничения на этот метод, который может стать тот бомбой замедленного действия которая однажды опрокинет вашу программу и вам придется долго и нудно искать причину такого поведения. А все из-за чего - классические алгоритмы на то и классические, что позволяют избежать подобных сюрпризов.
А Вы хотя бы смотрели алгоритм предложенный 0x10? Будете удивлены, но оказывается там тоже сравнивают вещественные числа )
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
25.12.2013, 11:29     Пренадлежит ли точка треугольнику #14
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Будете удивлены, но оказывается там тоже сравнивают вещественные числа )
Нет не буду. Так как в первом методе проверяется отношение двух вещественных чисел друг к другу, а в вашем проверяются на равенство.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
25.12.2013, 11:35     Пренадлежит ли точка треугольнику #15
C++
1
2
if ( sum_of_3 > area ) ... // не пренадлежит
else ... // пренадлежит
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 11:39     Пренадлежит ли точка треугольнику #16
Цитата Сообщение от Ilot Посмотреть сообщение
Так как в первом методе проверяется отношение двух вещественных чисел
где Вы там увидели отношение?
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
25.12.2013, 11:49     Пренадлежит ли точка треугольнику #17
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Тут Вы не правы. Если точки образующие треугольник лежат на одной прямой то это не треугольник. Читаем внимательно:
Зависит о постановки задачи и подхода к вопросу. Например в теории интеграла Кристоффеля -Шварца даже отрезки рассматриваются как двухугольники, но даже дело не в это. Первый метод более универсален и требует меньше затрат на вычисления.
Вы не подумайте, что я столь категоричен в своем мнении. Я не настолько глуп что бы на пустом месте перечить форумитам с многотысячной репутацией. Я высказал свои доводы. Что-то мне разъяснили (спасибо castaway), однако некоторые вопросы все равно остались открытыми. Опять же мое мнение.
Цитата Сообщение от valeriikozlov Посмотреть сообщение
где Вы там увидели отношение?
Имелось ввиду больше/меньше по отношению друг к другу. Думал это будет понятно...
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 12:12     Пренадлежит ли точка треугольнику #18
Цитата Сообщение от Ilot Посмотреть сообщение
Первый метод более универсален и требует меньше затрат на вычисления.
Давайте лучше посчитаем, чем голословно утверждать )
Вторым методом получается:
20 операций '-', 8 операции '*', 3 операции '+'.
Есть еще 4 операции деления на 2, но их можно опустить, сделать код без них.
И в конце одна операция сравнения.
А теперь посчитайте сколько первым методом каких операций будет проводится )

Добавлено через 57 секунд
Цитата Сообщение от Ilot Посмотреть сообщение
Имелось ввиду больше/меньше по отношению друг к другу.
больше 'делить' на меньше ?
что-то я такого не увидел )
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
25.12.2013, 12:38     Пренадлежит ли точка треугольнику #19
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Давайте лучше посчитаем, чем голословно утверждать )
Вторым методом получается:
20 операций '-', 8 операции '*', 3 операции '+'.
Есть еще 4 операции деления на 2, но их можно опустить, сделать код без них.
И в конце одна операция сравнения.
А теперь посчитайте сколько первым методом каких операций будет проводится )

Добавлено через 57 секунд

больше 'делить' на меньше ?
что-то я такого не увидел )
Просто нет слов. Может стоит иногда вместо доказательства своей правоты обратить внимание на суть того, что вам стараются донести, а выяснение отношений оставить школьникам?
p.S. В наилучшем 15. В наихудшем 39. Однако учитывая относительную редкость уникальных случаев амортизационное число операций 15.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 12:46     Пренадлежит ли точка треугольнику
Еще ссылки по теме:

Определить, принадлежит ли данная точка треугольнику C++
C++ как в c++ проверить пренадлежит ли переменная определенному типу?
C++ Определить принадлежит ли точка треугольнику

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2013, 12:46     Пренадлежит ли точка треугольнику #20
тяжко: каких операций в наилучших случаях 15?
Цитата Сообщение от Ilot Посмотреть сообщение
Может стоит иногда вместо доказательства своей правоты обратить внимание на суть того, что вам стараются донести,
Я знаю что вы мне пытаетесь донести.
Вам встречное предложение:
Может стоит иногда вместо доказательства своей правоты обратить внимание на суть того, что вам стараются донести.
Именно вы утверждаете что первый метод лучше второго (а не я что второй метод лучше первого).
Я не знаю почему вы так решили. Но ваши доказательства я опровергаю логически, а не голословно, как вы.
Итак: каких операций в наилучших случаях 15?
Yandex
Объявления
25.12.2013, 12:46     Пренадлежит ли точка треугольнику
Ответ Создать тему
Опции темы

Текущее время: 05:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru