|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как апроксимировать дугу отрезками? (геометрия)
Регистрация: 13.06.2012
Сообщений: 98
|
||
Просмотров: 4501
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Исходники vla = практически исходники VBA
![]() P.S. Если касаться AutoCAD, то в руки vlax-curve-* функции, там все есть.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Здесь в двух частях вся геометрия а картинках и формулах без vla
http://www.afralisp.net/archive/lisp/Bulges1.htm
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
я бы тоже офигел если б апроксимировал дугу окружностями... Вообще тут все довольно просто: имеем центр дуги, ее радиус, начальный и конечные углы, разбиваем дугу на n участков, получаем приращение угла на n точек, находим точки и рисуем полилинию... усе
![]() |
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
так я ж и пишу, что не нашел их... Было бы проще
Цитата:
ЗЫ. а в школе учили, что все так легко: проводим перпендикуляр, ищем пересечение... ЗЫЫ. на вышке - глобальная тригонометрия... горы синус_косинусов ЗЫЫЫ. а в координатах то и не учили ![]() |
|||
![]() |
|
||||
Конструирование в области нефтеразведки Регистрация: 10.02.2006
Гомель
Сообщений: 321
|
Посмотри здесь http://elpanov.com/index.php?id=34
__________________
Никогда не спорьте с дураками - они опустят Вас до своего уровня и победят за счет опыта |
|||
![]() |
|
||||
Регистрация: 25.02.2014
Сообщений: 2
|
Если без Vla-, может тогда просто черчением? построить отрезки от центра до начала и конца искомой дуги, найти угол между ними, далее полярный массив одного из отрезков. По конечным точкам получившихся отрезков строишь дуги (или полилинии) и удаляешь все, что тебе не надо.
|
|||
![]() |
|
||||
Регистрация: 13.06.2012
Сообщений: 98
|
Цитата:
dxf10 - координата Х, дистанция между иксами вещь оч полезная в данном случае ![]() А вообще, мож кому пригодится: радиус = (sqrt( (x2-x1)^2 + (y2-y1)^2)) * (b^2+1)) /4b это если вспомнить что sin (2* atan (b)) = 2b/(b^2 + 1) |
|||
![]() |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
10й dxf код - это вообще-то координата вершины
![]() Код:
Код:
Вот код, который аппроксимирует без vla- Код:
Последний раз редактировалось ciril, 26.03.2014 в 13:44. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как апроксимировать дугу в набор прямых с маленьким шагом | Mizeracl | AutoCAD | 1 | 22.03.2011 10:57 |