Научная статья на тему 'Автоматическое моделирование поверхности одинакового ската на эллиптическом планев системе AutoCad посредством языка AutoLisp'

Автоматическое моделирование поверхности одинакового ската на эллиптическом планев системе AutoCad посредством языка AutoLisp Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
250
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОВЕРХНОСТЬ / МОДЕЛИРОВАНИЕ / AUTOLISP / AUTOCAD / ОБОЛОЧКА / ФОРМООБРАЗОВАНИЕ / СЛОЙ / ОБРАЗУЮЩАЯ / НАПРАВЛЯЮЩАЯ / ПЛОСКОСТЬ / SURFACE / MODELING / SHELL / FORMATION LINE / LAYER / GUIDE LINE / PLANE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Романова Викторина Анатольевна, Тхома Анамария

Графическое компьютерное моделирование реальная возможность решения задач по образованию поверхностей кинематическим способом. Она обусловлена наличием систем автоматизированного конструирования, таких как MathCad, Mathematika, AutoCad и др. Преимуществом системы AutoCad является наличие встроенного в нее языка функционального AutoLisp. Располагая широким набором математических функций и функций для вычерчивания графических объектов, язык AutoLisp позволяет написать программу для вычерчивания оболочек любой сложности, в частном случае оболочки одинакового ската на эллиптическом плане с последующей передачей результатов в среду AutoCAD. Воспроизведение объектов в замедленном режиме дает возможность составлять мини-фильмы о формировании поверхностей. Изображение графических построений в трехмерном пространстве с использованием цветной палитры AutoCAD усиливает выразительность изображения поверхностей и их элементов [1]. Целью исследования является возможность моделирования поверхности одинакового ската на эллиптическом плане, осуществляемая ее поэтапным вычерчиванием в замедленном динамическом режиме с созданием мини-фильма, позволяющего представить на экране монитора процесс образования поверхности.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AUTOMATIC MODELING OF THE SURFACE OF THE SAME SLOPE IN THE ELLIPTICAL PLAN IN AUTOCAD THROUGH THE AUTOLISP LANGUAGE

Graphical computer modeling is a real possibility of solving problems for the education surfaces the kinematic method. It is due to the availability of computer-aided design, such as MathCad, Mathematika, AutoCad etc. The advantage of AutoCad is the availability of built-in AutoLisp language is functional. Having a wide set of mathematical functions and functions to draw graphical objects, language AutoLisp allows you to write a program to draw the shells of any complexity, in the particular case of shell the same slope in the elliptical plan, with subsequent transfer of results in the AutoCAD environment. The reproduction of objects in slow motion gives you the ability to create mini-movies about the formation of the surfaces. Image graphic creations in three-dimensional space, using the AutoCAD color palette enhances the expressiveness of the image surfaces and their elements.The aim of the study is the possibility of modeling the surface of the same slope in the elliptical plan, carried out by its gradual drawing in slow dynamically creating a mini-film, which allows to represent on the screen the process of formation of the surface.

Текст научной работы на тему «Автоматическое моделирование поверхности одинакового ската на эллиптическом планев системе AutoCad посредством языка AutoLisp»

УДК 004.925.83

АВТОМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ПОВЕРХНОСТИ ОДИНАКОВОГО СКАТА НА ЭЛЛИПТИЧЕСКОМ ПЛАНЕ В СИСТЕМЕ AUTOCAD ПОСРЕДСТВОМ ЯЗЫКА AUTOLISP

В.А. Романова, Тхома Анамария

Российский университет дружбы народов ул. Миклухо-Маклая, д. 6, Москва, Россия, 117198

Графическое компьютерное моделирование — реальная возможность решения задач по образованию поверхностей кинематическим способом. Она обусловлена наличием систем автоматизированного конструирования, таких как MathCad, Mathematika, AutoCad и др. Преимуществом системы AutoCad является наличие встроенного в нее языка функционального AutoLisp. Располагая широким набором математических функций и функций для вычерчивания графических объектов, язык AutoLisp позволяет написать программу для вычерчивания оболочек любой сложности, в частном случае — оболочки одинакового ската на эллиптическом плане с последующей передачей результатов в среду AutoCAD. Воспроизведение объектов в замедленном режиме дает возможность составлять мини-фильмы о формировании поверхностей. Изображение графических построений в трехмерном пространстве с использованием цветной палитры AutoCAD усиливает выразительность изображения поверхностей и их элементов [1].

Целью исследования является возможность моделирования поверхности одинакового ската на эллиптическом плане, осуществляемая ее поэтапным вычерчиванием в замедленном динамическом режиме с созданием мини-фильма, позволяющего представить на экране монитора процесс образования поверхности.

Ключевые слова: поверхность, моделирование, AutoLisp, AutoCAD, оболочка, формообразование, слой, образующая, направляющая, плоскость

Поверхность одинакового ската — линейчатая аналитическая поверхность, имеющая постоянный угол наклона между прямолинейной образующей и главной нормалью к направляющей кривой.

В настоящее время все чаще при разработке проектов пространственных конструкций с учетом эстетических задач архитекторы обращаются к поверхностям одинакового ската. Их можно наблюдать в проектах стадионов (г. Донецк, Украина, г. Волгоград, Россия) (рис. 1) [4], а также в проектах архитектурных ансамблей, включающих сочетания геометрических форм, в том числе поверхности одинакового ската. К ним можно отнести бизнес-центр в Италии, (дизайн Захи Хадид), национальную библиотеку в г. Астана (Казахстан) (рис. 2) [3] и др.

Графическое компьютерное моделирование — реальная возможность решения задач по образованию поверхностей кинематическим способом. Она обусловлена наличием систем автоматизированного конструирования, таких как MathCad, Mathematika, AutoCad и др. Преимуществом системы AutoCad является наличие встроенного в нее языка функционального AutoLisp. Располагая широким набором математических функций и функций для вычерчивания графических объектов, язык AutoLisp позволяет написать программу для вычерчивания оболочек

любой сложности, в частном случае — оболочки одинакового ската на эллиптическом плане, с последующей передачей результатов в среду AutoCAD. Воспроизведение объектов в замедленном режиме дает возможность составлять мини-фильмы о формировании поверхностей. Изображение графических построений в трехмерном пространстве с использованием цветной палитры AutoCAD усиливает выразительность изображения поверхностей и их элементов [1].

Рис. 1. Проект стадиона в Волгограде к ЧМ по футболу в 2018 г. (Россия) [The project of stadium in Volgograd to FIFA World Cup in 2018 (Russia)]

Рис. 2. Национальная библиотека в г. Астане (Казахстан) [Nationay Library in Astana (Kazahstan)]

Целью исследования является возможность моделирования поверхности одинакового ската на эллиптическом плане, осуществляемая ее поэтапным вычерчиванием в замедленном динамическом режиме с созданием мини-фильма, позволяющего представить на экране монитора процесс образования поверхности.

Общая теоретическая база для формирования поверхностей описана в [2].

Поверхности одинакового ската формируются прямолинейной образующей, которая во всех положениях имеет постоянный угол наклона ^ с главными нормалями пь п2, п3,..., пкк направляющей кривой т. Если направляющая кривая — плоская линия, линейные образующие лежат в нормальных плоскостях Пь П2, П3, ..., Пк к направляющей т (рис. 3).

Рис. 3. Образующие линии q1, q2, q3 находятся в плоскостях П1, расположены по нормалям к направляющей m [Formation lines q1, q2, q3 are in planes П1, П2, П3, located normal to the guide line m]

П2

П3

Возможно образование поверхности одинакового ската на эллиптическом плане кинематическим методом.

Элементами поверхности являются эллипс q — направляющая и прямая линия m — образующая. Начальное положение элементов поверхности изображено на рис. 4.

Рис. 4. Начальное положение элементов поверхности [The initial position of the surface elements]

Наиболее подходящей для формирования поверхности в системе AutoCad является функция Loft, при этом в качестве сечений необходимо принять положения образующей при движении по эллипсу. Перемещение образующей выполняет функция Move.

Для выполнения условия постоянства величины угла между образующей прямой и нормалью к эллипсу необходимо на каждом шаге построения устанавливать систему координат в текущую точку на эллиптической кривой и направлять ось х по нормали в этой кривой. Чтобы установить ось x по нормали к направляющей, определяется значение производной y'(x) от эллиптической функции и угол у между касательной к кривой и осью x: у = arctg y', а затем угол в между осью x и нормалью к кривой: в = у + 90°.

Для формирования поверхности разработан комплекс программ, включающий пользовательские функции Sk10.lsp, Form-surface.lsp и др.

Функцией Sk10.lsp строится массив отсеков поверхности и образующих линий, причем каждый отсек и образующая размещаются в соответствующем им слое. Из образующих в процессе формирования составляется список, который далее используется для образования поверхности. Из отсеков и образующих создается блок.

Образование поверхности выполняется функцией Form-surface.lsp. Ею предусмотрена вставка блока с отсеками и образующими при «замороженных» слоях, в которых они расположены. Поверхность формируется в замедленном динамическом режиме путем последовательного «размораживания» слоев.

Исходными данными для построения поверхности являются: большая и малая полуоси эллипса a, b, угол наклона alfa образующей прямой к нормали ni, длина образующей прямой Lobr.

Алгоритм программы образования отсеков поверхности:

1) ввод исходных данных выполняется из командной строки по запросу программы. Используется функция Getreal;

2) устанавливается изометрический вид Nwiso;

3) строится эллипс посредством пользовательской функции Elip. Начало координат — на пересечении осей эллипса;

4) создается пустой набор для образующих поверхности. Функция — (setq ssrl '());

5) начальная образующая строится по двум точкам: ptl и pte. Точка ptl задается на контуре эллипса при ф = 0, где ф — угол между радиус-вектором точки эллипса и осью X. Точка pte определяется в полярных координатах: (setq pte (polar ptl (- pi alfar) lobr)). Построение образующей выполняет функция (command "pline" ptl pte ""). Образующей присваивается идентификатор enl, что позволяет ввести ее в набор ssrl;

6) для вычисления точек эллипса и производной эллиптической функции создаются две пользовательские функции El — pt, Ell — pt;

7) для построения отсеков поверхности создается цикл с параметрами i (l < i < 7l) и ф. Параметр i необходим для формирования имени слоя, параметр ф — для построения образующих. В цикле выполняются следующие операции:

— создание имени слоя, соответствующем параметру i, и установка его текущим:

(setq nsloy (strcat "vent" (itoa i)) ) (command "layer" "s" nsloy "");

— перенос осей координат в точку эллипса pt2, соответствующую углу ф, определяемому соотношением ф = ф + Аф;

— для ориентации осей координат по нормали к эллипсу создаются две пользовательские функции Uskl и Usk2. Угол у, необходимый для поворота осей координат вокруг оси z, определяется с помощью функций

(setq yil (/ b (* a -l.O (/ (sin fi) (cos fi)) ))) (setq gamma (atan yll)).

Последующим поворотом системы координат вокруг оси х на угол ±9O° вокруг оси y достигается установка осей координат так, что ось х направлена по нормали к эллипсу;

— вычерчивание образующих выполняет функция (command "pline" '(O O) (polar '(O O) alfar lobr) "");

— формирование отсеков поверхности выполняют совместно работающие функции Loft и Foreach;

8) по окончании работы цикла создается блок Skat-bl, содержащий отсеки поверхности и образующие линии.

Для визуализации процесса образования поверхности создается пользовательская функция Skll.lsp, включающая функцию Form-surface.lsp, выполняющую визуализацию процесса образования поверхности посредством «размораживания» слоев с отсеками, содержащимися в блоке Skat-bl.

На рисунке 5 представлен процесс формирования поверхности, на рис. б — каркас поверхности, на рис. 7 представлена поверхность одинакового ската. Код функции Form-surface.lsp приводим ниже: (defun form-surface (k) (repeat k

(setq nsloyi (strcat "vent" (itoa i)) ) (command «layer» «thaw» nsloyi «») (command «erase» si «»)

(setq s2 (ssget «x» (list ( cons 8 (substr nsloyi 1 6)) ))) (setq si s2)

(command «delay» 300)

(setq i (+ i 1)) ))

Рис. 5. Образование

поверхности [Formation of surface]

Рис. 6. Каркас поверхности [The frame surface]

Рис. 7. Поверхность одинакового ската [The surface of the same slope]

Таким образом, моделирование поверхности одинакового ската стало возможным в САПР AutoCad благодаря программам, составленным на языке AutoLisp.

ЛИТЕРАТУРА

[1] Иванов В.Н., Романова В.А. Конструкционные формы пространственных конструкций. Визуализация поверхностей в системах MathCad, AutoCad. М.: Ассоциация строительных вузов, 2016. 410 с.

[2] Кривошапко С.Н., Иванов В.Н. Энциклопедия аналитических поверхностей. М.: ЛИБРО-КОМ, 2010. 560 с.

[3] Национальная библиотека. URL: http://www.evolo.us/architecture/kazakhstan-library

[4] Проект стадиона в Волгограде к ЧМ по футболу 2018 г. URL: http://www.bing.com/images/ search?q=проект+стадиона+в+Волгограде&view=detailv2&&id=7033140072A4CE84D1C6 6D06E401C528FDB4653B&selectedIndex=47&ccid=8c0H0MIE&simid=6080367561502909 13&thid=0IP.Mf1c387d0c204e57cf4fa7970b9a08089o0&ajaxhist=0

AUTOMATIC MODELING OF THE SURFACE OF THE SAME SLOPE IN THE ELLIPTICAL PLAN IN AUTOCAD THROUGH THE AUTOLISP

LANGUAGE

V.A. Romanova, Thoma Anamariya

Peoples' Friendship University of Russia Miklukho-Maklaya str., 6, Moscow, Russia, 117198

Graphical computer modeling is a real possibility of solving problems for the education surfaces the kinematic method. It is due to the availability of computer-aided design, such as MathCad, Mathematika, AutoCad etc. The advantage of AutoCad is the availability ofbuilt-in AutoLisp language is functional. Having a wide set of mathematical functions and functions to draw graphical objects, language AutoLisp allows you to write a program to draw the shells of any complexity, in the particular case of shell the same slope in the elliptical plan, with subsequent transfer of results in the AutoCAD environment. The reproduction of objects in slow motion gives you the ability to create mini-movies about the formation of the surfaces. Image graphic creations in three-dimensional space, using the AutoCAD color palette enhances the expressiveness of the image surfaces and their elements.

The aim of the study is the possibility of modeling the surface of the same slope in the elliptical plan, carried out by its gradual drawing in slow dynamically creating a mini-film, which allows to represent on the screen the process of formation of the surface.

Key words: surface, modeling, AutoLisp, AutoCAD, shell, formation line, layer, guide line, a plane

REFERENCES

[1] Ivanov V.N., Romanova V.A. Konstruktsionnyie formyi prostranstvennyih konstruktsiy. Vizualizatsiya poverhnostey v sistemah MathCad, AutoCad. M.: Assotsiatsiya stroitelnyih vuzov, 2016 [Structural forms of spatial designs. Visualization of surfaces in the system MathCad, AutoCad. Moskow, Publishing house Association of building universities, 2016]. 410 p.

[2] Krovoshapko S.N., Ivanov V.N. Entsiklopediya analiticheskih poverhnostey [Encycloped of analytical surfaces]. M.: LIBROKOM, 2010. 560 p.

[3] Natsionalnaya biblioteka [National library]. URL: http://www.evolo.us/architecture/kazakhstan-library

[4] Proekt stadiona v Volgograde k ChM po futbolu 2018 g [The project of stadium in Volgograd to FIFA World Cup in 2018]. URL: http://www.bing.com/images/search?q=npoeKT+CTaaHOHa+B +BoOTorpaae&view=detailv2&&id=7033140072A4CE84D1C66D06E401C528FDB4653B&sel ectedIndex=47&ccid=8c0H0MIE&simid=608036756150290913&thid=0IP.Mf1c387d0c204e 57cf4fa7970b9a08089o0&ajaxhist=0

i Надоели баннеры? Вы всегда можете отключить рекламу.