Плагин для операций с многоугольниками

Плагин для операций с многоугольниками - Сообщения

#1 Опубликовано: 14.04.2012 13:15:39
tca

tca

11 сообщений из 15 понравились пользователям.

Группа: User

Создал простенький плагин к Generic Polygon Clipper. Может быть будет полезен не только мне.
Для тех кто захочет "поковыряться" в исходниках прошу прощения за плохой английский и C#.
GPCPlugin.zip (166 КиБ) скачан 129 раз(а).
3 пользователям понравился этот пост
Andrey Ivashov 14.04.2012 18:01:00, Fridel Selitsky 15.04.2012 00:49:00, kmihaylovich 16.04.2012 02:47:00
#2 Опубликовано: 14.04.2012 18:02:06
Andrey Ivashov

Andrey Ivashov

2269 сообщений из 3730 понравились пользователям.

Группа: Super Administrator

Здорово! Спасибо.

Прикладываю скриншот:



Исходники плагина положил в репозиторий тут: https://smath.info/svn/public/plugins/GPCPlugin.
Описание General Polygon Clipper library можно найти здесь: http://www.cs.man.ac.uk/~toby/gpc/.

С уважением, Андрей Ивашов.
#3 Опубликовано: 15.04.2012 01:07:20
zhuk

zhuk

13 сообщений из 120 понравились пользователям.

Группа: User

Возможна ли проверка принадлежности точки или другого объекта контуру? Скажем, в методе Монте-Карло для определения площади можно будет такием образом задавать контур объекта?
Пора уже создавать специальный топик с плагинами в разделе Скачать SMath Studio, что бы не вылавливать их по отдельным темам и лишь для своих (или реких счастливчиков, которым повезло случайно нарваться на него).
неофициальный справочник https://sites.google.com/site/mikkhalichlab/home jabber конференция smath@conference.jabber.ru
1 пользователям понравился этот пост
Mikka 17.04.2012 11:03:00
#4 Опубликовано: 15.04.2012 02:30:19
tca

tca

11 сообщений из 15 понравились пользователям.

Группа: User

GPC не имеет функций для проверки нахождения точки внутри многоугольника.
Данную проверку можно реализовать двумя вариантами (первый рабочий):
1. Из точки сделать многоугольник и проверить их пересечение (прикреплено вложение):
2. В библиотеке GPC есть функция возвращающая список треугольников, представляющих многоугольник (триангуляция)
gpc_polygon_to_tristrip(...). Однако в плагин я её не добавлял. Для треугольников проверка вхождения точки элементарна.
GPC - Проверка нахождения точки в многоугольнике.zip (1 КиБ) скачан 61 раз(а).
1 пользователям понравился этот пост
kmihaylovich 16.04.2012 02:47:00
#5 Опубликовано: 16.04.2012 08:35:49
Медведев Виктор

Медведев Виктор

13 сообщений из 157 понравились пользователям.

Группа: User

Wrote


Пора уже создавать специальный топик с плагинами в разделе Скачать SMath Studio, что бы не вылавливать их по отдельным темам и лишь для своих (или реких счастливчиков, которым повезло случайно нарваться на него).


По поводу топика полностью поддерживаю. А если Андрею будет несложно, то пусть вносит все появившиеся плагины в состав SMath (естественно, если создатели не будут против).
#6 Опубликовано: 02.05.2012 02:31:14
tca

tca

11 сообщений из 15 понравились пользователям.

Группа: User

Финальная версия плагина.
Добавлены функции осуществляющие триангуляцию многоугольника.
Во вложении (GPCTestAdd.png) приведен пример расчета площади многоугольника - продолжение графического файла из второго поста данной темы.
P.S. 64 битная версия работает в 2,0-2,5 раза быстрее.
GPCTestAdd.png
1 пользователям понравился этот пост
Serg 25.01.2014 12:55:00
#7 Опубликовано: 02.05.2012 11:39:03
уни

уни

156 сообщений из 355 понравились пользователям.

Группа: User

Есть такая очень удобная программа: Visual SVN (клиент), которая позволяет заливать изменения кода сразу в местный репозиторий. Для этого нужно попросить у Андрея доступ на запись, слить рабочую копию вашего плагина из репозитория, открыть проект плагина в VS, сделать измненения и залить обратно в svn при помощи меню в VS.

Андрей использует VisualSVN сервер для web-доступа к репозиторию. Вещь хорошая.

П.С. Можно попрактиковаться на mysvn.ru. Там можно создавать удалённые репозитории до 20 Мб бесплатно. Можно создавать и удалять репозитории и попробовать разные режимы и команды VisualSVN, чтобы знать как и что работает.

Пример как это выглядит в VS2010 (в 2008 точно также):


VisualSVN&VS2010.PNG
Россия навсегда! Вячеслав Мезенцев
#8 Опубликовано: 03.05.2012 00:31:32
tca

tca

11 сообщений из 15 понравились пользователям.

Группа: User

уни, это финальная версия плагина, так как все функции GPC импортированы в SMath Studio, возможны только bugfix'ы.
Никогда не пользовался всякими штучками, начинающимся с Visual. В Windows использую связку FAR+colorer+makefile+batfile.
С системами контроля версий знаком. У меня есть TortoiseSVN (скачивал репозитарий с плагинами).

1 пользователям понравился этот пост
Dzmitry 10.05.2012 04:15:00
#9 Опубликовано: 03.05.2012 08:21:30
уни

уни

156 сообщений из 355 понравились пользователям.

Группа: User

Прямо уж и финальная, неужели отображение всех устраивает? А если появится компонент для раздельного отображения многоугольников или такая возможность?
Что касается Visual, то ведь SMath Studio вы пользуетесь? А это Visual-среда для математических расчётов в отличие от Maple, Mathematica, Matlab и пр. unix-клонов.

Про svn я на всякий случай напомнил. Тот же TortoiseSVN - это Visual-среда, в отличие от командного интерфейса, который идёт в комплекте. Нет ничего зазорного в том, чтобы использовать профессиональные инструменты разработки кода.

На картинке выше показан проект на С++ для микроконтроллера, который использует makefile для сборки с компилятором gcc (для avr). Хотя я собираю при помощи makefile, но разработку веду именно в VS2010, ибо это гораздо удобнее, чем писать то же в Far'е (навигировать и пр.).
Россия навсегда! Вячеслав Мезенцев
#10 Опубликовано: 03.05.2012 13:08:26
zhuk

zhuk

13 сообщений из 120 понравились пользователям.

Группа: User

Плагином не пользовался, но одобряю.
З.Ы. Только консоль! Только хардкор! visual* не нужны!
неофициальный справочник https://sites.google.com/site/mikkhalichlab/home jabber конференция smath@conference.jabber.ru
#11 Опубликовано: 03.05.2012 14:15:45
tca

tca

11 сообщений из 15 понравились пользователям.

Группа: User

Я пользуюсь тем чем мне удобно пользоваться и чем умею пользоваться. Моя основное занятие, это не программирование. Была потребность пользовался - CVS из командной строки. TortoiseSVN был скачан, чтобы скачать(клонировать) исходники плагинов для изучения. Плагин был написан для решения моих задач (построение различных областей с ограничениями) в SMath. Я поделился плагином с сообществом SMath пользователей. Сейчас дополнил оставшимися не импортированными функциями. Считаю поддержкой плагинов должны заниматься разработчики плагинов, а Андрей Ивашов (разработчик SMath Studio) должен вести разработку основного проекта. Распространять SMath Studio совместно со всеми плагинами, нельзя из-за возможных лицензионных ограничений, но имеет смысл создать установщик плагинов, на базе NSIS например, или хотя бы архива, который распаковывается в папку со SMath Studio.

Offtop о визуальности: SMath копирует лист бумаги, карандаш и ластик - вещи из реального мира и поэтому очень удобен в использовании в своей нише (типовые нересурсоёмкие расчеты), легок в обучении, но некоторые вещи на нем сделать затруднительно. Например, для построения качественных графиков - gnuplot, для качественной статьи со сложными формулами - LaTeX (Word очень неудобен) - это не визуальные инструменты, более сложные в использовании, но дающие всегда предсказуемое решение поставленных перед ними задач. Так что не все так однозначно.
echo "Мамы разные нужны, Мамы разные важны" | sed "s/Мамы/Приложения/g"

Реальный пример использования GPCPlugin.
ИО ДЗ SIEMENS 7SAxxx.png
1 пользователям понравился этот пост
уни 03.05.2012 14:42:00
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений