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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
=Свойства луча=
=Свойства луча=
# <tt>Начало()</tt>;
# <tt>Направление()</tt>;
=Функции=
==<tt>Пересечение (Плоскость)</tt>==
Возвращает точку пересечения луча с плоскостью.


# <tt>Позиция()</tt>;
На вход функции принимается плоскость, задаваемая точкой <math>P_{face}</math> и вектором нормали <math>V_{face}</math>. Луч как геометрический объект определяется начальной точкой <math>P_{ray}</math> и вектором направления <math>V_{ray}</math>.
# <tt>Направление()</tt>;
#<math>P_{face}\leftarrow</math> <tt>Плоскость.Точка()</tt>
# <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>P_{ray} \leftarrow</math> <tt>Луч.Начало()</tt>
# <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>==
Возвращает угол падения луча на плоскость.
 
На вход функции принимается плоскость, задаваемая вектором нормали <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>

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

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

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

Функции

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

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

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

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

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

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

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

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

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

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

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

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