Как выполнить аппроксимацию?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как выполнить аппроксимацию?

Как выполнить аппроксимацию?

Ответ
Поиск в этой теме
Непрочитано 23.01.2013, 11:43 #1
Как выполнить аппроксимацию?
loginovskiy
 
Регистрация: 31.10.2011
Сообщений: 31

Буду признателен, если кто то сможет оказать помощь.
Задача следующая. Есть сглаженная полилиния (после применения к обычной полилинии команды "СГ". На этой сглаженной нужно получить точки так что бы в диапазонах перегиба их было больше. При этом чем круче перегиб
тем чаще должны быть точки. Т.о. точнее описать сглаженность.
Я случайно нашел код, который это выполняет, но понять "теорию" не могу.
Файл прилагается.
Ясно, что используются и первая и вторая производные но и только. Не понятны параметры в строке
(setq inc (/ (- di2 di1) (1+ (fix (* 35.0 (/ (- di2 di1) rad (+ pi pi)))))))

Но когда меняю коэффициент 35.0 на другой - меняется частота точек.

Вложения
Тип файла: lsp APPR.LSP (2.8 Кб, 35 просмотров)

Просмотров: 3000
 
Непрочитано 23.01.2013, 12:47
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,193


Непонятно, что надо сделать. Добавить в сглаженную дугами окружностей полилинию дополнительные вершины? Зачем, если любая дуга полностью описывается тремя основными точками, которые у нее есть, независимо от радиуса, и точности это не добавит?
Или надо сглаженную полилинию аппроксимировать мелкими отрезками прямых, и чем меньше радиус сглаживания, тем короче должны быть отрезки? Для этого есть PLTOOLS, с открытым кодом.
kp+ вне форума  
 
Автор темы   Непрочитано 23.01.2013, 13:29
#3
loginovskiy


 
Регистрация: 31.10.2011
Сообщений: 31


Совешенно верно - для того что бы заменить дуги прямолинейными сегментами и конечно же не для увеличения точности. Наверное есть и другое решение (PLTOOLS например), но мне кажется я там это и взял.
Но использовать "в темную" мне не хочется, хочется все таки понять математику. Вопрос то в этом.
loginovskiy вне форума  
 
Автор темы   Непрочитано 24.01.2013, 13:43
#4
loginovskiy


 
Регистрация: 31.10.2011
Сообщений: 31


Пытаясь разобраться в этом алгоритме обнаружил, что vlax-curve-getendparam
дает разные результаты на сглаженной и не сглаженной плинии.
Т.е. получаю на не сглаженной значение = 7. Поинмаю, что это количество сегментв и все.
Сглаживаю и получаю = 14. Это и не количество сегментов и не угол дуги в радианах.
Кто знает что это?
loginovskiy вне форума  
 
Непрочитано 24.01.2013, 14:57
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от loginovskiy Посмотреть сообщение
Кто знает что это?
Что угодно. Нет четкого определения того, что означает параметр для кривой в AutoCAD. И то, что для несглаженой полилинии это количество вершин - это скорее исключение, чем правило.
Александр Ривилис вне форума  
 
Непрочитано 24.01.2013, 14:59
#6
ытя


 
Регистрация: 23.09.2005
СПб
Сообщений: 428


Цитата:
Сообщение от loginovskiy Посмотреть сообщение
Поинмаю, что это количество сегментв и все.
Взорви сглаженную и посчитай количество сегментов.
ытя вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как выполнить аппроксимацию?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рамные узлы, которые можна выполнить в условиях строительной площадки на сварке Yuzer Металлические конструкции 13 11.10.2012 10:34
Можно ли выполнить проверку слабых слоёв основания и подстилающих слоёв в ФОК ПК ПАРУС? МишаИнженер Расчетные программы 10 03.10.2011 14:07