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