Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/64: Рейтинг темы: голосов - 64, средняя оценка - 4.95
 Аватар для snake32
3597 / 1727 / 236
Регистрация: 26.02.2009
Сообщений: 8,770
Записей в блоге: 5

Равноудалённые точки от произвольного многоугольника

09.11.2009, 15:24. Показов 12488. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ув. программисты посоветуйте алгоритм или хоть где можно почитать про это.
Мне нужно разместить энное кол-во точек вокруг многоугольника как это сделать? зная только координаты вершин многоугольника ? И обязательно ли могоугольник должен быть выпуклым?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2009, 15:24
Ответы с готовыми решениями:

На прямой найти точки, равноудалённые от двух других прямых
На прямой x+2y-12=0 найти точки, равноудалённые от прямых x+y-5=0 и 7x-y+11=0. Помогите решить эту задачу. Что я сделал: 1) Построил...

Разрезание произвольного треугольника на четыре многоугольника
Можно ли разрезать любой треугольник Т на четыре многоугольника так, чтобы из этих многоугольников можно было сложить два треугольника Т1 и...

Бинарные файлы( равноудаленные точки )
Всем привет! Есть задачка: В бинарном файле задано множество точек на плоскости. Найти из данного множества равноудаленные точки от...

27
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
11.11.2009, 09:50
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от snake32 Посмотреть сообщение
Зная в каком порядке перечислены вершины полигона
Но это же чит...
0
 Аватар для snake32
3597 / 1727 / 236
Регистрация: 26.02.2009
Сообщений: 8,770
Записей в блоге: 5
11.11.2009, 14:09  [ТС]
Женя, если б я знал как можно сделать по другому, не прибегая к 3D, то так бы и сделал. Но пока даже выбирать нечего.... а ведь время то идёт.... а потом - лучше хоть какой-нибудь результат, чем вообще никакого, тем более что в тз вообще ничего не указано(точнее его вобоще нет). Я думаю, алгоритм можно назвать рабочим для большинства полигонов.
С удовольствием посмотрю на другие алгоритмы.

А что ты подразумеваешь под словом ЧИТ? Я что то ипользую незаконное?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
11.11.2009, 14:49
Ну, мягко говоря, откуда тебе знать, там по часовой стрелке или против часовой. Хотя если это заказная работа - то по большому счёту пофиг. Но если для себя - то для порядку надо бы разобраться, как это делать "по-человечески", т.е. имея лишь набор точек и не обладая какими-либо априорными знаниями о том, в каком порядке они записаны. Я не знаю, как это делать, ибо с математикой туго, но могу поспрашивать

Добавлено через 11 минут
Математики рассказали, как определить, находится некая точка X снаружи многоугольника, или внутри. Допустим, многоугольник задаётся точками M1, M2, ... MN

Берём от точки X рисуем два вектора X-M1 и X-M2. Вычилсяем веторное произведение (ону будет либо положительным, либо отрицательным в зависимости от взаимного расположения веторов). Дальше берём пару векторов X-M2, X-M3 и т.д. до X-MN, X-M1. Все эти векторные произведения складываем. Если точка находится за пределами многоугольника, то сумма полуится равна нулю. Если внутри многоугольника, то сумма окажется равной площади многоугольника (как сумма площадей соотвествующих треугольников).

Исходя из этого можно определить, с какой стороны рисовать каёмку

Добавлено через 23 минуты
Правда такой метод годится только в случае, когда нет пересечений. Ещё возникает вопрос, как выбрать точку (критично для последней картинки из 20-го поста)
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
11.11.2009, 19:05
Цитата Сообщение от snake32 Посмотреть сообщение
Зная в каком порядке перечислены вершины полигона(по часовой или против)
Кстати, а если попарно векторно перемножить все стороны (1-ю на 2-ю, 2-ю на 3-ю, ... N-ю на 1-ю) то не полуится ли, что знак результата зависит от направления обхода?
1
 Аватар для snake32
3597 / 1727 / 236
Регистрация: 26.02.2009
Сообщений: 8,770
Записей в блоге: 5
12.11.2009, 05:58  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
Вычилсяем веторное произведение (ону будет либо положительным, либо отрицательным в зависимости от взаимного расположения веторов)
Опять же это в пространстве, тк векторное произведение определено только для 3D-векторов.
Цитата Сообщение от Evg Посмотреть сообщение
о сумма окажется равной площади многоугольника (как сумма площадей соотвествующих треугольников).
Если быть точнее, то полу-сумма = площади многоугольника, тк модуль длины векторного произведения определяет площадь параллелограмма, образованного векторами.
Цитата Сообщение от Evg Посмотреть сообщение
Кстати, а если попарно векторно перемножить все стороны (1-ю на 2-ю, 2-ю на 3-ю, ... N-ю на 1-ю) то не полуится ли, что знак результата зависит от направления обхода?
Скорее всего должен получится нуль-вектор, но я не проверял.
Цитата Сообщение от Evg Посмотреть сообщение
Берём от точки X рисуем два вектора X-M1 и X-M2. Вычилсяем веторное произведение (ону будет либо положительным, либо отрицательным в зависимости от взаимного расположения веторов). Дальше берём пару векторов X-M2, X-M3 и т.д. до X-MN, X-M1.
Сделал немного по-другому: за точку М взял первую вершину и попарно выполнил векторое произведение с остальными вершинами.... и о чудо! Действительно, знак z координаты суммы произведений показывает направление обхода!!!
СПАСИБО Евгений тебе и твоим математикам!

PS: После небольшого редактирования программе уже наплевать на обход. Жаль что я ещё вчера отправил мою прогу. Работадатель так и не увидит её.

Добавлено через 8 минут
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
12.11.2009, 09:42
А что будет, если натравить на 3-ю картинку из 20-го поста (самопересекающуюся часть удалить). В том плане, что если на многоулоьнике растояние между зубцами меньше, чем расстояние, на котором должна быть нарисована рамка

Насколько я понимаю, с пересечениями ты не сделал? Потому как математики сказали, что это вообще отдельная геморройная задача, дальше у меня просто уши отсохли. Единственное, что я понял - если взять 5-конечную звезду (нарисованную как в детстве, пятью пересекающимися линиями), то с аналитической (математической) точки зрения центральный 5-угольник является внешней стороной, а 5 треугольников - внутренние. И, насколько я понял, если в векторных графических редакторах по типу corel draw выбрать прорисовку закрашенного многоугольника по точкам, то если нарисовать 5-угольник в виде звезды, внутренность и вправду окажется незакрашенной.
0
 Аватар для snake32
3597 / 1727 / 236
Регистрация: 26.02.2009
Сообщений: 8,770
Записей в блоге: 5
12.11.2009, 16:23  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
растояние между зубцами меньше, чем расстояние, на котором должна быть нарисована рамка
Это и
Цитата Сообщение от Evg Посмотреть сообщение
Насколько я понимаю, с пересечениями ты не сделал?
это не сделал.

Ну если и математики говорят что эта гиморройная затея.... по грубым расчётам смогу реализовать минимум через 2 недели .... и то не факт.
Неужели нет в москве вакансии, где моих знаний для начала достаточно? Сомниваюсь...но уже больше месяца без работы
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
12.11.2009, 17:05
https://www.cyberforum.ru/job/ тебе в помощь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2009, 17:05

Закраска произвольного многоугольника
Помогите пожалуйста узнать и понять: как закрасить произвольный многоугольник?

Площадь произвольного многоугольника
Здравствуйте, хочу попросить у вас помощь. Есть у меня задача: дано произвольный многоугольник (координаты вершин (x,y)), необходимо найти...

Разделение произвольного многоугольника на треугольники
Здравствуйте, пишу не в тему Canvas, так как там мало кто обитает :) Есть полигон из который собирается в многоугольник произвольный...

Построить матрицу расстояний между всеми точками. Найти равноудаленные точки, если такие есть
Помогите, пожалуйста, выполнить задание. Насколько я понял, оно должно выполняться через двумерные массивы. Вот само задание: На...

Реализовать алгоритм закраски произвольного многоугольника
Помогите,кто знает Реализовать алгоритм закраски произвольного многоугольника,если r=1


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru