Распространение радиоволн ВЧ/Луч: различия между версиями
Nigiluk (обсуждение | вклад) |
Nigiluk (обсуждение | вклад) |
||
Строка 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} | #<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 | ##Если <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>Отразить( | |||
На вход функции принимается плоскость, задаваемая вектором нормали <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
Концепция луча является основой геометрической модели распространения света. Она включает в себя следующие моменты:
- Луч света распространяется по прямой линии в гомогенной среде.
- Луч подчиняется законам отражения и преломления, а также законам дифракции.
- Луч несет энергию. Энергия содержится в пространстве вокруг луча в виде конуса или пирамиды и распространяется вместе с ним. В процессе распространения поперечное сечение конуса (пирамиды) увеличивается, а плотность энергии уменьшается таким образом, чтобы полная энергия оставалась неизменной.
Луч создается первичным источником и передается на вход функции трассировки. При прохождении луча в окрестности контрольной точки, последняя передает характеристики луча области памяти, ассоциированной с данной контрольной точкой.
Луч несет информацию о поле, а также служебную информацию, необходимую для работы модели: {Начало, Направление, Напряженность, Идентификатор, Пробег}
Свойства луча
- Начало();
- Направление();
- Напряженность();
- Идентификатор().Источник();
- Идентификатор().Порядок переотражения();
- Идентификатор().Грань();
- Идентификатор().Направление();
- Идентификатор().Частота();
- Среда().Погонное затухание()
- Среда().Коэффициент преломления()
- Пробег();
Функции
Пересечение (Плоскость)
Возвращает точку пересечения луча с плоскостью.
На вход функции принимается плоскость, задаваемая точкой
и вектором нормали . Луч как геометрический объект определяется начальной точкой и вектором направления .- Плоскость.Точка()
- Плоскость.Нормаль()
- Луч.Начало()
- Луч.Направление()
- (NaN, NaN, NaN)
- Если
- Если
- ВЫХОД
- Прим. " " здесь скалярное произведение, " " произведение отдельно для каждой координаты.
Угол пересечения(Плоскость)
Возвращает угол падения луча на плоскость.
На вход функции принимается плоскость, задаваемая вектором нормали
, луч определяется вектором направления .- Плоскость.Нормаль()
- Луч.Направление()
Если
, то луч падает на "внутреннюю" сторону плоскости, если - на "внешнюю", если - луч параллелен плоскости.Пробег(Точка)
Возвращает расстояние, пройденное лучом от начала до точки.
- Луч.Начало()
- Точка
Отразить(Грань, Точка, Пробег, Угол)
Функция осуществляет геометрическое и физическое построение отраженного луча. Функция меняет свойства луча.
На вход функции принимаются: грань, геометрию которой задают набор точек, физические свойства - коэффициент преломления; точка - место падения луча на грань; пробег - расстояние, пройденное лучом от начала до точки падения; угол - угол падения луча на плоскость.
- Луч.Начало() Точка
- Луч.Идентификатор().Порядок переотражения() Луч.Идентификатор().Порядок переотражения() + 1
- Луч.Идентификатор().Грань() Грань
- Луч.Пробег() Луч.Пробег + Пробег
- Луч.Направление()
- Грань.Плоскость().Нормаль()
- Луч.Направление()
- Луч.Напряженность() Напряженность.Уменьшить по пробегу(Луч.Напряженность(), Луч.Среда().Погонное затухание())
- Луч.Напряженность() Напряженность.Уменьшить по отражению(Луч.Напряженность(), Луч.Среда().Коэффициент преломления(), Грань.Коэффициент преломления(), Угол)