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

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