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

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function begin|encompassing_aperture_t EncompassingAperture(const spacial_vector<double>& ptAsObservedFrom) const; //1 encompassing_aperture_t EncompassingApert…»)
 
 
Строка 12: Строка 12:
{{function sa end}}
{{function sa end}}
{{function end}}
{{function end}}
{{Распространение радиоволн ВЧ/Реализация/EncompassingAperture/Алгоритм}}

Текущая версия на 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 при проекции на сферу будет лежать внутри сектора.

Пусть - непустое входное множество геометрических точек, и - некоторая заданная точка, вокруг которой требуется построить сектор сферы с единичным радиусом, где - вектор, ассоциированный с направленным отрезком от до центральной точки сектора на поверхности сферы, и - ангулярный радиус сектора, как это реализуется классом encompassing_aperture_t. Проекции всех точек из Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): {\displaystyle V} на сферу должны принадлежать Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \Omega} .

Пусть также все точки из Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): {\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 и подмножествами, должны быть объединены с помощью функции 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 . Это имеет место, когда Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V} образовано, например, вершинами одной отражающей поверхности 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}_1} и на рисунке соответствуют векторам Невозможно разобрать выражение (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'}_j} в статье.

Если Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \left|V\right|\equiv 1} , то Невозможно разобрать выражение (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 \left|V\right|\ge 2} .

Создадим множество Невозможно разобрать выражение (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{v'}_i,\vec{v'}_j\in V'} тех точек, отрезки из Невозможно разобрать выражение (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 2\alpha} .

Если угол равен нулю, то Невозможно разобрать выражение (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 \left|V\right|\ge 2} , Невозможно разобрать выражение (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 0<\alpha<\frac{\pi}{2}} .

Тогда задача нахождения Невозможно разобрать выражение (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'}_i} и Невозможно разобрать выражение (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{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'}_j} и обозначим как Невозможно разобрать выражение (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{P}} , направленный вдоль биссектриссы между Невозможно разобрать выражение (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'}_j} до точки пересечения с прямой. Обозначим как Невозможно разобрать выражение (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{v'}_i} и концом в точке пересечения. То есть

.

Согласно теореме о биссектрисе эта точка делит отрезок между Невозможно разобрать выражение (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'}_j} в пропорции, равной отношению длин Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle \left|\vec{v'}_i\right|} и Невозможно разобрать выражение (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 \vec{v}_c=\left|\vec{v}_c\right|\frac{\vec{v'}_j-\vec{v'}_i}{\left|\vec{v'}_j-\vec{v'}_i\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\vec{c}=\frac{1}{\left|\vec{v}_i\right|\cdot\left|\vec{v}_j\right|}\left(\left|\vec{v}_j\right|\vec{v}_i+\left|\vec{v}_i\right|\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'}=\begin{pmatrix}\vec{v}_i & \vec{v}_j\end{pmatrix}\begin{pmatrix}\left|\vec{v}_j\right| \\ \left|\vec{v}_i\right|\end{pmatrix}} .

Тогда Невозможно разобрать выражение (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|}} и Невозможно разобрать выражение (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|}} .