![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - [решено] Принадлежность точки к восьмиугольнику |
|
Теория - [решено] Принадлежность точки к восьмиугольнику
|
Ветеран Сообщения: 1384 |
Здравствуйте.
Пишу программу, частью алгоритма которой является проверка на принадлежность заданной точки на плоскости заданному восьмиугольнику. На время отладки аппроксимировал восьмиугольник кругом заданного радиуса. Теперь решил перейти к восьмиугольнику. (сейчас я задаю его при помощи координат вершин; если есть какой-нибудь другой метод скажите пожалуйста). Нашёл на просторах Интернета интересную идею: построить с пробной точкой и соседними вершинами восьмиугольника треугольники. Просуммировать их площадь. Если сумма площадей равна площади восьмиугольника - точка внутри, иначе - снаружи. Просто и не затратно, подумал я. Закодил. На выходе должна получаться некоторая картинка, напечатанная в одном издании т.е. есть с чем сравнить правильность работы всей проги. И вот если ставить точное равенство то картина получается не полная... некоторые фрагменты отсутствуют. Если поставить меньше или равно - по-моему появляются и лишние элементы рисунка ![]() В общем я думаю это из-за несовершенства алгоритма проверки принадлежности точки. |
|
------- Отправлено: 00:39, 25-09-2011 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать а чем вам не нравится метод трассировки луча?
|
Отправлено: 01:14, 25-09-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1384
|
Профиль | Отправить PM | Цитировать Цитата ferget:
проблему решил встроенными средствами C#. Построил область. Нашёл метод определяющий принадлежит ли точка области. PointF[] _oct_vertex = new PointF[8]; _oct_vertex[0] = new PointF(1,0); _oct_vertex[1] = new PointF(2.5f, 0); _oct_vertex[2] = new PointF(3.5f, 1); _oct_vertex[3] = new PointF(3.5f, 2.5f); _oct_vertex[4] = new PointF(2.5f, 3.5f); _oct_vertex[5] = new PointF(1, 3.5f); _oct_vertex[6] = new PointF(0, 2.5f); _oct_vertex[7] = new PointF(0, 1); byte[] _type_vertex = new byte[8]; _type_vertex[0] = (byte)PathPointType.Start; for (int i=1; i<=_type_vertex.Length -1; i++) { _type_vertex[i] = (byte)PathPointType.Line; } Region octagon = new Region(new GraphicsPath(_oct_vertex, _type_vertex)); if (octagon.IsVisible(pt)) { return true; } else { return false; } |
|
------- Отправлено: 01:18, 25-09-2011 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 07:18, 25-09-2011 | #4 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать это 3D вариант
а в 2D Цитата:
|
||
Отправлено: 15:07, 25-09-2011 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
BSOD и точки на экране | FingerTrah | Непонятные проблемы с Железом | 6 | 25-11-2009 02:18 | |
Прочее - Настройка точки доступа | rydailo | Сетевые технологии | 2 | 26-10-2008 09:59 | |
Доступ - исчезает принадлежность пользовтеляк группе "Пользователи удаленного рабочегео стола" | ah-lamo | Microsoft Windows NT/2000/2003 | 12 | 03-07-2008 18:13 | |
Не удалось получить доступ или установить принадлежность процесса? | GifuN | Microsoft Windows NT/2000/2003 | 0 | 14-01-2008 14:03 | |
две точки 2000AP+(a1+a2) и карта 650+ хочу репитер из точки | Soft_warrior | Microsoft Windows NT/2000/2003 | 0 | 03-05-2006 21:53 |
|