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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
Концепция луча является основой геометрической модели распространения света. Она включает в себя следующие моменты:
*Луч света распространяется по прямой линии в гомогенной среде.
*Луч подчиняется законам отражения и преломления, а также законам дифракции.
*Луч несет энергию. Энергия содержится в пространстве вокруг луча в виде конуса или пирамиды и распространяется вместе с ним. В процессе распространения поперечное сечение конуса (пирамиды) увеличивается, а плотность энергии уменьшается таким образом, чтобы полная энергия оставалась неизменной.


=Свойства луча=
# <tt>Начало()</tt>;
# <tt>Направление()</tt>;


Луч создается первичным источником и передается на вход функции трассировки. При прохождении луча в окрестности контрольной точки, последняя передает характеристики луча области памяти, ассоциированной с данной контрольной точкой.
=Функции=
==<tt>Пересечение (Плоскость)</tt>==
Возвращает точку пересечения луча с плоскостью.


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


Луч несет информацию о поле, а также служебную информацию, необходимую для работы модели: {Начало, Вектор направления, Напряженность, Идентификатор, Пробег}
==<tt>Угол пересечения(Плоскость)</tt>==
 
Возвращает угол падения луча на плоскость.
 
=Свойства луча=
 
# <tt>Начало()</tt>;
# <tt>Направление()</tt>;


=Операции над лучом=
На вход функции принимается плоскость, задаваемая вектором нормали <math>V_{face}</math>, луч определяется вектором направления <math>V_{ray}</math>.
# <tt>Пересечение (Плоскость)<math>\to</math>точка</tt>. Возвращает точку пересечения луча с плоскостью. Если пересечения нет, возвращается точка <math>\left(\infty, \infty, \infty\right)</math>.
#<math>V_{face}\leftarrow</math> <tt>Плоскость.Нормаль()</tt>
# <tt>Угол пересечения(Плоскость)<math>\to\alpha</math></tt>. Возвращает угол падения луча на плоскость.
#<math>V_{ray} \leftarrow</math> <tt>Луч.Направление()</tt>
# <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>==
# <tt>Создать(Источник, Направление, Частота)</tt>;
Возвращает расстояние, пройденное лучом от начала до точки.
#<math>P_{ray} \leftarrow</math> <tt>Луч.Начало()</tt>
#<math>P \leftarrow</math> <tt>Точка</tt>
#<math>r \leftarrow \left | P-P_{ray} \right |</math>

Текущая версия на 22:17, 13 марта 2017

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

  1. Начало();
  2. Направление();

Функции

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

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

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

  1. Плоскость.Точка()
  2. Плоскость.Нормаль()
  3. Луч.Начало()
  4. Луч.Направление()
  5. (NaN, NaN, NaN)
  6. Если
    1. Если
  7. ВЫХОД
Прим. "" здесь скалярное произведение, "" произведение отдельно для каждой координаты.

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

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

На вход функции принимается плоскость, задаваемая вектором нормали , луч определяется вектором направления .

  1. Плоскость.Нормаль()
  2. Луч.Направление()

Если , то луч падает на "внутреннюю" сторону плоскости, если - на "внешнюю", если - луч параллелен плоскости.

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

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

  1. Луч.Начало()
  2. Точка