Программа моделирования кривых линий и поверхностей высокого качества по критериям плавности. Приложение AutoCAD.
Примеры тестирования функций программы FairCurveModeler
На тестовых примерах показываются возможности функций программы FairCurveModeler.
Показываются преимущества Программы при моделирования кривых с участками постоянной кривизны и с монотонным изменением кривизны,
с прямолинейными участками v-кривой и с точками перегиба с использованием двух видов геометрического определителя v-кривой (опорной ломаной и касательной ломаной).
Демонстрируется возможность задания граничных условий вида касательной и кривизны с помощью геометрических объектов вида отрезка и окружности.
Дается методика построения профиля выпуклого кулачка с плавным изменением кривизны и с точным моделированием участков окружности.
Показывается техника моделирования пространственных кривых
высокого качества на примере улучшения качества пространственной спиральной кривой,
нарисованной командой _Helix AutoCAD.
Пример 1. Построение кривой по точкам окружности.
Пример 2. Построение кривой на касательной ломаной к окружности.
Пример 3.Построение плавной кривой сопряжения клотоиды и окружности
Пример 4. Построение плавной кривой сопряжения двух окружностей с монотонным изменением кривизны
Пример 5. Построение плавной кривой сопряжения двух окружностей с общим центром
Пример 6. Построение кривой с прямолинейным участком и с точкой перегиба
Пример 7. Методика моделирования пространственных кривых высокого качества на примере улучшения качества пространственной спиральной кривой, нарисованной командой _Helix AutoCAD
Пример 1. Построение кривой по точкам окружности
FairCurveModeler. Команда V_Curve. Построение v-кривой и аппроксимация кубическим NURBzS шаблоном на опорной ломаной окружности с неравномерным распределением точек (рис. 1) командой V_Curve приложения AutoCAD. Кубический NURBzS шаблон геометрически точно представляет окружность.
Рис. 1. Построение v-кривой и аппроксимация NURBzS шаблоном на опорной ломаной окружности с неравномерным распределением точек командой V_Curve программы FairCurveModeler в AutoCAD
На рис. 2 для сравнения показано построение на тех же точках кривой командой _SPLINE AutoCAD и командой "кривая Безье” КОМПАС.
Рис. 2. Построение "кривой Безье” КОМПАС на опорной ломаной окружности с неравномерным распределением точек
Рис. 3. Построение кубической NURBS кривой командой _SPLINE AutoCAD на опорной ломаной окружности с неравномерным распределением точек
Пример 2. Построение кривой на касательной ломаной к окружности
Уникальная опция команды V_Curve – возможность моделирования v-кривых 5-го порядка гладкости помощью геометрического определителя вида касательной ломаной. На рис. 4 показан пример построения v-кривой на геометрическом определителе вида касательной ломаной командой V_Curve приложения FairCurveModeler. Исходная ломаная линия является касательной ломаной к окружности. Показан график центров кривизны v-кривой и график кривизны v-кривой.
Рис. 4. Построение v-кривой на касательной ломаной командой V_Curve программы FairCurveModeler.
Геометрический определитель вида касательной ломаной имеет только квадратичная b-сплайновая кривая 1-го порядка гладкости.
Точность приближения окружности на касательной ломаной квадратичной b-сплайновой кривой можно проверить в AutoCAD
штатной командой _PEDIT (_PEDIT -> _SPLINE, системная переменная SplineType = 5), в КОМПАС командой "NURBS” с порядком кривой 3 (соответствует 2-ой степени кривой).
Пример 3. Построение плавной кривой сопряжения клотоиды и окружности
Исходная опорная ломаная снимается с начального участка клотоиды и участка окружности кривизны в концевой точке клотоиды (рис. 5).
Команда V_Curve позволяет задавать граничные параметры вида касательного вектора и кривизны одновременно. Касательная и нулевая кривизна в начале кривой задаются отрезком, касательная и кривизна в конце кривой – окружностью. Как видно из рис. 5, метод восстановления v-кривой сохраняет закон изменения кривизны идеального образца и обеспечивает плавный выход на кривизну окружности.
Рис. 5. Построение на опорной ломаной плавной кривой с монотонным изменением кривизны от нулевого значения командой V_Curve программы FairCurveModeler в КОМПАС.
Пример 4. Построение плавной кривой сопряжения двух окружностей с монотонным изменением кривизны
Предварительно с помощью команды V_Clothoid определяется участок сопряжения двух окружностей заданного радиуса. Участок клотоиды аппроксимируется NURBzS шаблоном. Командой V_TestB на NURBzS шаблоне клотоиды определяются граничные касательные отрезки и окружности кривизны.
Точки ломаной снимаются с окружностей и клотоиды. Первоначально на точках ломаной линии строится v-кривая и аппроксимируется кубическим NURBzS-шаблоном (команда V_Curve).
Рис. 6. Построение на опорной ломаной плавной кривой сопряжения двух окружностей с монотонным изменением кривизны командой V_Curve программы FairCurveModeler в КОМПАС. Выделен участок клотоиды.
Пример 5. Построение плавной кривой сопряжения двух окружностей с общим центром
Такая геометрическая задача возникает при профилировании кулачка распределительного вала. Профиль кулачка распределительного вала содержит два участка из дуг окружностей, связанных переходными кривыми.
Профиль в целом должен иметь порядок непрерывности не менее 4-го порядка. Несоблюдение этого требования буквально "дорого” обошлось владельцам "жигулей” 70-х годов прошлого века [Кулачки анфас и в профиль // Журнал "За рулем”, май 5, 97. –С.162-163.].
Для построения профиля высокого качества может использоваться команда V_Curve построения v-кривой 5-го порядка гладкости на геометрическом определителе вида опорной ломаной или касательной ломаной.
Предварительно подготавливается исходная ломаная на многоугольниках с числом вершин 24 и 48, вписанных в окружности радиусов 50 и 100 (рис 7, слева). Затем на ломаной с строятся сплайновые кривые командой _SPLINE AutoCAD для сравнения качества (на рис. 7, справа - кривая синего цвета) и командой V_Curve программы FairCurveModeler (на рис. 8, справа - кривая зеленого цвета). б) построение сплайновых кривых на ломаной (ломаная выделена)
Рис. 7. Моделирование профиля кулачка: слева) подготовка ломаной на многоугольниках, вписанных в окружности радиусов 50 и 100;
справа) построение сплайновых кривых на ломаной (ломаная выделена)
Затем с помощью команды V_Test программы FairCurveModeler выполняется тестирование сплайновых NURBS кривых, построенных командой _SPLINE AutoCAD (рис. 7, слева ) и командой V_Curve (рис. 7, справа ) программы FairCurveModeler. Показаны графики кривизны светло-синего цвета.
Рис. 8. Тестирование сплайновых NURBS кривых, построенных: слева) командой _SPLINE AutoCAD; справа) командой V_Curve программы FairCurveModeler в AutoCAD. Показаны графики кривизны светло-синего цвета.
Как видно на рис. 8, график кривизны NURBS кривой, построенной командой _SPLINE AutoCAD, имеет выраженную осцилляцию кривизны на участке выхода на окружность большего диаметра. Кривая, построенная командой V_Curve программы FairCurveModeler в AutoCAD, имеет менее выраженную осцилляцию кривизны на этом участке.
Касательная ломаная как геометрический определитель обладает важным свойством: дуга моделируемой кривой полностью содержится в пределах соприкасающегося треугольника, образованного смежными звеньями. При редактировании формы кривой это чрезвычайно удобно.
Пусть та же исходная ломаная будет теперь касательной ломаной. Первое и последнее звено укоротим в два раза (точка касания этих звеньев к окружности должна совпадать с первой / последней точкой звеньев). На рис. 9 (слева) определена v-кривая. Спрямление кривой на длинном участке касательной ломаной следовало ожидать, так как кривая всегда содержится в пределах треугольника из смежных звеньев. Поэтому для увеличения полноты на этом участке добавим дополнительную вершину, представляя параболу, которая должна пройти в этом соприкасающемся треугольнике. Построим на модифицированной касательной ломаной v-кривую. Получили профиль с идеальным графиком кривизны!
Рис. 9. V-кривые на касательной ломаной: слева) на исходной ломаной; справа) на ломаной с добавленной точкой построенные командой V_Curve программы FairCurveModeler в AutoCAD.
Пример 6. Построение кривой с прямолинейным участком и с точкой перегиба
Команда V_Curve позволяет моделировать кривые с прямолинейными участками и точками перегиба. Прямолинейные участки исходной опорной ломаной задаются точками, геометрически точно лежащими на прямой.
На рис. 10, слева) показана v-кривая (NURBzS шаблон), построенная командой V_Curve на опорной ломаной с прямолинейным участком (ломаная выделена). Прямолинейный участок задан тремя точками.
Для сравнения на той же опорной ломаной построена кубическая NURBS кривая командой _SPLINE AutoCAD (рис. 10, справа). Команда _SPLINE не обеспечивает возможности построения прямолинейного участка.
Рис. 10. Сплайновые кривые на опорной ломаной с прямолинейным участком: слева) v-кривая (NURBzS шаблон),
построенная командой V_Curve программы FairCurveModeler в AutoCAD; справа) кубическая NURBzS кривая, построенная командой _SPLINE AutoCAD;
середина) v-кривая, построенная на касательной ломаной.
На рис. 10, середина) показана v-кривая (NURBzS шаблон) с точкой перегиба, построенная командой V_Curve программы FairCurveModeler в AutoCAD на той же исходной ломаной (ломаная выделена) как на касательной. Отметим, что v-кривая на касательной ломаной имеет плавный график кривизны.
Пример 7. Методика моделирования пространственных кривых высокого качества на примере улучшения качества пространственной спиральной кривой, нарисованной командой _Helix AutoCAD
Для моделирования кривой с помощью b-сплайновой кривой предварительно на пространственной ломаной строится v-кривая и аппроксимируется NURBzS шаблоном. Затем NURBzS шаблон аппроксимируется b-сплайновой кривой.
Проверим команду V_BSpline на задаче аппроксимации пространственной спирально-винтовой линии (примитива _HELIX) AutoCAD.
Для построения примитива _HELIX в AutoCAD могут задаваться диаметр нижнего основания, диаметр верхнего основания, высота и количество витков.
Положим, необходимо построить спираль с одним витком (диаметр нижнего основания – 100, диаметр верхнего основания – 50, высота - 50, количество витков – 1). Первоначально строится примитив СПИРАЛЬ (_HELIX) с тремя витками (диаметр нижнего основания – 200, диаметр верхнего основания – 25, высота - 150, количество витков – 3). С лишним витком вначале и лишним витком в конце. Примитив _HELIX, оформленный как БЛОК, разбивается командой _BREAK. Таким образом, из примитива _HELIX выделяется NURBzS-шаблон. В конце кривой обрезается участок с чрезмерно маленькой дугой сплайна командой _TRIM. Затем командой V_BSpline NURBzS-шаблон аппроксимируется b-сплайновой кривой 8-ой степени.
После построения b-сплайновой кривой лишние витки отсекаются командой _TRIM. Такая методика аппроксимации исходной кривой с экстраполяционными участками в начале и в конце позволяет исключить влияние граничных условий на основную часть b-сплайновой кривой.
Для сравнения качества NURBzS шаблона примитива _HELIX AutoCAD и аппроксимирующей b-сплайновой кривой с помощью команды V_Test выводятся графики кривизны.
На рис. 11 на виде сверху показаны NURBzS шаблон примитива _HELIX AutoCAD, выделенная из примитива _HELIX, и аппроксимированная b-сплайновая кривая. Лишние витки кривых отсечены. Там же показаны графики кривизны NURBzS шаблона примитива _HELIX AutoCAD.
Рис. 11. NURBzS шаблон примитива _HELIX AutoCAD и аппроксимирующая b-сплайновая кривая. Показаны также графики кривизны NURBzS шаблона примитива _HELIX AutoCAD.
Далее на рис. 12, 13, 14 показаны графики кривизны NURBzS шаблона примитива _HELIX AutoCAD в различных видах и масштабах.
Рис. 12. Графики кривизны NURBzS шаблона примитива _HELIX AutoCAD на виде сверху.
Рис. 13. График центров кривизны NURBzS шаблона примитива _HELIX AutoCAD на виде сверху в большом масштабе.
Рис. 14. Графики кривизны NURBzS шаблона примитива _HELIX AutoCAD на виде слева.
Затем командой V_Test программы FairCurveModeler построены графики кривизны аппроксимирующей b-сплайновой кривой 8-ой степени. Далее на рис. 15,16,17 показаны графики кривизны в различных масштабах b-сплайновой кривой 8 степени
Рис. 15. Графики кривизны b-сплайновой кривой 8-ой степени на виде сверху.
Рис. 16. График центров кривизны b-сплайновой кривой 8-ой степени на виде сверху в большом масштабе.
Рис. 17. Графики кривизны b-сплайновой кривой на виде слева
Как видно из рис. 16, b-сплайновая кривая 8-ой степени, построенная командой V_BSpline программы FairCurveModeler обеспечивает практически идеальное качество аппроксимации спирально-винтовой линии.