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

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


=Свойства луча=
=Свойства луча=
# <tt>Начало()</tt>;
# <tt>Начало()</tt>;
# <tt>Направление()</tt>;
# <tt>Направление()</tt>;
# <tt>Напряженность()</tt>;
 
# <tt>Идентификатор().Источник()</tt>;
# <tt>Идентификатор().Порядок переотражения()</tt>;
# <tt>Идентификатор().Грань()</tt>;
# <tt>Идентификатор().Направление()</tt>;
# <tt>Идентификатор().Частота()</tt>;
# <tt>Пробег()</tt>;
=Функции=
=Функции=
==<tt>Пересечение (Плоскость)</tt>==
==<tt>Пересечение (Плоскость)</tt>==
Строка 26: Строка 9:


На вход функции принимается плоскость, задаваемая точкой <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>
==<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>

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

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