Научная статья на тему 'МЕТОД ПЕРЕСЕЧЕНИЯ ЯЧЕЕК ПРИ ТРАССИРОВКЕ ЛУЧЕЙ В ЗАДАЧАХ АКУСТИКИ ПОМЕЩЕНИЙ'

МЕТОД ПЕРЕСЕЧЕНИЯ ЯЧЕЕК ПРИ ТРАССИРОВКЕ ЛУЧЕЙ В ЗАДАЧАХ АКУСТИКИ ПОМЕЩЕНИЙ Текст научной статьи по специальности «Математика»

CC BY
78
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АКУСТИКА ПОМЕЩЕНИЙ / ТРАССИРОВКА ЛУЧЕЙ / МЕТОД ПЕРЕСЕЧЕНИЯ ЯЧЕЕК / ТРИАНГУЛЯЦИЯ / ВЫЧИСЛИТЕЛЬНАЯ ГЕОМЕТРИЯ / С++

Аннотация научной статьи по математике, автор научной работы — Бараева Дарья Сергеевна, Сумбатян Межлум Альбертович

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

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

THE METHOD OF CELL INTERSECTION DURING RAY TRACING IN PROBLEMS OF ROOM ACOUSTICS

The work develops a fast algorithm for the ray tracing method, with an application to the calculation of acoustic characteristics in room acoustics. The advantage of the proposed algorithm is the use of an approach based on the spatial cell intersection method with an efficient transition between cells. A detailed review of modern methods of ray tracing is given, among which the fast method of intersection of spatial cells, which has not been previously used in applications to room acoustics, is also analyzed. The stages of the algorithm work include organizing the reading of the initial data, building a spatial grid, preparing data for tracing sound rays, building and filling a spatial grid, tracing using the fast cell crossing algorithm, obtaining data to determine the acoustic parameters of the room based on the tracing results. The results of the algorithm are tested by calculating the reverberation time in the volume of rooms with a small number of reflective planes. In this case, the value of the absorption coefficient is fixed, and, for definiteness, the efficiency of the algorithm is checked in the absence of sound scattering on reflectors.

Текст научной работы на тему «МЕТОД ПЕРЕСЕЧЕНИЯ ЯЧЕЕК ПРИ ТРАССИРОВКЕ ЛУЧЕЙ В ЗАДАЧАХ АКУСТИКИ ПОМЕЩЕНИЙ»

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2022. No 3

Научная статья УДК 534

doi: 10.17213/1560-3644-2022-3-41-47

МЕТОД ПЕРЕСЕЧЕНИЯ ЯЧЕЕК ПРИ ТРАССИРОВКЕ ЛУЧЕЙ В ЗАДАЧАХ АКУСТИКИ ПОМЕЩЕНИЙ

Д.С. Бараева, М.А. Сумбатян

Южный федеральный университет, г. Ростов-на-Дону, Россия

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

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

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

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

Ключевые слова: акустика помещений, трассировка лучей, метод пересечения ячеек, триангуляция, вычислительная геометрия, С++

Благодарности: Бараева Д.С. признательна Южному федеральному университету за поддержку, внутренний грант ЮФУ № ВнГр-07/2020-04-ИМ.

Для цитирования: Бараева Д.С., Сумбатян М.А. Метод пересечения ячеек при трассировке лучей в задачах акустики помещений // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2022. № 3. С. 41 - 47. http://dx.doi.org/10.17213/1560-3644-2022-3-41-47

Original article

THE METHOD OF CELL INTERSECTION DURING RAY TRACING IN PROBLEMS OF ROOM ACOUSTICS

D.S. Baraeva, M.A. Sumbatyan

Southern Federal University, Rostov-on-Don, Russia

Abstract. The work develops a fast algorithm for the ray tracing method, with an application to the calculation of acoustic characteristics in room acoustics. The advantage of the proponed algorithm is the use of an approach baaed on the spatial cell intersection method with an efficient transition between cells.

A detailed review of modern methods of ray tracing is given, among which the fast method of intersection of spatial cells, which has not been previously used in applications to room acoustics, is also analyzed.

The stages of the algorithm work include organizing the reading of the initial data, building a spatial grid, preparing data for tracing sound rays, building andfilling a spatial grid, tracing using the fast cell crossing algorithm, obtaining data to determine the acoustic parameters of the room based on the tracing results.

The results of the algorithm are tested by calculating the reverberation time in the volume of rooms with a small number of reflective planes. In this case, the value of the absorption coefficient is fixed, and, for definiteness, the efficiency of the algorithm is checked in the absence of sound scattering on reflectors.

Keywords: room acoustics, ray tracing, cell intersection method, triangulation, computational geometry, C++

© Бараева Д.С., Сумбатян М.А., 2022

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2022. No 3

Acknowledgements: Baraeva D.S. is grateful to the Southern Federal University for its support, internal grant of SFU No. VnGr-07/2020-04-THEM.

For citation: Baraeva D.S., Sumbatyan M.A. The method of cell intersection during ray tracing in problems of room acoustics. Izv. vuzov. Sev.-Kavk. region. Techn. nauki=Bulletin of Higher Educational Institutions. North Caucasus Region. Technical Sciences. 2022; (3):41 - 47. (In Russ.) http://dx.doi.org/10.17213/1560-3644-2022-3-41-47

Введение

Для большинства задач акустики помещений длина звуковой волны X значительно меньше характерных размеров исследуемого помещения Ь. Это условие Ск<^Ь) позволяет рассматривать звуковые волны как распространение лучей, и волновой процесс при столкновении звуковой волны с препятствием можно свести к отражению лучей [1]. Данный подход позволяет применить для решения таких задач методы, активно использующиеся в задачах оптики и компьютерной графики.

Алгоритм метода трассировки лучей (МТЛ) отслеживает траекторию звукового луча от точки источника, проверяя все поверхности в пределах исследуемого помещения на пересечение с лучом. В случае нахождения точки пересечения луча с отражающей поверхностью, его направляющий вектор пересчитывается по формуле:

Ц = Ц -2(п • д)п, (1)

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

Применение алгоритма МТЛ для акустических задач освещено, в основном, в зарубежной литературе. В [4] показан процесс построения импульсного отклика помещения на основе результатов, полученных после применения алгоритма трассировки. В работах [5, 6] дается детальный анализ эффективности алгоритма МТЛ - его теоретических и прикладных аспектов. В статье [7] приводится математическая постановка задачи, а также описывается компьютерная реализация МТЛ.

Несмотря на то, что работ, посвященных МТЛ именно в акустической постановке задачи, немного, сам метод довольно популярен и активно применяется в компьютерной графике. Одной из первых фундаментальных работ по данной теме является монография [8]. В ней дается постановка проблемы трассировки световых лучей, излагаются основные алгоритмы вычислительной геометрии, необходимые для нахождения пересечений лучей с объектами, а также некоторые методы ускорения работы алгоритма. Фундаментальный обзор методов трассировки представлен в работе [9], где можно найти дальнейшие ссылки по данному вопросу.

С развитием вычислительной техники наиболее актуальным направлением исследований стали методы оптимизации алгоритма МТЛ. Наиболее перспективными представляются две группы методов: методы на основе ограничивающих объёмов и сетчатые методы.

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

Во второй группе можно выделить несколько методов: метод с равномерной, иерархической и неравномерной пространственной сеткой. Метод равномерных пространственных сеток (воксельный метод, метод пересечения ячеек) очень удобен для задач трассировки в помещениях с большим числом объектов и переотражений лучей, поскольку позволяет эффективно хранить часть необходимой информации для расчётов в самих ячейках сетки. Значительная часть работ по сетчатым методам посвящена ускорению обхода сетки [10]. Также важной частью методов является оптимизация процесса заполнения созданной сетки [11].

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2022. No 3

Метод иерархической сетки [12] довольно близок к методу равномерной сетки и является, по сути, его модификацией для моделей, в которых объекты собраны группами в нескольких зонах. В данном методе применяется крупная равномерная сетка, для ячеек которой производится подсчёт объектов. Ячейки, хранящие наибольшее число объектов, дополнительно разбиваются на более мелкие ячейки.

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

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

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

Структура алгоритма решения представлена на рис. 1.

Рис. 1. Структура алгоритма трассировки / Fig. 1. Structure of the tracing algorithm

Организация считывания исходных данных

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

При решении задачи используется фиксированный формат входных данных. Считываемый файл состоит из нескольких частей:

• нумерованный список координат вершин отражающих поверхностей;

• список отражающих поверхностей по номерам их вершин (с указанием материала);

• координаты источника;

• координаты приёмника;

• коэффициенты звукопоглощения материалов поверхностей.

Каждая часть файла сохраняется в отдельном контейнере. С помощью типа structure языка программирования С++ создаются более сложные объекты, каждый из которых содержит целый ряд параметров, полученных из исходных данных напрямую или с помощью вычислений.

Подготовка данных к трассировке звуковых лучей

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

Различные алгоритмы триангуляции многоугольников подробно описаны в литературе. При этом любая триангуляция простого многоугольника с n вершинами состоит из n - 2 треугольников. В реализации нашего алгоритма мы использовали авторский код в среде С++, на основе алгоритма триангуляции [11]. Выберем начальной вершиной для триангуляции вершину v, имеющую наименьшее значение по одной из трех осей координат (выбор оси производится для исследуемого многоугольника, исходя из его расположения в пространстве). Для выбранной вершины

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

определяем две соседние вершины многоугольника u и w, получая треугольник. Далее проверяем, лежит ли в пределах границ данного треугольника хотя бы одна из вершин многоугольника, кроме вершин v, u и w. Если нет, то треугольник uvw - часть триангуляции многоугольника. В этом случае вершина v исключается из рассмотрения, и приведённые выше действия повторяются для одной из вершин u и w, имеющей наименьшее значение по выбранной оси координат. Если найдена вершина v', лежащая в пределах границ треугольника uvw, то рассматриваемый многоугольник по линии vv' делится на два многоугольника, один из которых содержит вершину u, а другой вершину w. Для каждого из полученных многоугольников отдельно выполняем описанный алгоритм. Действие алгоритма продолжаем до тех пор, пока остаются вершины многоугольника, не являющиеся частью триангуляции. Процесс триангуляции представлен на рис. 2.

И'

V* л / V

vu

Рис. 2. Процесс триангуляции / Fig. 2. Triangulation

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

• если многоугольник лежит в плоскости OYZ, то выбираем вершину, имеющую наименьшую из координат по оси OY (или OZ);

• иначе - выбираем вершину, имеющую наименьшую координату по оси OX.

В ходе алгоритма триангуляции запускается условный цикл, действующий до тех пор, пока контейнер вершин содержит больше двух элементов, и, следовательно, есть хотя бы один треугольник, не обработанный алгоритмом. В качестве начальной точки алгоритма всегда будем выбирать точку с наименьшим значением по координате X (либо по координате Y в случае, если многоугольник лежит в плоскости, параллельной плоскости OYZ или совпадающей с ней). Тогда на каждой итерации цикла алгоритма триангуляции будут осуществляться следующие действия:

1. Находим в контейнере p_map и записываем в качестве вершин треугольника T обрабатываемую вершину с номером v_num и две связанные с ней вершины.

TECHNICAL SCIENCES. 2022. No 3

2. Проверяем, есть ли в контейнере p_map хоть одна вершина, которая лежит в пределах треугольника T.

2.1. Если такой вершины нет, то сохраняем T в контейнер, исключаем его вершины из контейнера p_map, переопределяя связи вершин, и находим новую начальную точку (минимум по координате X или по Y, если многоугольник лежит в плоскости, параллельной плоскости OYZ или совпадающей с ней).

2.2. Если такая вершина имеется, то контейнер p_map разделяется на два новых контей-нераp_map1 иp_map2. Для каждого из полученных контейнеров начинаем алгоритм с пункта 1.

3. Процесс триангуляции завершается, когда все контейнеры точек пустые.

Построение пространственной сетки

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

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

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

1. Определяем положение в сетке вершин исследуемого треугольника по их координатам.

2. Осуществляем проверку, лежат ли вершины в одной ячейке.

2.1. Если лежат, то номер треугольника записывается в данную ячейку, и работа функции завершается.

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

Сами грани ячеек перед проверкой на пересечение разбиваются на треугольники для сведения задачи к проверке на пересечение двух треугольников в пространстве. Для проверки факта пересечения треугольников применяем метод Мёллера [13].

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2022. No 3

Обозначим рассматриваемые треугольники Т и Т . Вершины треугольников на примере Т:

{Т1.а,Т1.Ь, Т1.е]. Координаты вершины:

\Тх.а.х,Т1.а.у,Т1.а.г] . Тогда уравнения плоскостей, содержащих треугольники, запишем в виде:

Т : Alx + Ву + Clz + Dl = 0;

T2 : A2x + B2y + C2z + D2 = 0.

Определим, на какой стороне лежат вершины треугольника Т относительно плоскости

треугольника Т , путем подстановки вершин треугольника Т в уравнение плоскости, содержащей треугольник Т :

Г = АТ .ах + ЩТ .а.у + С2Т.а.г + 02; Г = АТ Ьх + ВТ Ь.у + С2Т Ь.г + ; г = АТ .с.х+В2Т .с.у+СТ .°.2+.

Проанализировав полученные значения г,

можно найти пересечение треугольников. Рассмотрим возможные случаи.

1. Если г ^ 0 и г имеют один знак, то все

вершины треугольника Т лежат по одну сторону плоскости, содержащей треугольник T2, следовательно, треугольники не пересекаются.

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

3. Если г = 0 V/, то треугольники компланарны, и задача сводится к проверке пересечения треугольников Т и T2, лежащих в одной плоскости.

4. Если = 0, то соответствующая вершина треугольника Т принадлежит плоскости треугольника T2 и лежит на линии пересечения плоскостей. Координаты данной вершины записываем как один из концов искомого отрезка.

5. Если г имеют разные знаки, то соответствующие им вершины треугольника Т лежат по разные стороны плоскости треугольника T2. Тогда для поиска точек пересечения треугольника Т с линией пересечения плоскостей вычислим общее уравнение прямой линии пересечения плоскостей и прямой, содержащей одну из граней треугольника. Это сводит проблему к СЛАУ размером 2 х 2, после чего легко находится точка пересечения прямых.

Реализация пунктов 2 - 5 алгоритма определяет пересечение треугольника Т с плоскостью,

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

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

Трассировка с помощью алгоритма быстрого пересечения ячеек

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

В ходе алгоритма отслеживаем отдельно каждый луч пучка, начиная с ячейки, в которой расположен источник. Для каждого из этих звуковых лучей, исходя из координат его направляющего вектора и размеров ячейки сетки, можно вычислить, какую из граней текущей ячейки луч пересечёт первой, что позволяет определить путь луча по сетке. При этом в ходе трассировки для каждой ячейки, в которую попадает луч, осуществляется проверка, не пересекает ли луч какой-либо из объектов помещения, закреплённых за данной ячейкой. Если пересечение не найдено, то продолжается перемещение луча по сетке. Если были обнаружены точки пересечения луча с объектами комнаты в пределах данной ячейки, то среди всех найденных точек выбирается ближайшая к началу луча. Эта же точка становится новым началом отражённого луча, его направляющие векторы и энергия пересчитываются по формулам метода трассировки, описанным ранее. В случае попадания луча в выбранную окрестность приёмника, его параметры записываются в промежуточный контейнер для дальнейшей обработки.

Для реализации перехода между ячейками сетки применяется метод быстрого пересечения ячеек [10]. При переходе между соседними ячейками достаточно нескольких сравнений и одного сложения.

Рассмотрим уравнение луча в пространстве:

X-Х0 + ;

y - Уо+ryt ;

z - z0 + rzt ,

(2)

где (х, у, z) - координата произвольной точки луча; (хо, уо, zo) - координата начала луча; (гх, гу, г;) - направляющие косинусы луча.

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2022. No 3

На каждом переходе между ячейками производится оценка расстояний от начала луча до ближайшей границы текущей ячейки для каждой из координат и скорость смещения луча, также по каждой из координат (значения скорости смещения гОвНаХ., гОвкаУ, tDeltaZ определяются как модуль отношения размера ячейки к значению направляющего вектора). По данным параметрам определяется направление, в котором происходит перемещение по сетке (переход осуществляется всегда в одну из соседних ячеек, причём только по вертикали или горизонтали).

Трассировка каждого луча продолжается до тех пор, пока его энергия в результате переотражений не уменьшится настолько, что воздействием, оказываемым им на приёмник, можно будет пренебречь (в экспериментах уменьшение в 1000 раз достигалось уже при числе отражений, равном 60).

Тестирование работы алгоритма

Проверим реализацию описанного выше метода на тестовой модели зала с малым числом отражающих объектов (после триангуляции - 25 треугольников). Значение коэффициента поглощения для всех отражающих поверхностей на тестах возьмём равным 0,1.

Программный код составлен на языке С++. На выходе программа выдает информацию о точках отражения для каждого из лучей, вышедшего из источника, а также информацию о лучах, попавших в приёмник. На основе информации о переотражении лучей строится модель в вычислительном пакете МЛТЬЛБ.

На рис. 3 показан пример построения модели распространения звука на основе полученных данных. В реальных расчетах сгенерировано 7200 лучей и максимальное число отражений равно 100.

Рис. 3. Пример визуализации результатов трассировки в MATLAB / Fig. 3. Example of visualization of tracing results in MATLAB

На рис. 4 приводится построение функции импульсного отклика исследуемой модели на основе полученных данных. При этом число лучей, прошедших в eps окрестности приёмника равно 2026, по ним и построен график на этом рисунке. Е, дБ

0 -5 -10 -15 -20 -25 -30 -35 -40 -45 -50

0 0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8

f, с

Рис. 4. Построение импульсного отклика помещения

/ Fig. 4. Plotting the pulse response of the room

При рассмотрении полученного графика (рис. 4) очевидно, что уровень сигнала -30 дБ по энергии достигается примерно за одну секунду. Следовательно, время реверберации RT, за которое сигнал спадает на 60 дБ, равно примерно 2 секундам, что физически правдоподобно для помещения рассматриваемого объёма с рассматриваемым звукопоглощением. При этом уровень сигнала в децибелах является логарифмической характеристикой абсолютного значения по энергии: Е, дБ = 10 lg£.

Заключение

В процессе работы было проанализировано применение МТЛ для решения задачи распространения звука в замкнутом пространстве, а также реализован алгоритм метода пересечения ячеек - один из вариантов эффективной трассировки. Исходя из результатов тестирования можно сделать вывод, что рассматриваемый алгоритм позволяет построить достаточно точную модель распространения звука в заданном замкнутом помещении. На основе полученных после работы программы данных можно не только рассчитать время реверберации, но и сделать вывод об оптимальном расположении источника и приёмника звука в моделируемом помещении.

Список источников

1. Kuttruff Н. Room Acoustics. (5thed.). Spon Press: London, 2009.

2. Макриненко Л. И. Акустика помещений общественных зданий. М.: Стройиздат, 1986.

3. Cox T.J., D'Antonio P. Acoustic Absorbers and Diffusers. Theory, Design and Application. Spon Press: London, 2004.

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2022. No 3

4. Kuttruff H. Auralization of impulse responses modeled on the basis of Ray-Tracing results // J. Audio Eng. Soc. 1993. Vd. 41. P. 876 - 880.

5. Shirley P., Morley R.K. Realistic Ray Tracing. AK Peters: Na-tick, Massachusetts. 2003.

6. Vorlander M. Auralization. Fundamentals of acoustics, modelling, simulation, algorithms and acoustic virtual reality. Springer-Verlag: Berlin, Heidelberg. 2008.

7. Помпеи А., Сумбатян М.А., Тодоров Н.Ф. Виртуальные компьютерные модели в акустике помещений: метод лучевых траекторий и алгоритмы аурализации // Акустический журн. 2009. Т. 55. № 6. C.760 - 771.

8. Glassner A.S. (ed.). An Introduction to Ray Tracing. Academic Press: Cambridge, 1989.

9. Deng Y, Ni Y, Li Z, Mu Sh, Zhang W. Toward real-time Ray Tracing: a survey on hardware acceleration and microarchitecture techniques // ACM Computing Surveys. 2018. Vol. 50. No. 4. P. 1 - 41.

10. Amanatides J., Woo A. A fast Voxel Traversal algorithm for Ray Tracing // Dept. of Computer Science University of Toronto. Toronto, Ontario, Canada M5S 1A4.

11. De Berg M. Computational Geometry. Algorithms and Applications. Springer-Verlag: Berlin - Heidelberg, 2008.

12. Klimaszewski K.S., Sederberg T. W. Faster ray tracing using adaptive grids // IEEE Comput. Graph. Appl. 1997. Vol. 17. No. 1. P. 42-51.

13. Möller T. A fast triangle-triangle intersection test // J. Graphic Tools. 1997. Vol. 2. No. 2. P. 25 - 30.

References

1. Kuttruff H. Room Acoustics. (5thed.). Spon Press: London; 2009.

2. Makrinenko L.I. Acoustics of Auditoriums in Public Buildings. Moscow: Stroizdat; 1986.

3. Cox T.J., D'Antonio P. Acoustic Absorbers and Diffusers. Theory, Design and Application. Spon Press: London; 2004.

4. Kuttruff H. Auralization of impulse responses modeled on the basis of Ray-Tracing results. J. Audio Eng. Soc. 1993; (41):876-880.

5. Shirley P., Morley R.K. Realistic Ray Tracing. AK Peters: Natick, Massachusetts; 2003.

6. Vorlander M. Auralization. Fundamentals of acoustics, modelling, simulation, algorithms and acoustic virtual reality. SpringerVerlag: Berlin, Heidelberg; 2008.

7. Pompei A., Sumbatyan M.A., Todorov N.F. Computer models in room acoustics: the ray tracing method and the auralization algorithms. Acoustical Physics. 2009; 55(6):821-831. (In Russ.)

8. Glassner A.S. (ed.). An Introduction to Ray Tracing. Academic Press: Cambridge; 1989.

9. Deng Y., Ni Y., Li Z., Mu Sh., Zhang W. Toward real-time Ray Tracing: a survey on hardware acceleration and microarchitecture techniques. ACM Computing Surveys. 2018; 50(4):1-41.

10. Amanatides J., Woo A. A fast Voxel Traversal algorithm for Ray Tracing. Dept. of Computer Science University of Toronto. Toronto, Ontario, Canada M5S 1 A4.

11. De Berg M. Computational Geometry. Algorithms and Applications. Springer-Verlag: Berlin - Heidelberg; 2008.

12. Klimaszewski K. S., Sederberg T. W. Faster ray tracing using adaptive grids. IEEE Comput. Graph. Appl. 1997; 17(1): 42-51.

13. Möller T. A fast triangle-triangle intersection test. J. Graphic Tools. 1997; 2(2):25-30.

Сведения об авторе

Бараева Дарья Сергеевнав- аспирант, кафедра «Теоретической и компьютерной гидроаэродинамики», baraeva@sfedu.ru

Сумбатян Межлум Альбертович - д-р физ.-мат. наук, профессор, кафедра «Теоретической и компьютерной гидроаэродинамики», sumbat@math.rsu.ru

Information about the author

Baraeva Daria S. - Graduate Student, Department «Theoretical and Computational Hydroaerodynamics», baraeva@sfedu.ru

Sumbatyan Mezhlum A. - Doctor of Physics and Mathematics Sciences, Professor, Department «Theoretical and Computational Hydroaerodynamics», sumbat@math.rsu.ru

Статья поступила в редакцию /the article was submitted 15.05.2022; одобрена после рецензирования /approved after reviewing 23.05.2022; принята к публикации / acceptedfor publication 26.05.2022.

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