Распространение радиоволн ВЧ/Луч: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Строка 20: Строка 20:
# <tt>Идентификатор().Направление()</tt>;
# <tt>Идентификатор().Направление()</tt>;
# <tt>Идентификатор().Частота()</tt>;
# <tt>Идентификатор().Частота()</tt>;
# <tt>Среда().Погонное затухание()</tt>
# <tt>Среда().Коэффициент преломления()</tt>
# <tt>Пробег()</tt>;
# <tt>Пробег()</tt>;
=Функции=
=Функции=
Строка 26: Строка 28:


На вход функции принимается плоскость, задаваемая точкой <math>P_{face}</math> и вектором нормали <math>V_{face}</math>. Луч как геометрический объект определяется начальной точкой <math>P_{ray}</math> и вектором направления <math>V_{ray}</math>.
На вход функции принимается плоскость, задаваемая точкой <math>P_{face}</math> и вектором нормали <math>V_{face}</math>. Луч как геометрический объект определяется начальной точкой <math>P_{ray}</math> и вектором направления <math>V_{ray}</math>.
#<math>P_{face}, V_{face}\leftarrow</math> <tt>Плоскость</tt>
#<math>P_{face}\leftarrow</math> <tt>Плоскость.Точка()</tt>
#<math>P_{ray} \leftarrow</math> <tt>Начало()</tt>
#<math>V_{face}\leftarrow</math> <tt>Плоскость.Нормаль()</tt>
#<math>V_{ray} \leftarrow</math> <tt>Направление()</tt>
#<math>P_{ray} \leftarrow</math> <tt>Луч.Начало()</tt>
#<math>V_{ray} \leftarrow</math> <tt>Луч.Направление()</tt>
#<math>P \leftarrow</math> (NaN, NaN, NaN)
#<math>P \leftarrow</math> (NaN, NaN, NaN)
#Если <math>V_{face} \cdot V_{ray} \ne 0</math>
#Если <math>V_{face} \cdot V_{ray} \ne 0</math>
##<math>t \leftarrow \frac {V_{face} \cdot P_{face} - V_{face} \cdot P_{ray}} {V_{face} \cdot V_{ray}}</math>
##<math>t \leftarrow \frac {V_{face} \cdot P_{face} - V_{face} \cdot P_{ray}} {V_{face} \cdot V_{ray}}</math>
##Если <math>t \ge 0</math>
##Если <math>t > 0</math>
###<math>P \leftarrow P_{ray} + t*V_{ray}</math>
###<math>P \leftarrow P_{ray} + t*V_{ray}</math>
#ВЫХОД
#ВЫХОД
:Прим. "<math>\cdot</math>" здесь скалярное произведение, "<math>*</math>" произведение отдельно для каждой координаты
:Прим. "<math>\cdot</math>" здесь скалярное произведение, "<math>*</math>" произведение отдельно для каждой координаты.


==<tt>Угол пересечения(Плоскость)</tt>==
==<tt>Угол пересечения(Плоскость)</tt>==
Возвращает угол падения луча на плоскость.
Возвращает угол падения луча на плоскость.
==<tt>Отразить(Плоскость, Точка, Расстояние, Угол, Среда распространения)</tt>==
 
На вход функции принимается плоскость, задаваемая вектором нормали <math>V_{face}</math>, луч определяется вектором направления <math>V_{ray}</math>.
#<math>V_{face}\leftarrow</math> <tt>Плоскость.Нормаль()</tt>
#<math>V_{ray} \leftarrow</math> <tt>Луч.Направление()</tt>
#<math>\gamma \leftarrow \arcsin V_{face} \cdot V_{ray}</math>
Если <math>\gamma>0</math> , то луч падает на "внутреннюю" сторону плоскости, если <math>\gamma<0</math> - на "внешнюю", если <math>\gamma=0</math> - луч параллелен плоскости.
 
==<tt>Пробег(Точка)</tt>==
Возвращает расстояние, пройденное лучом от начала до точки.
#<math>P_{ray} \leftarrow</math> <tt>Луч.Начало()</tt>
#<math>P \leftarrow</math> <tt>Точка</tt>
#<math>r \leftarrow \left | P-P_{ray} \right |</math>
==<tt>Отразить(Грань, Точка, Пробег, Угол)</tt>==
Функция осуществляет геометрическое и физическое построение отраженного луча. Функция меняет свойства луча.
Функция осуществляет геометрическое и физическое построение отраженного луча. Функция меняет свойства луча.
На вход функции принимаются: грань, геометрию которой задают набор точек, физические свойства - коэффициент преломления; точка - место падения луча на грань; пробег - расстояние, пройденное лучом от начала до точки падения; угол - угол падения луча на плоскость.
#<tt>Луч.Начало() <math>\leftarrow</math> Точка</tt>
#<tt>Луч.Идентификатор().Порядок переотражения() <math>\leftarrow</math> Луч.Идентификатор().Порядок переотражения() + 1</tt>
#<tt>Луч.Идентификатор().Грань() <math>\leftarrow</math> Грань</tt>
#<tt>Луч.Пробег() <math>\leftarrow</math> Луч.Пробег + Пробег</tt>
#<math>\begin{bmatrix} X_r & Y_r & Z_r \end{bmatrix} \leftarrow </math> <tt>Луч.Направление()</tt>
#<math>\begin{bmatrix} X_f & Y_f & Z_f \end{bmatrix} \leftarrow </math> <tt>Грань.Плоскость().Нормаль()</tt>
#<tt>Луч.Направление()</tt> <math> \leftarrow \begin{bmatrix} X_r & Y_r & Z_r & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & \frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & -\frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \sqrt {Y_f^2+Z_f^2} & 0 & X_f & 0 \\ 0 & 1 & 0 & 0 \\ -X_f & 0 & \sqrt {Y_f^2+Z_f^2} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \sqrt {Y_f^2+Z_f^2} & 0 & -X_f & 0 \\ 0 & 1 & 0 & 0 \\ X_f & 0 & \sqrt {Y_f^2+Z_f^2} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & -\frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & \frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}</math>
#<tt>Луч.Напряженность() <math>\leftarrow</math> [[Распространение радиоволн ВЧ/Напряженность|Напряженность]].Уменьшить по пробегу(Луч.Напряженность(), Луч.Среда().Погонное затухание())</tt>
#<tt>Луч.Напряженность() <math>\leftarrow</math> [[Распространение радиоволн ВЧ/Напряженность|Напряженность]].Уменьшить по отражению(Луч.Напряженность(), Луч.Среда().Коэффициент преломления(), Грань.Коэффициент преломления(), Угол)</tt>
=Конструкторы=
=Конструкторы=
==<tt>Создать(Источник, Направление, Частота)</tt>==
==<tt>Создать(Источник, Направление, Частота)</tt>==
==<tt>Создать преломленный луч(Луч, Грань)</tt>==
==<tt>Создать дифрагированный луч(Луч, Грань)</tt>==

Версия 22:35, 18 февраля 2017

Концепция луча является основой геометрической модели распространения света. Она включает в себя следующие моменты:

  • Луч света распространяется по прямой линии в гомогенной среде.
  • Луч подчиняется законам отражения и преломления, а также законам дифракции.
  • Луч несет энергию. Энергия содержится в пространстве вокруг луча в виде конуса или пирамиды и распространяется вместе с ним. В процессе распространения поперечное сечение конуса (пирамиды) увеличивается, а плотность энергии уменьшается таким образом, чтобы полная энергия оставалась неизменной.


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


Луч несет информацию о поле, а также служебную информацию, необходимую для работы модели: {Начало, Направление, Напряженность, Идентификатор, Пробег}


Свойства луча

  1. Начало();
  2. Направление();
  3. Напряженность();
  4. Идентификатор().Источник();
  5. Идентификатор().Порядок переотражения();
  6. Идентификатор().Грань();
  7. Идентификатор().Направление();
  8. Идентификатор().Частота();
  9. Среда().Погонное затухание()
  10. Среда().Коэффициент преломления()
  11. Пробег();

Функции

Пересечение (Плоскость)

Возвращает точку пересечения луча с плоскостью.

На вход функции принимается плоскость, задаваемая точкой Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle P_{face}} и вектором нормали . Луч как геометрический объект определяется начальной точкой Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle P_{ray}} и вектором направления Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{ray}} .

  1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle P_{face}\leftarrow} Плоскость.Точка()
  2. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{face}\leftarrow} Плоскость.Нормаль()
  3. Луч.Начало()
  4. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{ray} \leftarrow} Луч.Направление()
  5. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P \leftarrow (NaN, NaN, NaN)
  6. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{face} \cdot V_{ray} \ne 0}
    1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle t \leftarrow \frac {V_{face} \cdot P_{face} - V_{face} \cdot P_{ray}} {V_{face} \cdot V_{ray}}}
    2. Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle t > 0}
      1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle P \leftarrow P_{ray} + t*V_{ray}}
  7. ВЫХОД
Прим. "Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \cdot " здесь скалярное произведение, "Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle *} " произведение отдельно для каждой координаты.

Угол пересечения(Плоскость)

Возвращает угол падения луча на плоскость.

На вход функции принимается плоскость, задаваемая вектором нормали Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{face}} , луч определяется вектором направления Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{ray}} .

  1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{face}\leftarrow} Плоскость.Нормаль()
  2. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V_{ray} \leftarrow} Луч.Направление()
  3. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \gamma \leftarrow \arcsin V_{face} \cdot V_{ray}}

Если , то луч падает на "внутреннюю" сторону плоскости, если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \gamma<0} - на "внешнюю", если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \gamma=0} - луч параллелен плоскости.

Пробег(Точка)

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

  1. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle P_{ray} \leftarrow} Луч.Начало()
  2. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P \leftarrow Точка

Отразить(Грань, Точка, Пробег, Угол)

Функция осуществляет геометрическое и физическое построение отраженного луча. Функция меняет свойства луча.

На вход функции принимаются: грань, геометрию которой задают набор точек, физические свойства - коэффициент преломления; точка - место падения луча на грань; пробег - расстояние, пройденное лучом от начала до точки падения; угол - угол падения луча на плоскость.

  1. Луч.Начало() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Точка
  2. Луч.Идентификатор().Порядок переотражения() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Луч.Идентификатор().Порядок переотражения() + 1
  3. Луч.Идентификатор().Грань() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Грань
  4. Луч.Пробег() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Луч.Пробег + Пробег
  5. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{bmatrix} X_r & Y_r & Z_r \end{bmatrix} \leftarrow } Луч.Направление()
  6. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \begin{bmatrix} X_f & Y_f & Z_f \end{bmatrix} \leftarrow } Грань.Плоскость().Нормаль()
  7. Луч.Направление() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \leftarrow \begin{bmatrix} X_r & Y_r & Z_r & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & \frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & -\frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \sqrt {Y_f^2+Z_f^2} & 0 & X_f & 0 \\ 0 & 1 & 0 & 0 \\ -X_f & 0 & \sqrt {Y_f^2+Z_f^2} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \sqrt {Y_f^2+Z_f^2} & 0 & -X_f & 0 \\ 0 & 1 & 0 & 0 \\ X_f & 0 & \sqrt {Y_f^2+Z_f^2} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & -\frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & \frac {Y_f} {\sqrt {Y_f^2+Z_f^2}} & \frac {Z_f} {\sqrt {Y_f^2+Z_f^2}} & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}}
  8. Луч.Напряженность() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Напряженность.Уменьшить по пробегу(Луч.Напряженность(), Луч.Среда().Погонное затухание())
  9. Луч.Напряженность() Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \leftarrow Напряженность.Уменьшить по отражению(Луч.Напряженность(), Луч.Среда().Коэффициент преломления(), Грань.Коэффициент преломления(), Угол)

Конструкторы

Создать(Источник, Направление, Частота)

Создать преломленный луч(Луч, Грань)

Создать дифрагированный луч(Луч, Грань)