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

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

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