Научная статья на тему 'Алгоритм согласования массива точек и отсека поверхности'

Алгоритм согласования массива точек и отсека поверхности Текст научной статьи по специальности «Строительство и архитектура»

CC BY
64
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ARRAY OF POINTS / SURFACE AREA / ALGORITHM FOR MATCHING ARRAY POINTS / GEOMETRIC MODELING / RADIX-VECTOR / МАССИВ ТОЧЕК / ОТСЕК ПОВЕРХНОСТИ / АЛГОРИТМ СОГЛАСОВАНИЯ ТОЧЕК МАССИВА / ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ / РАДИКС-ВЕКТОР

Аннотация научной статьи по строительству и архитектуре, автор научной работы — Замятин А. В., Замятина Е. А., Сопчак Н. А.

В статье приведен алгоритм построения массива точек, поставленных в соответствие точкам отсека поверхности. Показаны формулы расчета для координат точек. Рассмотрены возможные случаи расположения угловых точек массива. И сделан вывод о том, что данный алгоритм поможет при моделировании акустических, оптических и других процессов.

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

Algorithm for matching the array of points and the surface area

In the article the algorithm of construction of an array of points, put in correspondence to points of a compartment of a surface is resulted. Calculation formulas for the coordinates of points are shown. The possible cases of the location of the corner points of the array are considered. And the conclusion is made that this algorithm will help in modeling acoustic, optical and other processes.

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

Алгоритм согласования массива точек и отсека поверхности

А.В. Замятин, Е.А. Замятина, Н.А. Сопчак Донской государственный технический университет, г. Ростов-на-Дону

Аннотация: В статье приведен алгоритм построения массива точек, поставленных в соответствие точкам отсека поверхности. Показаны формулы расчета для координат точек. Рассмотрены возможные случаи расположения угловых точек массива. И сделан вывод о том, что данный алгоритм поможет при моделировании акустических, оптических и других процессов.

Ключевые слова: массив точек, отсек поверхности, алгоритм согласования точек массива, геометрическое моделирование, радикс-вектор.

Для задач конструирования поверхностей сплайновыми методами [1-3] часто необходимо приводить в соответствие точечные массивы и отсеки поверхностей. Пусть в трехмерном пространстве задан двумерный массив точек Ац, где i = = 1,2*,,, и отсек поверхности Q

(1)

точки массива Будем считать, что все точки Г2 обыкновенные.

Рассмотрим алгоритм согласования точек массива А. и точек отсека поверхности Г2 [4,5].

О

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

Рис. 1. - Заданные массив точек и отсек поверхности

Создадим массив состоящий из точек

отсека поверхности О. Его размерность равна

размерности массива Ац (тгХт). Радиусы - векторы точек массива В^ обозначим через В{^.

Определим угловые точки отсека Г2 и поместим их в массив В^, учитывая (1)

Найдем сумму длин отрезков соединяющих соответственные угловые точки массивов Ау и В^

а= - Ли | + -А1т | + |?в1 - Лп1| + - Аат \ (3)

а А А

а А А А

Рис. 2. - Возможные случаи взаимного расположения угловых точек массива

и отсека поверхности

:

Возможные случаи взаимного расположения угловых точек массива ^

и отсека Г2 приведены на рис. 2. В случае, приведенном на рис. 2а, сумма (3) минимальна. Предположим, что Ац и О в плане имеют форму близкую к

прямоугольной. Поэтому вид &согласованный А<<, будет иметь угловые

точки расположенные так же, как и на рис. 2а.

Определим, какой из случаев, приведенных на рис. 2, задан изначально. Для этого вычислим (3) и присвоим полученное значение элементу массива Изменим положение угловых точек в Ву, повернув их на 90° против

часовой стрелки вокруг оси Oz (рис. 3)

= ^lm! & lift = ^mitF ^nm = ^Jtli ^Jtl =

(4)

Вычислим сумму (3) и присвоим ее значение 32 Аналогичным образом получим и d4. Повернем угловые точки By на ISO0 вокруг оси Ох (рис. 4)

^11 — ^Imi — — Biaaj т _ ^nl

(5)

Ai

Bui

-r* Ввт

X *■

Рис. 3. - Поворот утпоиыхточгена Рис, 4, - Поворот утл ояыхточеена вокруг оси Oi 1 вокруг оси Ох

Сумму (3), в этом случае, присвоим затем, поворачиваем угловые

J

точки на 90е (4) и присваиваем вычисленные суммы о^, и я!3. Находим

минимальный элемент массива Если минимальное значение имеет йъ то

массив и отсек поверхности расположены так, как это показано на рис. 2а. Точки массива вычисляем по формуле:

4 - ц!

(6)

где Ut = —(i - = — (j- 1),

г п-1 1 т-1v

Если минимальным элементом является то это расположение приведено на рис. 26. при данном расположении формула для вычисления В^

имеет вид

(7)

е

Если массив и отсек расположены так, как показано на рис. 2в, то минимальным будет значение тогда определим по формуле (6) и

повернем его содержимое по часовой стрелке на ISO0 вокруг оси Oz

^tj — ^лЧ+lst-

/+1-

(8)

В случае, приведенном на рис. 2г, минимальным будет dA, тогда Вц

определяем по формуле (7) и по (8) поворачиваем на ISO® вокруг оси Oz. Если минимальным является (рис. 2д), By определяем по формуле (6) и поворачиваем на 180^ вокруг оси Ох по часовой стрелке

Bif -^¡ff! /II"

(9)

IH Инженерный вестник Дона. №4 (2017) Н| ivdon.ru/ru/magazine/arcliive/n4y2017/4485

При минимальном (рис. 2е) Вц определяем по (7), затем

поворачиваем на 18О0 вокруг оси Oz (8) и вокруг оси Ох (9). При if7

минимальном (рис. 2ж) - Btj определяем по (6) и поворачиваем вокруг оси

Oz (8) и Ох (9). При минимальном значении iij (рис. 2з) Bijr находим по (7),

поворачиваем вокруг оси Ox (9), Oz (8) и снова вокруг Ox (9).

Для большей наглядности методов определения массива Btj в

различных случаях начального взаимного положения массива Aijt и отсека Q

приведены в таблице.

Таблица №1

Определение

Номер минимального элемента rf, Формулы вычисления Преобразования Соответствующий пример на рис. 2

1 * it-1 ' ; — а

2 ; 1 и-1 ^ — б

3 Btj = ^i-i+im-i+i в

IH Инженерный вестник Дона. №4 (2017) Н| ivdon.ru/ru/magazine/arcliive/n4y2017/4485

4 в.. = м ;; ; 1 it-1 ^ i — &П-1+ lKl-i+1 г

5 ; i in-■ ' д

6 ; = . ;■■; ; f TV—1 Btj = ^i-i+im-i+i е

7 ^-^■/-li; ; i in- Btj = ^i-i+im-i+i ж

8 ; f к 1 ■ з

Разработанные алгоритмы реализованы в среде ObjectARX для системы AutoCAD[6-8] на языке Visual C++[9-10]. Примеры работы алгоритмы приведены на рис. 5. На рис. 5а показаны массив и отсек в начальном положении, на рис. 5б - после согласования. Разработанный алгоритм может быть использован при решении практических задач при моделировании акустических, оптических и других процессов.

;

а)

б)

Рис. 5. - Результат работы алгоритма

Литература

1. Притыкин Ф.Н., Осадчий А.Ю. Способ кодирования информации при задании геометрической модели исполнительных механизмов роботов //

ivdon.ru/ru/magazine/archive/n2y2014/2363.

2. Гданский Н.И., Карпов А.В., Бугаенко А.А. Алгоритм построения кубических интерполяционных сплайнов в задачах управления работой приводов с прогнозированием динамики нагрузки // Инженерный вестник Дона. 2012. №3. URL: ivdon.ru/ru/magazine/archive/n3y2012/935.

3. Завьялов Ю.С., Леус В.А., Скороспелов В.А. Сплайны в инженерной геометрии. М.: Машиностроение, 1985. 224 с.

4. Faux I. D., Pratt Michael J. Computational Geometry for Design and Manufacture. Michigan: Horwood, 1979. 331 p.

5. Adams J.Alan, Rogers David F. Mathematical Elements for Computer Graphics. 3 publ. New York: McGraw-Hill Publishing Co., 1976. 352 p.

6. Полещук Н.Н. Разработка приложений и адаптация. СПб.: БХВ-Петербург, 2004. 424 с.

Инженерный

вестник

Дона. 2014. №2. URL:

In Инженерный вестник Дона. №4 (2017) Н| ivdon.ru/ru/magazine/arcliive/n4y2017/4485

7. Полещук Н.Н. Программирование для AutoCAD. М.: ДМК Пресс, 2015. 462 с.

8. Полещук Н.Н. Самоучитель AutoCAD. СПб.: БХВ-Петербург, 2011. 464

с.

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

9. Мюллер Дж. Visual C++. СПб.: БХВ-Петербург, 1998. 720 с.

10. Шмидт Г. Самоучитель С++. СПб.: БХВ-Петербург, 2003. 688 с.

References

1. Pritykin F.N., Osadchiy A.Yu. Inzenernyj vestnik Dona (Rus). 2014. №2. URL: ivdon.ru/ru/magazine/archive/n2y2014/2363.

2. Gdanskiy N.I., Karpov A.V., Bugaenko A.A. Inzenernyj vestnik Dona (Rus). 2012. №3. URL: ivdon.ru/ru/magazine/archive/n3y2012/935.

3. Zav'yalov Yu.S., Leus V.A., Skorospelov V.A. Splayny v inzhenernoy geometrii.[ Splines in engineering geometry] M.: Mashinostroenie, 1985. 224 p.

4. Faux I. D., Pratt Michael J. Computational Geometry for Design and Manufacture. Michigan: Horwood, 1979. 331 p.

5. Adams J.Alan, Rogers David F. Mathematical Elements for Computer Graphics. 3 publ. New York: McGraw-Hill Publishing Co., 1976. 352 p.

6. Poleshchuk N.N. Razrabotka prilozheniy i adaptatsiya. [Application Development and Adaptation]. SPb.: BKhV-Peterburg, 2004. 424 p.

7. Poleshchuk N.N. Programmirovanie dlya AutoCAD. [Programming for AutoCAD] M.: DMK Press, 2015. 462 p.

8. Poleshchuk N.N. Samouchitel' AutoCAD. [AutoCAD Self-Tutorial] SPb.: BKhV-Peterburg, 2011. 464 p.

9. Myuller Dzh. Visual C++. SPb.: BKhV-Peterburg, 1998. 720 p.

10. Shmidt G. Samouchitel' S++. [S++ Self-Tutorial] SPb.: BKhV-Peterburg, 2003. 688 p.

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