Моделирование кривых высокого качества по критериям плавности. Плагин FairCurveModeler.fas lsp app AutoCAD
Назначение плагина
Теоретическое обоснование
Команды плагина FairCurveModeler lsp
Вспомогательные команды плагина
Команды тестирования кривой
Особенности технологии моделирования кривой с помощью плагина
Тестирование плагина
Назначение плагина
Плагин позволяет:
1) строить сплайновые кривые на двух типах геометрических определителей кривой (ГО): а) на опорной ломаной, б) на касательной ломаной. Это дуальные ГО - в одном сеансе редактирования можно переходить от одного вида ГО к другому на одной и той же моделируемой кривой;
2) геометрически точно аппроксимировать конические кривые;
3) получить кривые высокого качества по критериям плавности. Методы плагина обеспечивают: а) высокий порядок гладкости на локально выпуклых участках, б) минимальное число экстремумов кривизны на всей кривой, в) малую вариацию кривизны (разность между максимальным и минимальным значениями кривизны); г) малое значение потенциальной энергии кривой;
4) моделировать и редактировать участки перегиба и участки перехода кривой на прямолинейность с точным контролем и управлением динамической характеристики - скорости изменения кривизны по длине кривой.
The theoretical justification of methods
Требования к качеству функциональных кривых
Определитель кривой
Геометрический определитель
Дуальные виды геометрических определителей
Структуризация кривой
Ограничения при структуризации кривой посредством ГО
Правила хорошей структуризации
Требования к качеству функциональных кривых
Качество функциональных кривых непосредственно определяют проектные характеристики проектируемого технического изделия.
Общим критериями оценки качества функциональных кривых, которые инвариантны относительно специфики проектируемых объектов, являются критерии плавности.
Порядок гладкости кривых является важнейшим параметром плавности при оценке качества кривых. Функциональные кривые должны иметь порядок гладкости не менее 2. Например, проектирование профилей кулачков для распредвалов ДВС начинается с построения плавного графика 3-ей производной.
Второй по важности критерий - количество экстремумов кривизны. Не обусловленные формой ГО экстремумы кривизны проявляются как осцилляция (пульсация) кривизны. Пульсация кривизны – неприемлема для функциональных кривых.
Пульсация кривизны увеличивает энергетические потери объектов с динамическими функциональными кривыми и поверхностями. Вызывает биение и быстрый износ механических систем.
Пульсация кривизны также снижает эстетическое качество кривой. Приводит к эффекту кривых зеркал при построении поверхностей на таких кривых.
Пульсация кривизны – это существенный недостаток традиционных методов построения сплайнов в САПР. Пульсация кривизны вызвана экстремумами кривизны на сегментах сплайнов (особенно у сплайнов с низкой степенью).
Третий по важности критерий – вариация кривизны (разность между максимальным и минимальным значениями кривизны на кривой).
Большое значение вариации кривизны также нежелательно для функциональных кривых. Вариация кривизны является важным параметром при оценке плавности трассы дороги в дорожном строительстве.
Четвертый критерий плавности – потенциальная энергия кривой.
Большее значение потенциальной энергии функциональной кривой приводит к большим энергетическим потерям при эксплуатации технических объектов.
Таким образом, при сравнении качества двух кривых необходимо оценивать параметры плавности следующем порядке:
1) порядок гладкости;
2) количество экстремумов кривизны;
3) вариация кривизны;
4) потенциальная энергия кривой.
Сравнение потенциальной энергии правомерно только для кривых одного порядка гладкости. Сплайны низких степеней с выраженной пульсацией кривизны могут иметь меньшее значение потенциальной энергии, чем сплайны высоких степеней с плавным графиком кривизны. Например, сплайн степени 1 (простая ломаная) имеет нулевое значение потенциальной энергии. Этот параметр рекомендуется использовать для оценки качества кривой и оптимизации кривой по этому параметру при редактировании.
Предлагается плагин V_Curve, который позволяет строить сплайновые кривые высокого качества по критериям плавности.
Инновационные методы, реализованные в плагине, обеспечивают 1) минимальное количество экстремумов кривизны, 2) высокий порядок гладкости и плавность, 3)малое значение вариации кривизны, 4) малое значение потенциальной энергии кривой.
Определитель кривой
Геометрическая модель кривой в инженерной геометрии называется определителем кривой. Определитель состоит из геометрической части (геометрического определителя) и алгоритмической части. Независимо от способа реализации определителя кривой, окончательно определитель кривой аппроксимируется NURBS кривой, которая является индустриальным стандартом представления кривых в САПР. В качестве базовых представлений NURBS стандарта используются рациональные b-сплайновые кривые (NURBS) и рациональные сплайновые кривые Безье (NURBzS) произвольных степеней.
Геометрический определитель (ГО)
Геометрический определитель должен позволять структурировать моделируемую кривую и давать возможность целенаправленно редактировать ее форму. Классическими видами геометрического определителя являются опорная ломаная и касательная ломаная.
Дуальные виды геометрических определителей
Из аналитической геометрии известно о двойственности (дуальности) представления конических кривых. Коническую кривую можно определить пятью касательными или пятью точками.
Обобщая данный подход, можно ввести понятие дуального определителя произвольной кривой. Дуальный определитель кривой должен определять одну и ту же моделируемую кривую линию, как на множестве опорных точек, так и на множестве касательных прямых.
То есть дуальный определитель кривой имеет два дуальных вида ГО – опорную ломаную линию и множество касательных прямых. В частном случае, множество касательных прямых можно представить касательной ломаной.
Касательная ломаная более удобна для формирования формы кривой (для структуризации кривой). Особенно это важно на участках перегиба. На участках перегиба при задании опорной ломаной возможна очень большая вариативность формы кривой при формальном соблюдении ограничений на форму. Касательная ломаная при ограничении, что локально кривая не выходит за пределы текущего соприкасающегося треугольника, составленного из смежных звеньев касательной ломаной, очень точно конфигурирует (структурирует форму) форму кривой.
Касательная ломаная, как исходные данные для моделирования кривой, встречается в геометрических задач при проектировании некоторых технических объектов. Например, при трассировании дороги в плане по теодолитным ходам, при профилировании плоского выпуклого кулачка как огибающей линии дискретного ряда прямых линий подошвы плоского толкателя. Касательные прямые с точным направлением могут использоваться в дизайне для ограничения некоторого профиля, например, в габаритный прямоугольник.
В плагине используется метод моделирования с помощью т.н. виртуальной кривой (v-кривой). Виртуальная кривая не имеет аналитического выражения. Точки v-кривой генерируются посредством некоторого алгоритма. В данной разработке используется виртуальная кривая, точки которой генерируются на непрерывном множестве конических кривых двойного соприкосновения. V-кривая является кривой класса C5 и имеет минимальное число экстремумов кривизны. Если опорная ломаная инцидентна конической кривой или касательная ломаная касается конической кривой, то v-кривая геометрически точно совпадает с конической кривой.
Свойства v-кривой позволяют ее представлять как множеством опорных точек, так и множеством касательных прямых. То есть определитель v-кривой является дуальным.
В плагине используется дуальный определитель v-кривой, который предоставляет конструктору два вида ГО: опорную ломаную (Points) и множество касательных кривых (Tangents). Дуальный определитель кривой позволяет конструктору переходить от опорной ломаной к множеству касательных прямых, и, наоборот, без изменения кривой.
Редактирование производится на дуальных ГО.
После первого построения v-кривой (возможно, окончательного) можно перейти к другому дуальному ГО. Редактировать кривую можно в режиме Points, редактируя опорную ломаную, или в режиме Tangents, редактируя касательные прямые, представленные отрезками.
При редактировании в режиме Tangents касательная ломаная как таковая отсутствует. Отказ от касательной ломаной линии при редактировании обосновывается следующими соображениями:
1) редактирование вершины касательной ломаной влияет на положение двух точек касания и на направления двух касательных отрезка. В то же время, один касательный отрезок влияет только на направление только одной касательной и только в одной точке.
2) переход к касательной ломаной на пространственном ГО изменяет реальные направления касательных векторов в опорных точках.
Структуризация кривой
Структуризация кривой с помощью геометрического определителя означает однозначное задание ее формы.
Моделируемая кривая, в определенном смысле, должна совпадать и быть подобной ГО кривой. Возможность структуризации кривой посредством ГО предполагает возможность объективной оценки определенного совпадения и подобия формы ГО и формы кривой. Для оценки корректности структуризации кривой посредством ломаной вводятся характеристики подобия кривой и ломаной.
Форма плоской кривой локально характеризуется значением кривизны в точке кривой. Кривизна направленной кривой положительна, если при движении по направлению кривой в окрестности точки точка вращается против часовой стрелки.
Участок кривой с одинаковым знаком кривизны всех точках участка определяет локально выпуклый участок кривой. Точки перегиба и прямолинейные участки являются границами между локально выпуклыми участками.
В целом кривая делится на локально выпуклые участки.
Прямолинейный участок - участок кривой с нулевой кривизной всех точках участка.
Форма плоской направленной ломаной плоской ломаной локально характеризуется ориентацией смежных звеньев плоской ломаной. Ориентация положительна, если обход звеньев по направлению ломаной линии производится против часовой стрелки. Последовательность звеньев с одинаковой ориентацией определяют локально выпуклый участок ГО.
Участки изменения знака ориентации определяют участка перегиба.
Определитель кривой изогеометрически определяет кривую на ГО, а ГО корректно структурирует направленную кривую, если:
1) направленная кривая последовательно проходит через вершины направленной опорной ломаной ГО или, последовательно касаясь звеньев ГО вида направленной касательной ломаной;
2) кривая и ломаная имеют одинаковое количество локально выпуклых участков, точки перегиба кривой совпадают с точками перегиба опорной ломаной ГО (или лежат на звеньях перегиба касательной ломаной ГО).
Для пространственной кривой и пространственной ломаной все утверждения верны, если эти характеристики рассматриваются на проекции кривой и ломаной на соприкасающуюся плоскость в данной точке кривой или на плоскость текущих двух соседних сегментов ломаной.
Ограничения при структуризации кривой посредством ГО
Геометрический определитель v-кривой должен формироваться по определенным правилам:
1) угол между смежными звеньями ломаной должен быть > 90 градусов;
2) соотношения длин смежных звеньев должно быть больше 1/10 и меньше 10/1;
3) количества звеньев локально-выпуклого участка должно быть >= 3;
4) угол кручения нормального вектора к плоскости смежных сегментов пространственной ломаной должен быть < 45 градусов;
5) явно задаются участки перегиба и точки перегиба.
На опорной ломаной участок с 4-мя вершинами с изменением знака ориентации определяет участок перегиба. Точка перегиба принадлежит средней точке 2-звенника с меньшим значением площади треугольника. Двузвенник может быть прямолинейным.
На касательной ломаной линии участок с 4-мя вершинами (3-звенник) с изменением знака ориентации определяет участок перегиба. Точка перегиба принадлежит средней точке среднего звена 3-звенника.
6) прямолинейные участки задаются не менее чем четырьмя точками (или тремя сегментами), лежащими геометрически точно на прямой линии.
При нарушении этих правил выводится сообщение об ошибке. Критические участки выделяются желтым цветом. Конструктор графическими средствами AutoCAD должен исправить конфигурацию ГО на критических участках и повторить команду.
Правила хорошей структуризации
Предлагаются рекомендации или правила хорошей структуризации опорных и касательных ломаных.
При моделировании участка кривой с монотонным изменением кривизны придерживайтесь следующих правил: 1) Длины звеньев ломаной линии должны изменяться монотонно. 2) Углы между звеньями ломаной линии должны изменяться монотонно.
Команда V_Clothoid и ее опции позволять формировать участки кривой с заданными динамическими характеристиками изменения кривизны.
Для формирования участком с контролем динамических характеристик изменения кривизны используйте NURBzS шаблоны клотоиды.
Можно использовать NURBzS шаблоны клотоиды непосредственно для формирования участков кривой.
Можно использовать участок клотоиды для корректного указания точек ломаной линии при формировании участка с монотонным изменением кривизны.
Фиксированные значения кривизны в концевых точках задавайте только после формирования кривой с граничными значениями кривизны, близкими по значению к фиксированным значениям.
Команды плагина FairCurveModeler lsp app AutoCAD
Моделирование и редактирование кривой на опорной ломаной
Command V_Curve_Pnt
Моделирование и редактирование кривой на касательной ломаной и множестве касательных прямых
Command V_Curve_Tng
Моделирование участков кривой с линейным изменением кривизны
Command V_Clothoid
Моделирование и редактирование кривой на опорной ломаной
Command V_Curve_Pnt
Команда V_Curve_Pnt предназначена для моделирования кривой на опорной ломаной.
На запрос ‘Select …’ команды V_Curve_Pnt необходимо выбрать на чертеже Полилинию, 3D Полилинию или NURBzS кривую (уже построенную кривую с помощью плагина или другую кривую в формате NURBzS).
Можно моделировать на ломаной линии ГО с произвольным числом сегментов. Минимальное число сегментов = 2.
Можно выбирать сплайновые кривые, уже созданные данным плагином. Это означает возврат в сеанс редактирования. Причем, точный возврат. Можно вернуться в редактирование кривой на ГО Points или Tangents. Рисуются опорная ломаная, касательные отрезки и граничные радиусные отрезки окружностей соприкосновения.
В процессе редактирования можно переходить от одного вида ГО к другому. При переходе кривая не меняется! Это позволяет использовать для редактирования и опорные точки и касательные прямые.
V_Curve_Pnt - строит сплайновую кривую на опорной ломаной.
Построенная кривая имеет минимальное число экстремумов кривизны. Количество экстремумов кривизны точно соответствует форме исходной опорной ломаной. В частности, если точки ломаной лежат на конической кривой, сплайн геометрически точно аппроксимирует коническую кривую. При построении пространственной кривой обеспечивается непрерывность кручения.
Явно задаются участки перегиба и точки перегиба.
На опорной ломаной участок с 4-мя вершинами с изменением знака ориентации определяет участок перегиба. Точка перегиба принадлежит средней точке 2-звенника с меньшим значением площади треугольника. Двузвенник может быть прямолинейным.
Прямолинейные участки задаются не менее чем четырьмя точками (или тремя сегментами), лежащими геометрически точно на прямой линии.
Первоначально команда V_Curve_Pnt строит кривую по значениям граничных параметров (касательных векторов и граничных значений кривизны в концевых точках) по умолчанию. Программа сама определяет приемлемые значения кривизны и направления касательных векторов в концевых точках кривой с точки зрения плавности кривой.
После построения сплайна программа формирует вспомогательные примитивы для редактирования кривой в режиме редактирования опорной ломаной (Points): опорную ломаную, касательные отрезки в концевых точках кривой, касательные отрезки в точках перегиба кривой, радиусные отрезки соприкасающихся окружностей в концевых точках кривой (отрезки, соединяющие концевые точки кривой с центрами кривизны). Примитивы, доступные для редактирования в данном режиме, окрашены в красный цвет. Остальные примитивы (касательные отрезки к кривой в вершинах опорной ломаной) окрашены в желтый и цвет и их редактирование не влияет на форму кривой.
Можно редактировать опорную ломаную с помощью ручек и редактировать вспомогательные примитивы (радиусные отрезки и касательные отрезки в концевых точках, касательные отрезки в точках перегиба). После изменения конфигурации ломаной и вспомогательных примитивов необходимо повторить команду V_Curve_Pnt. Программа построит сплайн с учетом измененных параметров.
Можно изменять значения кривизны в концевых точках. Для этого необходимо изменить длины радиусных отрезков. Длина радиусного отрезка точно соответствует значению радиуса соприкасающейся окружности.
Для задания нулевой кривизны в концевой точке необходимо при заданной в системе точности 0.000001 задать длину радиусного вектора-отрезка больше чем 1./0.000001 = 1.0e+006. Программа определит точную нулевую кривизну.
В режиме редактирования графическими средствами AutoCAD опорной ломаной (Points) можно добавлять вершины / удалять вершины или изменить топологию кривой (замыкать / размыкать кривую), изменять положение вершин ломаной линии. После удаления / добавления вершин необходимо повторить команду. Нельзя одновременно удалять и добавлять вершины.
После изменения количества точек (грубого редактирования) необходимо повторно уточнить касательные в точках перегиба и концевых точках.
После выполнения команды V_Curve_Pnt и редактирования кривой в режиме Points можно перейти к дуальному ГО в виде множества касательных прямых, выполнив команду V_Curve_Tng.
Для фиксации построенной кривой и удаления вспомогательных примитивов выполните команду V_Fix_Crv.
Моделирование и редактирование кривой на касательной ломаной и множестве касательных прямых
Command V_Curve_Tng
предназначена для моделирования кривой на множестве касательных прямых.
На запрос ‘Select …’ команды V_Curve_Tng можно выбрать на чертеже Полилинию, 3D Полилинию или NURBzS кривую (уже построенную с помощью плагина кривую или другую кривую в формате NURBzS). При выборе полилинии команда строит сплайновую кривую на касательной ломаной.
Можно моделировать на ломаной линии ГО с произвольным числом сегментов. Минимальное число сегментов = 2.
Можно выбирать сплайновые кривые, уже созданные данным плагином. Это означает возврат в сеанс редактирования на ГО. Можно вернуться в редактирование кривой на ГО Points или Tangents. Рисуются опорная ломаная, касательные отрезки и граничные радиусные отрезки окружностей соприкосновения.
В процессе редактирования можно переходить от одного вида ГО к другому. При переходе кривая не меняется! Это позволяет использовать для редактирования и опорные точки и касательные прямые.
Построенная кривая имеет минимальное число экстремумов кривизны. Количество экстремумов кривизны точно соответствует форме исходной опорной ломаной. В частности, если касательная ломаная описывает коническую кривую, сплайн геометрически точно аппроксимирует коническую кривую. При построении пространственной кривой обеспечивается непрерывность кручения.
Явно задаются участки перегиба и точки перегиба. Участок ломаной линии с 4-мя вершинами (3-звенник) с изменением знака ориентации определяет участок перегиба. Точка перегиба принадлежит средней точке среднего звена 3-звенника.
Прямолинейные участки задаются не менее чем четырьмя точками (или тремя сегментами) ломаной линии, лежащими геометрически точно на прямой линии.
Первоначально команда V_Curve_Tng строит кривую по значениям граничных параметров вида значений кривизны по умолчанию. Программа сама определяет приемлемые значения кривизны. После построения сплайна программа формирует вспомогательные примитивы для редактирования кривой в режиме редактирования касательной ломаной (Tangents): касательные отрезки и радиусные отрезки соприкасающихся окружностей в концевых точках кривой (отрезки, соединяющие концевые точки кривой с центрами кривизны). Примитивы, доступные для редактирования в данном режиме, окрашены в красный цвет. Ломаная линия опорных точек окрашена в желтый и цвет и редактирование ломаной не влияет на форму кривой. Данная ломаная сохраняется и после редактирования. Эту ломаную можно использовать для редактирования как дульный вид ГО, который определяет ту же кривую.
Можно редактировать касательные отрезки с помощью ручек и редактировать вспомогательные примитивы - радиусные отрезки. После изменения конфигурации касательных отрезков необходимо повторить команду V_Curve_Tng. Программа построит сплайн с учетом измененных параметров.
На ГО Tangents можно управлять положением точки перегиба, перемещая вектор-отрезок касательной.
command V_Curve_Pnt. После выполнения команды V_Curve_Tng и редактирования кривой в режиме Tangents можно перейти к дуальному ГО в виде опорной ломаной, выполнив команду V_Curve_Pnt.
Для фиксации построенной кривой и удаления вспомогательных примитивов выполните команду V_Fix_Crv.
При редактировании положения и направления касательных отрезков необходимо следить за тем, чтобы 1) воображаемая ломаная, проходящая по начальным точкам отрезков удовлетворяла требованиям на конфигурацию опорной ломаной; 2) направления касательных не должны противоречить форме ломаной начальных точек. Необходимо учитывать, что кривая пойдет касательно к прямым, содержащим касательные отрезки, но не будет инцидентна начальным точкам отрезков.
Можно изменять значения кривизны в концевых точках. Для этого необходимо изменить длины радиусных отрезков. Длина радиусного отрезка точно соответствует значению радиуса соприкасающейся окружности.
Для задания нулевой кривизны в концевой точке необходимо при заданной в системе точности 0.000001 задать длину радиусного вектора-отрезка больше чем 1./0.000001 = 1.0e+006. Программа определит точную нулевую кривизну.
Command V_Clothoid
формирует участок клотоиды (спирали Корню).
Команда позволяет создавать NURBzS шаблоны участков кривой с фиксированным динамическим параметром (скоростью изменения кривизны по длине кривой).
Клотоида однозначно характеризуется динамическим параметром d - скоростью линейного изменения кривизны по длине кривой. Для задания формы начального участка клотоиды используются два параметра - длина участка кривой от нулевой точки и радиус кривизны в конечной точке участка спирали (l_max, r_min). Эти параметры определяют динамический параметр d = (1/r_min)/l_max = r_min / l_max.
Команда: v_clothoid
Программа сразу запрашивает параметры клотоиды: длину l_max начального участка и радиус r_min в конечной точке участка. Specify dynamic params for curve r_min <...>: (введите радиус в конечной точке) Specify dynamic params for curve l_max <...>: (введите длину участка)
После задания параметров команда отображает графический фантом участка клотоиды. Длина графического фантома должна быть больше, чем длина моделируемого участка кривой.
Программа отображает строковое меню: Командная строка: Enter an option [Dynamic/Radius/Length/Point/Startr/Create]: (введите опцию)
Параметры клотоиды l_max, r_min можно переопределить опцией [Dynamic].
Необходимый начальный участок клотоиды от нулевой точки может выделяться из графического фантома различным способом: - длиной участка от нулевой точки [Length]; - значением радиуса кривизны в конечной точке[Radius] ; - фиксированной точкой, через которую должна пройти клотоида [Point]. Из начального участка можно выделить участок с заданным радиусом кривизны в начальной точке опцией [Startr].
После определения конкретного участка, который тоже отображается в виде графического фантома, необходимо аппроксимировать участок NURBzS кривой или 3D полилинией [Create] .
При аппроксимации NURBzS кривой [toNurbzs] задается количество сегментов кривой.
При аппроксимации 3D полилинией [toPolyline] задается количество вершин полилинии.
Вспомогательные команды плагина
Уплотнение спецификации сплайновой кривой
Command V_Curve_Sbd
Повышение степени NURBzS кривой
Command V_Curve_Elv
Объединение двух NURBzS кривых
Command V_Curve_Nxt
Изменение направления NURBzS кривой
Command V_Curve_Rvs
Уплотнение спецификации сплайновой кривой
Command V_Curve_Sbd
Увеличивает в два раза количество сегментов. Команда полезна для локального редактирования кривой на тех же ГО: опорной ломаной или касательной ломаной.
Повышение степени NURBzS кривой
Command V_Curve_Elv
повышает степень NURBzS кривой на единицу.
Можно повышать степень до десятой степени и выше!! Команда полезна для локального редактирования в пределах дуги сегмента кривой посредством локального b-полигона.
Объединение двух NURBzS кривых
Command V_Curve_Nxt
объединяет две направленные кривые.
Указывается первая кривая. Затем указывается вторая. Вторая кривая присоединяется к концу первой начальной точкой.
Изменение направления NURBzS кривой
Command V_Curve_Rvs
Реверсирует направление кривой.
Команды тестирования кривой
Построение примитивов граничных параметров кривойх
Command v_test_crv
Повторение рисования графиков кривизны и эволюты
Command v_test_rpt
Рисование графика кривизны как функции F(x)
Команда v_test_gfx
Построение примитивов граничных параметров кривой
Command v_test_bnd
Построение примитивов граничных параметров кривой
Command v_test_crv
Команда v_test_crv рисует графики кривизны.
Команда отображает график кривизны над кривой, эволюту (геометрическое место центров соприкасающихся окружностей). Выводит в протокол макропараметры кривой - количество экстремумов кривизны, значение потенциальной энергии кривой, минимальное и максимальное значения кривизны. br /> График кривизны характеризует общую плавность кривой. График эволюты четко показывает количество экстремумов кривизны. Количество экстремумов равно количеству сингулярных точек графика эволюты.
Повторение рисования графиков кривизны и эволюты
Command v_test_rpt
повторяет процедуру v_test_crv на той же кривой с теми же параметрами. Не требует указания кривой.
Рисование графика кривизны как функции F(x)
Команда v_test_gfx
рисует график кривизны как функцию F(x) по длине кривой. Отрабатывается только после выполнения v_test_crv.
Построение примитивов граничных параметров кривой
Command v_test_bnd
рисует граничные параметры кривой в виде касательных отрезков и радиусных отрезков в концевых точках кривой.
Выделение из сплайновой кривой примитивов интерполированных точек, s-полигона, графиков кривизны и эволюты, граничных параметров
Command v_test_brk
разбивает кривую на примитивы: на 3d полилинию s-полигона сплайна, 3d полилинию интерполированных точек сплайна, 3d полилинии графиков кривизны и граничных параметров.
Особенности технологии моделирования кривой с помощью плагина
Использование дуальных ГО
Плавный график кривизны на концевых участках
Моделирование составных кривых 2-го порядка гладкости с плавным изменением кривизны.
Построение плавной кривой по методу "золотой середины"
Моделирование участков с монотонным изменением кривизны
Использование дуальных ГО
В процессе редактирования можно переходить от одного вида ГО к другому. При переходе кривая не меняется! Это позволяет использовать для редактирования и опорные точки, и касательные прямые.
Плавный график кривизны на концевых участках
Как обеспечить плавный график кривизны на концевых участках? Редактируя ГО кривой, добейтесь граничных значений кривизны близких к требуемым значениям. Для этого используйте значения кривизны, устанавливаемые автоматически (по умолчанию). Для задания кривизны по умолчанию просто удаляйте радиусные отрезки. После этого установите длину радиусного отрезка до требуемого значения радиуса.
Моделирование составных кривых 2-го порядка гладкости с плавным изменением кривизны
Пусть задана некоторая фиксированная сплайновая кривая (примитивы _Spline, сегмент конической кривой, участок клотоиды или винтовой линии). Необходимо к фиксированной кривой дорисовать сплайновую кривую с обеспечением 2-го порядка гладкости и с плавным графиком кривизны общей составной кривой. Отработайте команды V_Test_Crv и затем V_Test_Brk на фиксированной кривой. Программа нарисует в виде примитивов 3D Polyline интерполированных точек, графиков кривизны и граничных параметров вида вектора-отрезка касательной и вектора-радиуса кривизны в концевых точках кривой.
Постройте опорную ломаную линию для построения кривой - плавного продолжения фиксированной. В общей концевой точке задайте для кривой касательные и значения кривизны, равные граничным параметрам фиксированной кривой. Отредактируйте концевой участок кривой так, чтобы график эволюты кривой был плавным продолжением графика эволюты. Объедините кривые командой V_Curve_Nxt. Если необходимо, измените направления фиксированной кривой или построенной кривой так, чтобы согласовать направления кривых. Начало присоединяемой кривой должно совпадать с конечной точкой первой кривой.
Построение плавной кривой по методу "золотой середины"
Граничные параметры кривой по умолчанию при аппроксимации не всегда соответствуют точно природе аппроксимируемой кривой. Особенно это относится кривым, не соответствующих форме конических кривых, например, спирали. В этом случае приходится редактировать граничные параметры, подгоняя форму концевых участков.
Для устранения процедуры подгонки, иногда довольно трудоемкой, предлагается метод “золотой середины”. Метод заключается в том, что исходные геометрические определители дополняются точками на продолжениях моделируемых кривых. Эти точки могут лежать на продолжениях воображаемой кривой или вычисляться точно на аппроксимируемой аналитической кривой. После построения кривой командой V_Curve_Pnt экстраполяционные участки обрезаются стандартной командой _Trim.
Моделирование участков с монотонным изменением кривизны
В некоторых инженерных задачах при моделировании кривых необходимо контролировать скорость изменения кривизны по длине кривой. Например, при проектировании трассы дороги важно уложится в ограничения по т.н. динамическим характеристикам. Динамическая характеристика участка трассы - скорость изменения кривизны по длине.
Благодаря линейному изменению кривизны по длине клотоиды – клотоида является идеальным определителем кривой для моделирования кривых с контролем скорости изменения кривизны.
Команда V_Clothoid плагина позволяет моделировать участки кривой с линейным изменением кривизны. Первоначальный участок клотоиды в команде определяется парой параметров - концевым радиусом r и длиной l начального участка клотоиды. Тогда динамическая характеристика (скорость изменения кривизны по длине) определяется выражением v = l * r = const.
Конкретный участок клотоиды можно выделить из первоначального участка или получить преобразованием первоначального участка с использованием различных параметров: 1) длины участка 2) значений начального и коне&l