Научная статья на тему 'Конструирование кинематических моделей линий и поверхностей в компьютерной графике'

Конструирование кинематических моделей линий и поверхностей в компьютерной графике Текст научной статьи по специальности «Механика и машиностроение»

CC BY
295
67
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНАЯ ГРАФИКА / МЕТОДИКА / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / ЛИНИИ / ПОВЕРХНОСТИ / КИНЕМАТИЧЕСКИЙ МЕТОД / АФФИННЫЕ ПРЕОБРАЗОВАНИЯ / COMPUTER GRAPHICS / TECHNIQUE / MATHEMATICAL MODEL / LINES / SURFACES / KINEMATIC METHOD / AFFINE TRANSFORMATIONS

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

Отсутствие четких требований в образовательных стандартах к содержанию дисциплины «Компьютерная графика» (далее КГ) приводит к тому, что на занятиях многих университетов изучаются «инструкции по использованию программ (AutoCAD, Компас и другие)», а не математические вопросы построения изображений линий и поверхностей на экране. Немногочисленные публикации по данной теме не содержат подробного описания заданий и методик их реализации в учебном процессе. С целью восполнить этот пробел, автором представлена методика построения математических моделей линий и поверхностей, базирующаяся на программе MathCAD со встроенным графическим редактором. Предполагается, что она будет применяться при изучении дисциплины КГ в университете. В статье подробно изложены алгоритмы образования плоских кривых, пространственных винтовых линий, поверхностей вращения, переноса и винтовой поверхности. Особое внимание при конструировании линий уделено положению точки в начале движения и направлению ее вращения, а поверхностей правильному выбору образующих и направляющих линий. Материалы и методы исследования включают анализ научно-методической литературы по этому вопросу, практики преподавания КГ в вузах. Процесс геометрического моделирования линий и поверхностей основан на непрерывном движении точки (для кривых) и образующей (для поверхностей) по заданной траектории. Настоящая методика предназначена для студентов вузов и состоит из трех разделов. В разделе 1 изложен алгоритм построения изображений некоторых трансцендентных кривых, спиралей и циклических кривых. В разделе 2 описано построение изображений винтовых линий постоянного и переменного шага, которые образованы сложением вращательного движения точки вокруг неподвижной оси и переносом вдоль этой оси по определенному закону. В разделе 3 рассмотрено конструирование поверхностей вращения, переноса и винтовой поверхности. Кинематические модели поверхностей могут быть получены с помощью элементарных геометрических преобразований образующих линий: вращения, переноса и сложного преобразования. Новизна выполненного автором исследования заключается в том, что для освоения данной темы использована программа MathCAD, которая позволяет быстро и точно решать задачи геометрического конструирования объектов, получать качественную их визуализацию без знания языков программирования. Результаты представлены в виде рисунков с использованием программы MathCAD.

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

Design of kinematic models of lines and surfaces in computer graphics

"Computer graphics" (further KG) leads lack of accurate requirements in educational standards to the content of discipline to the fact that on occupations of many universities operation manuals of programs (AutoCAD, the Compass and others), "but not mathematical questions of creation of images of lines and surfaces on the screen are studied". The few publications on this topic do not contain a detailed description of tasks and methods of their implementation in the educational process. In order to fill this gap, the method of building mathematical models of lines and surfaces based on the MathCAD program with the built-in graphical editor is presented. It is suggested that it will be used in the study of KG discipline at the university. The paper details algorithms for forming planar curves, spatial helical lines, surfaces of rotation, transfer, and helical surface. When designing lines, special attention is paid to the position of the point at the beginning of the motion and the direction of its rotation, and the surfaces are given to the correct selection of generatrix and guide lines. Materials and methods of research include analysis of scientific and methodological literature on this issue, practice of teaching KG in universities. The process of geometric modeling of lines and surfaces is based on the non-partial motion of the point (for curves) and the generatrix (for surfaces) along the specified paths. The present methodology is intended for students of higher education and consists of three sections. Section 1 describes the algorithm for imaging some transcendent curves, spirals, and cyclic curves. Section 2 describes the construction of constant pitch and pen pitch helical line images, which are formed by adding the rotational motion of a point about a non-movable axis and transferring along that axis according to a certain law. Section 3 describes the construction of rotation, transfer, and helical surfaces. Surface kinematic models can be derived from elementary geometric transformations of generatrix lines, such as rotation, translation, and complex transformation. The novelty of the performed research is that the MathCAD program has been used to learn this one, which allows to quickly and accurately solve problems of geometric design of objects, to get qualitative visualization of them without knowledge of programming languages. The results are presented as figures using the MathCAD program.

Текст научной работы на тему «Конструирование кинематических моделей линий и поверхностей в компьютерной графике»

Вестник Евразийской науки / The Eurasian Scientific Journal https://esj.todav 2019, №6, Том 11 / 2019, No 6, Vol 11 https://esj.today/issue-6-2019.html URL статьи: https://esj.today/PDF/38ITVN619.pdf Ссылка для цитирования этой статьи:

Алексюк А.А. Конструирование кинематических моделей линий и поверхностей в компьютерной графике // Вестник Евразийской науки, 2019 №6, https://esj.today/PDF/38ITVN619.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.

For citation:

Aleksyuk A.A. (2019). Design of kinematic models of lines and surfaces in computer graphics. The Eurasian Scientific Journal, [online] 6(11). Available at: https://esj.today/PDF/38ITVN619.pdf (in Russian)

УДК 514.7 ГРНТИ 27.41.41

Алексюк Александр Анатольевич

ФГБОУ ВО «Морской государственный университет им. адм. Г.И. Невельского», Владивосток, Россия

Доцент кафедры «Начертательной геометрии и графики» Кандидат технических наук, доцент E-mail: aleksuk_a@mail.ru

Конструирование кинематических моделей

линий и поверхностей в компьютерной графике

Аннотация. Отсутствие четких требований в образовательных стандартах к содержанию дисциплины «Компьютерная графика» (далее - КГ) приводит к тому, что на занятиях многих университетов изучаются «инструкции по использованию программ (AutoCAD, Компас и другие)», а не математические вопросы построения изображений линий и поверхностей на экране. Немногочисленные публикации по данной теме не содержат подробного описания заданий и методик их реализации в учебном процессе. С целью восполнить этот пробел, автором представлена методика построения математических моделей линий и поверхностей, базирующаяся на программе MathCAD со встроенным графическим редактором. Предполагается, что она будет применяться при изучении дисциплины КГ в университете. В статье подробно изложены алгоритмы образования плоских кривых, пространственных винтовых линий, поверхностей вращения, переноса и винтовой поверхности. Особое внимание при конструировании линий уделено положению точки в начале движения и направлению ее вращения, а поверхностей правильному выбору образующих и направляющих линий.

Материалы и методы исследования включают анализ научно-методической литературы по этому вопросу, практики преподавания КГ в вузах.

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

Настоящая методика предназначена для студентов вузов и состоит из трех разделов.

В разделе 1 изложен алгоритм построения изображений некоторых трансцендентных кривых, спиралей и циклических кривых.

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

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

Новизна выполненного автором исследования заключается в том, что для освоения данной темы использована программа MathCAD, которая позволяет быстро и точно решать задачи геометрического конструирования объектов, получать качественную их визуализацию без знания языков программирования. Результаты представлены в виде рисунков с использованием программы MathCAD.

Ключевые слова: компьютерная графика; методика; математическая модель; линии; поверхности; кинематический метод; аффинные преобразования

Методика по КГ для студентов вузов посвящена изучению вопроса построения изображений линий и поверхностей кинематическим методом на экране компьютера. Согласно этому методу линия образуется непрерывным движением точки по заданной траектории, а поверхность создается в результате движения в пространстве одних линий, называемых образующими, вдоль других линий - направляющих. Этот метод ранее применялся студентами при изучении дисциплин «начертательная геометрия» и «инженерная графика» для построения проекций линий и поверхностей графическим способом [1-3].

Теоретические вопросы использования кинематического метода в задачах геометрического моделирования поверхностей в КГ рассмотрены в [4-7]. На их основе разработаны современные прикладные программы (AutoCAD, SolidWorks, Компас и др.), изучение которых, в основном, и составляет содержание лабораторных работ по КГ в университетах. В этих программах геометрическая модель многих поверхностей легко строится на основе имеющихся примитивов [8-11]. Расширить возможности пользователя можно используя в графическом редакторе AutoCAD встроенный язык AutoLISP [12; 13]. Однако этот язык не универсальный и не может использоваться в других программах САПР.

Несмотря на большие возможности графических пакетов, математические модели объектов (линий и поверхностей) и алгоритмы их построения скрыты от пользователей. Практически отсутствуют задания для лабораторных работ по КГ. Отметим лишь некоторые [14-16], в которых детально излагаются методы и алгоритмы построения изображений объектов, приводятся конкретные примеры.

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

Наиболее универсальным в КГ является параметрическое описание кривых и поверхностей [16; 18; 19]. Координаты точки на кривой или поверхности представлены в функции некоторого параметра, имеющего физический смысл времени движения t. Для построения объекта необходимо знать начальное его состояние, матрицы аффинных преобразований и диапазоны изменения параметров.

Для усвоения теоретического материала нужно выполнить задания: сформировать кинематическим методом плоские линии, пространственные кривые, поверхности вращения и переноса, винтовые поверхности с использованием программы MathCAD.

Введение

1. Построение плоских кривых

Применим кинематический способ для образования кривых, траектория которых получается путем вращения точки относительно начала координат с функциональным изменением радиуса г(ф), где ф - полярный угол. Приняв t = ф, перейдем от полярной системы координат к декартовой:

p(t) = r(t) c(t), (1)

где r(t) - закон изменения радиуса окружности;

c(t) - параметрическая модель окружности единичного радиуса с центром в начале координат;

t - параметр, характеризующий время движения.

Рассмотрим простейший пример - построение единичной окружности. Запишем закон кругового движения точки:

c(t) = р(0) R(t),

где р(0) = [х У] - начальное положение точки;

cos( t) sin (t)' -sin (t) cos(t)_

положительном +t поворот будет против часовой стрелки, а при отрицательном -t - в противоположном).

Вид параметрического уравнения c(t) определяется начальным положением точки и направлением ее вращения относительно начала координат (рис. 1). Точка р(0) может иметь координаты: (х(0) = 1 >(0) = 0}, (х(0) = 0 ><(0) = 1}, (х(0) = -1 >(0) = 0}, (х(0) = 0 >(0) = -1}.

Например, если выполняется равномерное вращение точки из начального положения р(0) = [1 0] против часовой стрелки, то получим уравнение:

c(t) = [cos(t) sin(t)] , а если в противоположном направлении, то c(t) = [cos(t) -sin(t)].

R(t) =

- матрица, управляющая направлением вращения (при

Рисунок 1. Математические модели окружности (разработано автором)

Кривая с(^) изображается на экране последовательностью узловых точек соединенных отрезками прямых, которые аппроксимируют окружность правильными и-угольниками. По такому же алгоритму строится любая непрерывная кривая, которая представляет собой полилинию. Алгоритм её построения:

• задается целое число п, определяющее длину отрезков - i = 0 ... п;

• выполняется разбиение диапазона параметра и = Ь ... и«};

• вычисляются узловые точки линии в1 = с(иг), которые соединяются отрезками прямых.

Рассмотрим более сложные кривые, чем окружность:

1. Кривые [20; 21], радиус которых определяется функцией:

г(£) = а±Ъ sm(kt) или г(Х) = а ± Ь cos(kt), где а, Ь и к - положительные числа.

Подставим г(Х) = а + Ъ cos(kt) в формулу (1) и примем вращение против часовой стрелки из начального положения {х(0) = 1, ^(0) = 0}, найдем

р(г) = (а + Ь cos(kt)) [cos(t) sin(t)].

При разных сочетаниях а, Ь и к получаем разнообразные линии, некоторые из них показаны на рис. 2.

При а > 0, Ь > 0 и к = 1 будут кривые семейства улиток Паскаля (рис. 3а) и их частный случай (рис. 3б) - кардиоида (а = Ь). Для неё радиус изменяется по формулам: г(^) = а (1 ± sin(t)) или г(^) = а (1± cos(t)).

Подставим г(1) = а (1 + cos(t)) в формулу (1) и примем вращение против часовой стрелки из начального положения {х(0) = 0, ^(0) = -1}, найдем уравнение кардиоиды: -р(г) = а (1 + ^^)) - cos( I)].

Если а = 0, получим формулы для кривых, напоминающих изображение цветка (розы Гранди). Полярное уравнение радиуса записывается в виде: г(1) = Ъ sin(kt) или г(1) = Ъ cos(kt), где Ь и к - положительные числа, определяющие размер (Ь) и количество лепестков (к) розы (рис. 4).

Рисунок 2. Трансцендентные кривые (разработано автором)

а) б)

Рисунок 3. Улитки Паскаля (разработано автором)

При построении розы примем вращение против часовой стрелки из начального положения {х(0) = 1, _у(0) = 0} и г(£) = Ь cos(kt). Получим уравнение:

р(€) = Ъ cos(kt) [cos(t) sin(t)].

к = 6 к = 8/3

Рисунок 4. Розы Гранди (разработано автором)

38ITVN619

2. Спирали [20; 22] образуются вращением точки по дуге вокруг некоторого центра монотонно изменяющегося радиуса г(£). К ним относятся: спираль Архимеда (рис 5, а) -г(Ь) = г0 + гх Ь, спираль Бернулли (логарифмическая спираль) - г(Ь) = г0 е*1, параболическая спираль - т(Х) = г0 + тг ^ , эвольвента окружности (рис 5б) - г(£) = г0 чТ+Т2 . Коэффициенты го и Г1 в формулах спиралей задают начальный радиус и характер его изменения за один оборот ^ на 2п.

При построении кривых примем вращение против часовой стрелки из начального положения (х(0) = 1, ^(0) = 0}. При этих условиях параметрическое уравнение спиралей: р(г) = г(г) г) sm(t)].

а) б)

Рисунок 5. Спирали (разработано автором)

3. Циклические (циклоидальные [1]) кривые образуются сложением равномерного вращательного движения фиксированной точки по окружности переменного радиуса и поступательного переносного движения центра окружности по траектории рн(^). Можно выделить три типа таких кривых: циклоида, эпициклоида и гипоциклоида [23; 24].

Параметрическое уравнение кривой [15]:

р(г) = г (г) с(шг) + рн(г), (2)

где г(^) - закон изменения радиуса окружности;

с(ю^) - параметрическое уравнение окружности единичного радиуса в начале координат;

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

Рассмотрим простейшую циклическую кривую, полученную вращением точки р(0) окружности радиуса г с угловой скоростью ю, центр которой равномерно перемещается по другой окружности радиуса Я (рис. 6а).

Рисунок 6. Циклическая кривая (разработано автором) Траектория движения центра окружности радиуса г по часовой стрелке:

рнЮ = И ^(0].

c(ut) = p(0) R(t) = [0 1]

= [sin(wt) cos(wt)].

Запишем уравнение движения точки p(0) = [0 1] по окружности единичного радиуса в том же направлении:

cos(^t) -sin (tet)' _sm(^t) cos(^t)

Подставим элементы движения в модель (2), получим уравнение циклической линии: p(t) = г [sin(wt) cos(wt)] + R [sin(t) cos(t)].

На рис. 6б построена линия при ю = 3.5, R = 2 и r = 3 в интервале t = [0 4п].

Циклоида - траектория движения фиксированной точки окружности, радиуса r при ее качении без скольжения по прямой (рис. 7). Данную кривую, например, описывает точка, закрепленная на ободе колеса велосипеда, катящегося по ровной дороге.

Рисунок 7. Циклоида (разработано автором)

Пусть окружность радиуса г катится без скольжения по прямой у = 0 с частотой вращения ю =1. Переносное движение опишем функцией рн&) = г ^ 1]. Запишем закон движения точки р(0) = [0 -1] по окружности единичного радиуса в начале координат по часовой стрелке: = р(0) R(t) = cos(t)] . При изменении параметра и на 2п центр

катящейся окружности сместится на расстояние 2п г. Подставим элементы движения в (2), получим уравнение циклоиды:

р(г) = - фт(0 ^(г)]+г [г 1]=г [t-sin(t) 1-^(1)].

Эпициклоида - траектория движения фиксированной точки окружности радиуса г при ее качении без скольжения снаружи окружности радиуса Я. Выберем точку в начале движения Р(0) = [0 -1] согласно рис. 8.

r + R:

Переносное движение центра внешней окружности происходит по окружности радиуса

рн($ = (г + Я) ^(0].

При изменении параметра и от 0 до 2п центр совершает один оборот вокруг внутренней

окружности с частотой вращения ш = 1 + - вокруг собственного центра. Запишем закон

движения точки по окружности единичного радиуса в начале координат по часовой стрелке: с(Ш) = р(0) И(0 = С08(шО].

R = 4 r

Рисунок 8. Эпициклоида (разработано автором)

38ITVN619

Подставим элементы движения в модель (2) и найдем уравнение эпициклоиды:

т

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

[Г -1- 1 С1Ш Г I - Г С1Ш /ЛГ 1

р(1) =

(г + R) sin(t) — г sin(^t) (г + R) cos(t) — r cos(tät)_

Гипоциклоида - траектория движения закрепленной точки окружности радиуса г при ее качении без скольжения внутри окружности радиуса Я (рис. 9). Начальное положение точки р(0) = [0 1]. Переносное движение центра катящейся окружности происходит по окружности радиуса Я - г:

рн&) = (Я-г) ^(0].

При изменении параметра 7 от 0 до 2п центр совершает один оборот вокруг собственного

центра с частотой вращения ш = ^ — 1. Запишем закон движения точки р(0) по окружности

единичного радиуса в начале координат против часовой стрелки: с(ш) = [—. Подставим элементы движения в (2), получим уравнение гипоциклоиды:

p(t) =

(R — г) sin(t) — г sin(tet) _(R — г) cos(t) + г cos(^t)_

Я = 4 г

Рисунок 9. Гипоциклоида (разработано автором)

Пример выполнения задания (рис. 10). Точка с начальными координатами [1 0] вращается против часовой стрелки по параболической спирали в интервале 7 = [0 5п]. Построить изображение линии и выполнить анимацию точки по траектории в программе ЫсИИСШ

т

Рисунок 10. Пример выполненного задания (разработано автором)

2. Построение винтовых и спиральных линий

Винтовая линия образуется сложением вращательного движения точки вокруг неподвижной оси и переносом её вдоль этой оси по определенному закону.

Параметрическое уравнение кривой [15]:

p(t) = r(t) c(t) + pn(t), 0 <t < 2nn,

(3)

где г(и) - закон изменения радиуса окружности; с(и) - закон кругового движения точки единичного радиуса относительно начала координат; рн(и) - закон переносного движения точки; п - число витков.

Закон кругового движения точки с(1) = р(0) R(t) , где р(0) = [х у г] - начальное положение точки; Я(и) - матрица вращения. Координаты точки р(0) при и = 0 (рис. 11): {х = 1 у = 0 г = 0},{х = -1 у = 0 г = 0},{х = 0 у = 1 г = 0},{х = 0 у = -1 г = 0}, {х = 0 у = 0 г = 1}, {х = 0 у = 0 г = -1}. Матрицы вращений против часовой стрелки (положительное направление, рис. 11):

Чтобы выполнить вращение в противоположном направлении следует изменить знак перед параметром и в формулах матриц.

Цилиндрическая винтовая линия получается сложением движения точки по окружности одинакового радиуса и переносного движения вверх по оси перпендикулярно окружности (рис. 12а). Такую линию можно расположить на боковой поверхности прямого круглого цилиндра.

Запишем уравнение движения точки с(и) в плоскости хг из положения р(0) = [1 0 0] в положительном направлении: = [1 0 0] Ry(t).

Вертикальное равномерное движение точки при повороте ее на угол 2п радиан находится из уравнения прямойу(и)= И/2п и, где к - постоянный шаг. Поэтому параметрическое уравнение направляющей, по которой движется точка вверх по оси у, в зависимости от

параметра и равно: рн&) = [0 0]. Подставив с(и) и рн(и) в формулу (3), получим

уравнение цилиндрической винтовой линии:

Страница 8 из 16

(0 10)

10 0

Rx(t) = 0 cos(t) sin (t) - вокруг оси x; .0 -sin (t) cos( t).

'cos(t) 0 -sin (t)' Ry(t) = 0 10 - вокруг оси y; .sin (t) 0 cos(t) .

' cos(t) sin (t) 0" Rz(t) = -sin (t) cos(t) 0 - вокруг оси z.

0 0 V

38ITVN619

p(t) = [r cos(t) ^t —r sin(t)].

а)

б)

Рисунок 12. Винтовые линии (разработано автором)

Если вращение происходит по спирали Архимеда и равномерного переносного движения, то винтовая линия называется конической (рис. 12б). В этом случае изменение радиуса г(€) = г0 + г^. Тогда уравнение винтовой линии запишем в виде:

p(t) =

h

(r0+r1t)cos(t) —t

(r0 + r1t) sin(t)

Торовая спиральная линия получается сложением движения точки по окружности с частотой ю и одновременным её вращением вокруг одной из координатных осей (рис. 13). Параметрическая модель кривой:

p(t) = (г c(ut) + Т) R(t), 0<t <2п, (4)

где r - радиус образующей окружности с центром в начале координат; T - матрица переноса центра окружности вдоль осей координат.

Построим окружность радиуса r с центром (R, 0, 0), принадлежащую плоскости xy и выполним её вращение вокруг оси у. Запишем закон движения точки по окружности из начального положения [1 0 0] в положительном направлении вокруг оси z: c(tet) = [1 0 0] Rz(^t) = [cos(wt) sin(wt) 0] и подставим в (4):

p(t) = (r [cos(ut) sin(ut) 0] + [R 0 0]) Ry(t) =

т

(r cos(tet) + R) cos (t)

r sin(tet) —(r cos(tet) + R) sin(t)

Рисунок 13. Торовая спираль (разработано автором)

Пример выполнения одного из вариантов задания (рис. 14). Точка в начале движения с координатами [0 0 1] вращается против часовой стрелки вокруг оси у с функцией радиуса

r(t) = 3 + cos 3t и одновременно перемещается вверх по закону y(t) = t2/50. Предлагается построить изображение спирали и показать анимацию точки по ее траектории.

Рисунок 14. Пример выполненного задания (разработано автором)

3. Конструирование поверхностей

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

В энциклопедии [25] описано 500 видов поверхностей. В зависимости от характера движения образующей, поверхность можно получить ее вращением вокруг координатной оси (поверхности вращения), переносом вдоль направляющей линии (поверхности переноса) или комбинированием элементарных преобразований (пример - винтовые поверхности).

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

• задаются целые числа п и т, определяющие размеры ячейки сетки: г = 0...п, у = 0...т;

• выполняется разбиение диапазона параметров иг = {и0, ^..п} и т,- = {т0, Т1,...Тт};

• строятся продольные р(и, т,) и поперечные линии р(и, т).

Простейшая кинематическая поверхность вращения вокруг координатной оси описывается моделью [15]:

р(г,х) = ро(т) в(г),хн <т <тк,0 < г <2п, (5)

где ро(т) - параметрическое уравнение образующей линии; Я(и) - матрица вращения вокруг оси; тн - начальное значение параметра; тк - конечное значение параметра.

В таблице приведены поверхности, образованные вращением прямой и кривыми второго порядка вокруг оси вращения.

Таблица

Поверхности вращения

Образующая Поверхность

Прямая, параллельная оси координат Круговой цилиндр

Прямая, пересекающая ось координат Круговой конус

Прямая, скрещивающаяся с осью координат Однополостный гиперболоид

Половина окружности Сфера

Окружность, отстоящая от оси Круговой тор

Вестник Евразийской науки 2019, №6, Том 11 ISSN 2588-0101

The Eurasian Scientific Journal 2019, No 6, Vol 11 https://esj.today

Образующая Поверхность

Половина эллипса Круговой эллипсоид

Одна ветвь гиперболы Однополостный гиперболоид

Две ветви гиперболы Двуполостный гиперболоид

Одна ветвь параболы Круговой параболоид

Некоторые из них показаны на рис. 15 (сфера, круглый прямой цилиндр и конус) и рис. 16 (гиперболоиды).

Рисунок 15. Поверхности вращения Рисунок 16. Гиперболоиды

(разработано автором) (разработано автором)

Построение боковой поверхности кругового цилиндра с радиусом оснований г и высотой Н, например, можно создать вращением образующей прямой вокруг одной из осей координат на угол 360°. Выполним вращение вокруг оси у. Подставим в формулу (5) уравнение образующей ро(т) = [гт 0] и матрицу вращения Ку&). Получим кинематическую модель круглого цилиндра:

р(г,т) = [г ^(г) т -г sin(t)], 0 <т < н,0 <г <2п.

Кинематическая модель поверхности переноса образуется движением образующей вдоль направляющей [15]:

р&,т) = ро(т) + рн(1),тн <т <тк^н <1 < ^ (6)

где ро(т) - параметрическое уравнение образующей линии с базовой точкой в начале координат; рн(^) - параметрическое уравнение направляющей; ^ - начальное значение параметра; ^к - конечное значение параметра.

Например, боковая поверхность эллиптического цилиндра, ориентированного вдоль оси у с полуосями а, Ь и высотой Н , получается движением образующей прямой ро(т) = [0 т 0] е у по эллиптической траектории

рнЮ = [а cos(t) 0 — Ъ sin(t)] е хт. р(г,т) = [а ^(г) т —bsin(t)],0<т<H,0<t<2п.

В качестве направляющей может быть любая плоская кривая: эллипс, спираль, циклическая кривая и т. п. (рис. 17). Нетрудно установить, что, поменяв местами в формуле (6) слагаемые, можно сформировать одну и ту же цилиндрическую поверхность.

Многие поверхности вращения могут быть получены как вращением, так и переносом образующей. Рассмотренная ранее боковая поверхность кругового цилиндра может быть образована движением образующей прямой ро(т) = [0 т 0] по кругу

рн&) = г [тоs(t) 0 —sin(t)] е хг: р(г,т) = [г ^(г) т — г sin(t)], 0 <т < н,0 <г <2п.

Та же поверхность получается, если перенести центр образующей окружности po(x) = г [cos(x) 0 -sin(x)] по направлению pH(t) = [0 t 0] е y на расстояние H: p(t,x) = [г cos(x) t -г sin(x)], 0 <t < Н,0 <т <2п.

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

Кинематическая модель винтовых и спиральных поверхностей:

p(t,x) = ро(т) M(t,x) + pH(t), тн <т <тк,0 < t < 2пп, (7)

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

где ро(т) - исходное состояние образующей линии (прямая или окружность) единичного размера;

M(t,r) = s(t) R(t) - матрица преобразования образующей при ее движении вдоль направляющей траектории;

s(t) - функция изменения положения и размера образующей линии;

R(t) - матрица вращения вокруг оси координат;

рн(t) - параметрическое уравнение направляющей;

n - число витков.

Построим поверхность, сформированную вращением образующей окружностью po(x) = [cos(x) + R sin(x) 0] Е ху вокруг оси y с изменением радиуса

s(t) = r(t) = r0 + rxt и одновременным перемещением по траектории pH(t) = [0 ^ t 0].

Подставив кинематические элементы в алгоритм (7), получим уравнение винтовой поверхности (рис. 18а):

r(t) cos (t) (cos(x) + R) h

p(t,x) =

r(t) sm(x)— t -r(t) sin (t) (cos(x) + R).

Если образующая - отрезок прямой, то поверхность называется геликоидом. Найдем модель геликоида, у которого прямая пересекает ось под прямым углом (винтовой коноид). Образующая ро(т) = [т 0 0],т £ [0 1] совершает п оборотов вокруг оси у без изменения длины Б(и) = 1 и перемещается вверх с постоянным шагом к по траектории

рн(0 = [0 — 0]. Подставив po(x) и рн(/) в (7), запишем модель винтового коноида (рис. 18б):

а) б)

Рисунок 18. Винтовые и спиральные поверхности (разработано автором)

Пример задания (рис. 19). Построить изображение поверхности, у которой образующая - прямая, направляющая - астроида, и показать анимацию отрезка прямой по направляющей линии.

Рисунок 19. Пример выполненного задания (разработано автором)

Заключение

После проработки разделов методики, студентами приобретаются знания и навыки по основам образования математических моделей линий и поверхностей кинематическим методом. Использование редактора ЫмЪСЛВ позволяет строить на экране изображения по параметрическим моделям, исследовать влияние правильности выбора кинематических элементов на формирование геометрических объектов и имитировать движение точки или линии по заданной траектории во времени средствами анимации. Изучив материал, будущие специалисты будут владеть методикой конструирования поверхностей, позволяющей разрабатывать модели сложных поверхностей и выбирать рациональный способ их создания в системах автоматизированного проектирования.

ЛИТЕРАТУРА

1. Бубенников А.В. Начертательная геометрия [Текст]: учебник для вузов / А.В. Бубенников, М.Я. Громов. - 2-е изд., испр. и доп. - М.: Высшая школа, 1973. -413 с.

2. Федоренко В.А. Справочник по машиностроительному черчению [Текст] / В.А. Федоренко, А.И. Шошин; под ред. Г.Н. Поповой. - Л.: Машиностроение, 1981. -416 с.

3. Четверухин Н.Ф. Начертательная геометрия [Текст] / Н.Ф. Четверухин, В.С. Левицкий, З.И. Прянишникова; под ред. Н.Ф. Четверухина. - 2-е изд., перераб. -М.: Высшая школа, 1963. - 423 с.

4. Голованов Н.Н. Геометрическое моделирование [Текст] / Н.Н. Голованов. - М.: Физматлит, 2002. - 472 с.

5. Короткий В.А. Компьютерное моделирование кинематических поверхностей [Текст] / В.А. Короткий, Е.А. Усманова, Л.И. Хмарова // Геометрия и графика. -2015. - Т. 3, - № 4. - C. 19-26. DOI: 10.12737/17347.

6. Никулин Е.А. Компьютерная геометрия и алгоритмы машинной графики [Текст] / Е.А. Никулин. - СПб.: БХВ-Петербург, 2005. - 560 с.

7. Скидан И.А. Геометрическое моделирование кинематических поверхностей в специальных координатах [Текст]: автореф. дис. ... д-ра техн. наук / И.А. Скидан.

- М.: МАДИ, 1989. - 36 с.

8. Большаков В.П. Инженерная и компьютерная графика. Практикум [Текст] / В.П. Большаков. - СПб.: БХВ-Петербург, 2004. - 592 с.

9. Большаков В.П. Твердотельное моделирование деталей в СAD-системах: AutoCAD, КОМПАС-3D, SolidWorks, Inventor, freo [Текст] / В.П. Большаков, А Л. Бочков, Ю.Т. Лячек. - СПб.: Питер, 2015. - 480 с.

10. Хейфец А.Л. Инженерная компьютерная графика. AutoCAD [Текст] / А.Л. Хейфец. - СПб.: БХВ-Петербург, 2005. - 336 с.

11. Хейфец А.Л. Инженерная 3D-компьютерная графика: учебник и практикум для академического бакалавриата [Текст] / А.Л. Хейфец, А.Н. Логиновский, И.В. Буторина; под ред. А.Л. Хейфеца. - 3-е изд., перераб. и доп. - М.: Юрайт, 2015. -602 с.

12. Альшакова Е.Л. Методический комплекс обучения программированию на языке AutoLISP [Текст] / Е.Л. Альшакова // Геометрия и графика. - 2013. - Т. 1. - № 1.

- C. 38-41.

13. Хейфец А.Л. Геометрически точная 3d-анимация кинематических поверхностей [Текст] // Материалы VII Международной науч. -практ. интернет-конф. - Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2017. Вып. 4. - C. 148-163.

14. Алексюк А.А. Лабораторный практикум по компьютерной графике [Текст] / А.А. Алексюк // Геометрия и графика. - 2017. - Т. 5. - № 3. - C. 78-85. - DOI: 10.12737/article_59bfa72b 151052.53229281.

15. Никулин Е.А. Компьютерная геометрия. Модели и алгоритмы [Текст]: учеб. пособие / Е.А. Никулин. - СПб.: Лань, 2017. - 708 с.

16.

17.

18.

19.

20. 21. 22.

23.

24.

25.

Роджерс Д. Математические основы машинной графики [Текст]: пер. с англ. / Д. Роджерс, Дж. Адамс. - 2-е изд. - М.: Мир, 2001. - 604 с.

Макаров Е.Г. Инженерные расчеты в MathCAD 15 [Текст]: учебный курс / Е.Г. Макаров. - СПб.: Питер, 2011. - 400 с.

Фокс А. Вычислительная геометрия. Применение в проектировании и на производстве [Текст]: пер. с англ. / А. Фокс, М. Пратт. - М.: Мир, 1982. - 304 с.

Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL [Текст]: пер. с англ. / Э. Эйнджел; под ред. В.Т. Тертышного. - 2-е изд. -М.: Вильямс, 2001. - 592 с.

Васильев Н.Б. Прямые и кривые [Текст] / Н.Б. Васильев, В.Л. Гутенмахер. - 8-е изд. - М.: МЦНМО, 2016. - 128 с.

Савелов А.А. Плоские кривые. Систематика, свойства, применение (справочное руководство) [Текст] / А.А. Савелов. - М.: Физматгиз, 1960. - 293 с.

Райхмист Р.Б. Графики функций [Текст]: справ. пособие для вузов / Р.Б. Райхмист. - М.: Высш. шк., 1991. - 160 с.

Берман Г.Н. Циклоида [Текст] / Г.Н. Берман. - М., Наука, 1980. - 112 с.

Маркушевич А.И. Замечательные кривые [Текст] / А.И. Маркушевич. - 2-е изд. -М.-Л.: Гос. изд. техн.-теор. лит., 1952. - 31 с.

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

38ITVN619

Aleksyuk Alexander Anatolyevich

Maritime state university named after admiral G.I. Nevelskoy, Vladivostok, Russia

E-mail: aleksuk_a@mail.ru

Design of kinematic models of lines and surfaces in computer graphics

Abstract. "Computer graphics" (further - KG) leads lack of accurate requirements in educational standards to the content of discipline to the fact that on occupations of many universities operation manuals of programs (AutoCAD, the Compass and others), "but not mathematical questions of creation of images of lines and surfaces on the screen are studied". The few publications on this topic do not contain a detailed description of tasks and methods of their implementation in the educational process. In order to fill this gap, the method of building mathematical models of lines and surfaces based on the MathCAD program with the built-in graphical editor is presented. It is suggested that it will be used in the study of KG discipline at the university. The paper details algorithms for forming planar curves, spatial helical lines, surfaces of rotation, transfer, and helical surface. When designing lines, special attention is paid to the position of the point at the beginning of the motion and the direction of its rotation, and the surfaces are given to the correct selection of generatrix and guide lines.

Materials and methods of research include analysis of scientific and methodological literature on this issue, practice of teaching KG in universities.

The process of geometric modeling of lines and surfaces is based on the non-partial motion of the point (for curves) and the generatrix (for surfaces) along the specified paths.

The present methodology is intended for students of higher education and consists of three sections.

Section 1 describes the algorithm for imaging some transcendent curves, spirals, and cyclic

curves.

Section 2 describes the construction of constant pitch and pen pitch helical line images, which are formed by adding the rotational motion of a point about a non-movable axis and transferring along that axis according to a certain law.

Section 3 describes the construction of rotation, transfer, and helical surfaces. Surface kinematic models can be derived from elementary geometric transformations of generatrix lines, such as rotation, translation, and complex transformation.

The novelty of the performed research is that the MathCAD program has been used to learn this one, which allows to quickly and accurately solve problems of geometric design of objects, to get qualitative visualization of them without knowledge of programming languages. The results are presented as figures using the MathCAD program.

Keywords: computer graphics; technique; mathematical model; lines; surfaces; kinematic method; affine transformations

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