Распространение радиоволн ВЧ/Реализация/ControlPointSet::EncompassingAperture

Материал из CAMaaS preliminary wiki
< Распространение радиоволн ВЧ‎ | Реализация
Версия от 01:50, 3 декабря 2018; Андрей Чусов (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску
encompassing_aperture_t EncompassingAperture(const spacial_vector<double>& ptAsObservedFrom) const; //1
encompassing_aperture_t EncompassingAperture() const; //2

Для заданной точки строит сектор encompassing_aperture_t сферы с единичным радиусом, описанной вокруг этой точки, так, что все точки текущего множества контрольных точек при проекции на сферу будут лежать внутри сектора.

  1. Построение ведется для заданной точки.
  2. То же, но построение ведется для начала мировой системы координат.
Параметры
[in]ptAsObservedFromТочка, вокруг которой строится сфера.
Возвращаемое значение:
Результирующий объект-сектор.
См. также
Source::OptimizeRadiationVectorsСтроит сектор сферы encompassing_aperture_t, область которого ограничивает множество, реализуемое системой классов radiation_set_t, элементов поля, излучаемого источником.
ReflectingObject::EncompassingApertureДля заданной точки строит сектор encompassing_aperture_t сферы с единичным радиусом, описанной вокруг этой точки, так, что отражающий объект ReflectingObject при проекции на сферу будет лежать внутри сектора.

Пусть Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V=\begin{pmatrix}\vec{v}_0, \cdots, \vec{v}_{n-1}\end{pmatrix}} - непустое входное множество геометрических точек, и - некоторая заданная точка, вокруг которой требуется построить сектор Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \Omega=\left\langle\vec{c}, \alpha\right\rangle} сферы с единичным радиусом, где Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{c}} - вектор, ассоциированный с направленным отрезком от Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{P}} до центральной точки сектора на поверхности сферы, и - ангулярный радиус сектора, как это реализуется классом encompassing_aperture_t. Проекции всех точек из Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V} на сферу должны принадлежать .

Пусть также все точки из Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V} лежат по одну сторону от Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P , т.е. Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P не находится геометрически в облаке, образованном Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V} . Если это не так, то множество Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V} должно быть разбито на подмножества точек, лежащих по одну сторону от Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P , а затем сектора, образованные применением описываемого алгоритма над Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P и подмножествами, должны быть объединены с помощью функции unify.

Фактически, это означает, что все углы, образованные всеми возможными парами отрезков от Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): P до Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \forall\vec{v}_i\in V} должны быть меньше Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): \pi . Это имеет место, когда образовано, например, вершинами одной отражающей поверхности ReflectingObject или контрольными точками одной плоскости вывода результатов PlainControlPointSet. См. также Source::OptimizeRadiationVectors.

Поиск центральной точки сферы и ангулярного радиуса при конструировании объекта encompassing_aperture_t на основе позиции точки Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{P}} , вокруг которой строится сфера, и двух точек, которые ограничивают площадь сектора. Вектора и Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v}_2} на рисунке соответствуют векторам и Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v'}_j} в статье.

Если , то Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \Omega=\left\langle\frac{\vec{v}_0-\vec{P}}{\left|\vec{v}_0-\vec{P}\right|}, 0\right\rangle} . Далее по тексту .

Создадим множество Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V' = \bigcup\limits_{i=0}^{n-1}\left(\vec{v}_i-\vec{P}\right)} и выберем пару тех точек, отрезки из Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{P}} до которых образуют между собой наибольший угол .

Если угол равен нулю, то Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \Omega=\left\langle\frac{\vec{v'}_i}{\left|\vec{v'}_i\right|}, 0\right\rangle} .

Поэтому далее по тексту рассматривается оставшийся случай, когда , Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle 0<2\alpha<\pi} и .

Тогда задача нахождения Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \Omega} будет сводиться к нахождению биссектрисы между и Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v'}_j} , лежащий на ней вектор единичной длины и угол Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \alpha = \frac{1}{2}\arccos\frac{\vec{v'}_i\cdot\vec{v'}_j}{\left|\vec{v'}_i\right|\cdot\left|\vec{v'}_j\right|}} .

Для нахождения вектора соединим прямой точки Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v'}_i} и и обозначим как Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \tau\vec{c}} вектор, с которым ассоциирован направленный отрезок, имеющий начало в точке , направленный вдоль биссектриссы между Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v'}_i} и до точки пересечения с прямой. Обозначим как Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v}_c} вектор, с которым ассоциирован направленный отрезок с началом в конце отрезка и концом в точке пересечения. То есть

Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{c}=\vec{v}_i+\vec{v}_c} .

Согласно теореме о биссектрисе эта точка делит отрезок между и Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{v'}_j} в пропорции, равной отношению длин и Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \left|\vec{v'}_j\right|} . Поэтому

;
Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \frac{\left|\vec{v}_c\right|}{\left|\vec{v'}_j-\vec{v'}_i\right|-\left|\vec{v}_c\right|}=\frac{\left|\vec{v}_i\right|}{\left|\vec{v}_j\right|}\Rightarrow\vec{v}_c=\frac{\left|\vec{v}_i\right|\cdot\left|\vec{v}_j-\vec{v}_i\right|}{\left|\vec{v}_i\right| + \left|\vec{v}_j\right|}} .

Поэтому

.

Пусть Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \tau'=\frac{\tau}{\left|\vec{v}_i\right|\cdot\left|\vec{v}_j\right|}} и

.

Тогда Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \vec{c}=\frac{\tau'\vec{c'}}{\tau'\left|\vec{c'}\right|}=\frac{\vec{c'}}{\left|\vec{c'}\right|}} и .