Как научиться триангулировать произвольный контур (JavaScript + SVG)? Вопрос скорей звучит как "У кого есть свободное время научить человека геометрии (триангуляции)". Хочу написать скрипт триангуляции произвольного многоугольника, но не знаю какой алгоритм. Использовать буду файл SVG с произвольным контуром и JavsScript. Хотел от простого к сложному. Нашел пример на JavaScript и разобрал его. Сам процесс построения понял, но он используется для заполнения фона, т.е. когда координаты границ известны. Т.е. знаем размер полигона, из ширины и высоты вычисляем сколько полигонов влезет и сколько вершин надо создать. Крайние вершины определяются размерами экрана. Дальше циклом расставляем точки и соединяем по очереди, что бы получились прямоугольные треугольники. (по сути разбиваем на квадраты и проводим диагонали). Затем смещаем произвольно вершины в разные стороны. На выходе полигональный фон. Но что делать если нужно триангулировать например Ромб? Или пятиугольник? Или если есть внутренний контур, который показывает какую область не нужно заполнять? В общем хотел почитать теорию Нашлась статья в pfd. Только я уже ничего не помню с учебы, да и там математическими науками не блистал. Затык сразу же на введении, например не знаю что такое "IR^2" (фраза: "Множество точек в IR2"). Так что не уверен что так просто осилю эту статью. Потому возникли вопросы: 1. Подходит ли данная статья для моих задач вообще? 2. С чего начать? (какой материал почитать) Учебник/более подробные статьи? 3. Может у кого найдется время, что бы подсказывать непонятные вопросы? Сразу хотелось бы на опережение сказать: Понимаю что хочу взяться за изобретение велосипеда, и без особой подготовки. Знаю что есть d3js и прочие библиотеки, но у меня сроки не горят, конкретных задач нет. На данный момент мне было бы просто интересно написать такой инструмент самому. Впечатлился инструментом:somestuff.ru/filter/HTML5/I Там можно да же указывать контрольные точки для генерации полигонов. До этого мне рано. Хотя бы просто понять основы, принципы, алгоритмы триангуляции, разработать на основе этих данных скрипт.
Первым делом, рекомендуется понять основные понятия геометрии, такие как точка, прямая, отрезок, угол, многоугольник и т.д. Это поможет вам лучше понять материалы по триангуляции.
Изучите алгоритмы триангуляции, такие как метод декомпозиции на треугольники (например, метод Триангуляции Делоне) или метод внутренних контуров (например, метод вращающихся диагоналей).
Прочитайте материалы по SVG и JavaScript, чтобы понимать, как работать с векторной графикой и создавать интерактивные элементы на веб-страницах.
Если у вас возникнут непонятные вопросы, можете обратиться за помощью в специализированные форумы или сообщества, где вам могут предоставить необходимую информацию и поддержку.
Постепенно применяйте полученные знания на практике, создавая свои собственные скрипты для триангуляции произвольных контуров и экспериментируя с различными методами.
Успехов в изучении и создании вашего инструмента триангуляции!
Первым делом, рекомендуется понять основные понятия геометрии, такие как точка, прямая, отрезок, угол, многоугольник и т.д. Это поможет вам лучше понять материалы по триангуляции.
Изучите алгоритмы триангуляции, такие как метод декомпозиции на треугольники (например, метод Триангуляции Делоне) или метод внутренних контуров (например, метод вращающихся диагоналей).
Прочитайте материалы по SVG и JavaScript, чтобы понимать, как работать с векторной графикой и создавать интерактивные элементы на веб-страницах.
Если у вас возникнут непонятные вопросы, можете обратиться за помощью в специализированные форумы или сообщества, где вам могут предоставить необходимую информацию и поддержку.
Постепенно применяйте полученные знания на практике, создавая свои собственные скрипты для триангуляции произвольных контуров и экспериментируя с различными методами.
Успехов в изучении и создании вашего инструмента триангуляции!