Архитектурная акустика/Рей-трейсинг: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показано 8 промежуточных версий 2 участников)
Строка 12: Строка 12:
######Если <math>\exists t=\vec{D}\cap f</math> И расстояние <math>(s_i,t)< |\vec{D}|</math>
######Если <math>\exists t=\vec{D}\cap f</math> И расстояние <math>(s_i,t)< |\vec{D}|</math>
#######Перейти на шаг 1.1.1
#######Перейти на шаг 1.1.1
####Для <math>\forall ~ k \in </math> [<math>0,s_i.</math>Ширина полосы частот())
####Для <math>\forall ~ k \in </math>[<math>0,s_i.</math>Ширина полосы частот())
#####<math>\omega \leftarrow s_i.</math>Частота(<math>k</math>)
#####<math>\omega \leftarrow s_i.</math>Частота(<math>k</math>)
#####<math>\rho_i.</math> Зарегистрировать звук (<math>s_i.</math> Интенсивность (Азимут <math>\vec{D},</math> Зенит<math>\vec{D},\omega),0,\omega)</math>
#####<math>\rho_i.</math> Зарегистрировать звук (<math>s_i.</math> Интенсивность (Азимут <math>\vec{D},</math> Зенит<math>\vec{D},\omega),0,\omega)</math>
##Для <math>\forall ~ r \in </math> G.Множество отражающих объектов()
##Для <math>\forall ~ r \in </math> G.Множество отражающих объектов()
###Для <math>\forall ~ f \in r.</math> G.Множество поверхностей()
###Для <math>\forall ~ f \in r.</math> G.Множество поверхностей()
####Для <math>\forall ~ ??? \in f.</math> G.Множество отражающих элементов(Шаг дискретизации)
####Для <math>\forall ~ t \in f.</math> G.Множество отражающих элементов(Шаг дискретизации)
#####Для <math>\forall ~ k \in ???</math> ???
#####Для <math>\forall ~ k \in </math>[<math>0,s_i.</math>Ширина полосы частот())
#####<math>\omega \leftarrow s_i.</math>Частота(<math>k</math>)
######<math>\omega \leftarrow s_i.</math>Частота(<math>k</math>)
######<math>\vec{D} =\vec{t}-s_i.</math>Позиция()
######<math>\vec{D} =\vec{t}-s_i.</math>Позиция()
######<math>I\leftarrow s_i.</math>Интенсивность(Азимут<math> \vec{D},</math> Зенит<math>\vec{D},\omega</math>)
######<math>I\leftarrow s_i.</math>Интенсивность(Азимут<math> \vec{D},</math> Зенит<math>\vec{D},\omega</math>)
######<math>\vec{D'} \leftarrow</math>Отразить<math>\vec{D'},t</math>
######<math>\vec{D'} \leftarrow</math>Отразить<math>\vec{D'},t</math>
######<math>I' \leftarrow ???</math>Отразить??? (коэффициент отражения<math>(\omega)</math>),<math>I</math>
######<math>I' \leftarrow (1-f.</math>коэффициент отражения<math>(\omega))\cdot I</math>
######Для <math>\forall ~ \rho_i \in </math> G.Множество плоскостей ()
######Если <math>I' > G</math><tt>.Минимальный уровень звука()</tt>
#######Если <math>\exists p=\alpha\vec{D'}\cap \rho_i</math>  
#######Для <math>\forall ~ \rho_i \in </math> G.Множество плоскостей ()
######## <math> \rho_i.</math> Зарегистрировать???<math> \frac{I'}{(t,p)^2},0,\omega)</math>
########Если <math>\exists p=\alpha\vec{D'}\cap \rho_i, 0 < \alpha < \infty</math> и если не в_тени<math>(t,p,G)</math>
######Для <math>\forall ~ r' \in </math> G.Множество отражающих объектов ()
######### <math> \rho_i.</math> Зарегистрировать<math>( \frac{I'}{|t-p|^2},p,\omega)</math>
#######Для <math>\forall ~ f' \in r'</math> G.Множество плоскостей ()
#######Для <math>\forall ~ r' \in </math> G.Множество отражающих объектов ()
########Если <math>\exists t'=\beta\vec{D'}\cap f'</math>  
########Для <math>\forall ~ f' \in r'</math> .Множество поверхностей()
#########<math>D' \leftarrow </math> Отразить  <math>(D',f')</math>
#########Если <math>\exists t'=\beta\vec{D'}\cap f', 0 < \beta < \infty</math>  
#########
##########Если не В_тени (t,t',G)
#########Переход на шаг 1.2.1.1.1.5
###########<math>D' \leftarrow </math> Отразить  <math>(D',f')</math>
########### <math>I' \leftarrow \frac{I'(1-f'.absorptance(\omega))}{|t-t'|^2}</math>
###########<math>t \leftarrow t'</math>
###########Переход на ш. 1.2.1.1.1.6


=Свойства алгоритма=
=Свойства алгоритма=

Текущая версия на 16:12, 6 декабря 2016

Архитектурная акустика\Рей-трейсинг

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

Алгоритм

  1. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ s_i \in G.Множество первичных источников()
    1. Для G.Множество плоскостей вывода результатов()
      1. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ p \in \rho_i
        1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): D \leftarrow p - s_i. Позиция()
        2. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ r \in G.Множество отражающих объектов()
          1. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ f \in r. Множество поверхностей()
            1. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \exists t=\vec{D}\cap f И расстояние Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): (s_i,t)< |\vec{D}|
              1. Перейти на шаг 1.1.1
        3. Для [Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): 0,s_i. Ширина полосы частот())
          1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \omega \leftarrow s_i. Частота(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): k )
          2. Зарегистрировать звук (Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): s_i. Интенсивность (Азимут Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \vec{D}, ЗенитНевозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \vec{D},\omega),0,\omega)
    2. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ r \in G.Множество отражающих объектов()
      1. Для G.Множество поверхностей()
        1. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ t \in f. G.Множество отражающих элементов(Шаг дискретизации)
          1. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ k \in [Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): 0,s_i. Ширина полосы частот())
            1. Частота(Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): k )
            2. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \vec{D} =\vec{t}-s_i. Позиция()
            3. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I\leftarrow s_i. Интенсивность(АзимутНевозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): \vec{D}, ЗенитНевозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \vec{D},\omega )
            4. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \vec{D'} \leftarrow ОтразитьНевозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \vec{D'},t
            5. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I' \leftarrow (1-f. коэффициент отраженияНевозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): (\omega))\cdot I
            6. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): I' > G .Минимальный уровень звука()
              1. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ \rho_i \in G.Множество плоскостей ()
                1. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \exists p=\alpha\vec{D'}\cap \rho_i, 0 < \alpha < \infty и если не в_тениНевозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): (t,p,G)
                  1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \rho_i. ЗарегистрироватьНевозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): ( \frac{I'}{|t-p|^2},p,\omega)
              2. Для Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \forall ~ r' \in G.Множество отражающих объектов ()
                1. Для Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): \forall ~ f' \in r' .Множество поверхностей()
                  1. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \exists t'=\beta\vec{D'}\cap f', 0 < \beta < \infty
                    1. Если не В_тени (t,t',G)
                      1. Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): D' \leftarrow Отразить Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): (D',f')
                      2. Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): I' \leftarrow \frac{I'(1-f'.absorptance(\omega))}{|t-t'|^2}
                      3. Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): t \leftarrow t'
                      4. Переход на ш. 1.2.1.1.1.6

Свойства алгоритма