Шаблон:Распространение радиоволн ВЧ/Реализация/EncompassingAperture/Алгоритм: различия между версиями
(Новая страница: «Пусть <math>V=\begin{pmatrix}\vec{v}_0, \cdots, \vec{v}_{n-1}\end{pmatrix}</math> - непустое входное множество геометричес…») |
|||
| Строка 4: | Строка 4: | ||
Фактически, это означает, что все углы, образованные всеми возможными парами отрезков от <math>P</math> до <math>\forall\vec{v}_i\in V</math> должны быть меньше <math>\pi</math>. Это имеет место, когда <math>V</math> образовано, например, вершинами одной отражающей поверхности [[Распространение радиоволн ВЧ/Реализация/ReflectingObject|ReflectingObject]] или контрольными точками одной плоскости вывода результатов [[Распространение радиоволн ВЧ/Реализация/PlainControlPointSet|PlainControlPointSet]]. См. также [[Распространение радиоволн ВЧ/Реализация/Source::OptimizeRadiationVectors|Source::OptimizeRadiationVectors]]. | Фактически, это означает, что все углы, образованные всеми возможными парами отрезков от <math>P</math> до <math>\forall\vec{v}_i\in V</math> должны быть меньше <math>\pi</math>. Это имеет место, когда <math>V</math> образовано, например, вершинами одной отражающей поверхности [[Распространение радиоволн ВЧ/Реализация/ReflectingObject|ReflectingObject]] или контрольными точками одной плоскости вывода результатов [[Распространение радиоволн ВЧ/Реализация/PlainControlPointSet|PlainControlPointSet]]. См. также [[Распространение радиоволн ВЧ/Реализация/Source::OptimizeRadiationVectors|Source::OptimizeRadiationVectors]]. | ||
[[Файл:EncompassingAperture-algo bisector triangle.svg|thumb|Поиск центральной точки сферы и ангулярного радиуса при конструировании объекта [[Распространение радиоволн ВЧ/Реализация/encompassing_aperture_t|encompassing_aperture_t]] на основе позиции точки <math>\vec{P}</math>, вокруг которой строится сфера, и двух точек, которые ограничивают площадь сектора. Вектора <math>\vec{v}_1</math> и <math>\vec{v}_2</math> на рисунке соответствуют векторам <math>\vec{v'}_i</math> и <math>\vec{v'}_j</math> в статье.|500px]] | |||
Если <math>\left|V\right|\equiv 1</math>, то <math>\Omega=\left\langle\frac{\vec{v}_0-\vec{P}}{\left|\vec{v}_0-\vec{P}\right|}, 0\right\rangle</math>. Далее по тексту <math>\left|V\right|\ge 2</math>. | Если <math>\left|V\right|\equiv 1</math>, то <math>\Omega=\left\langle\frac{\vec{v}_0-\vec{P}}{\left|\vec{v}_0-\vec{P}\right|}, 0\right\rangle</math>. Далее по тексту <math>\left|V\right|\ge 2</math>. | ||
Текущая версия на 01:50, 3 декабря 2018
Пусть - непустое входное множество геометрических точек, и - некоторая заданная точка, вокруг которой требуется построить сектор сферы с единичным радиусом, где - вектор, ассоциированный с направленным отрезком от Невозможно разобрать выражение (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/»:): \alpha - ангулярный радиус сектора, как это реализуется классом 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 \Omega} .
Пусть также все точки из Невозможно разобрать выражение (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 . Это имеет место, когда Невозможно разобрать выражение (MathML с запасными SVG или PNG (рекомендуется для современных браузеров и инструментов повышения доступности): Недопустимый ответ («Math extension cannot connect to Restbase.») от сервера «https://wikimedia.org/api/rest_v1/»:): {\displaystyle V} образовано, например, вершинами одной отражающей поверхности ReflectingObject или контрольными точками одной плоскости вывода результатов PlainControlPointSet. См. также Source::OptimizeRadiationVectors.
Если Невозможно разобрать выражение (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} и Невозможно разобрать выражение (Ошибка преобразования. Сервер («https://wikimedia.org/api/rest_») сообщил: «Cannot get mml. Server problem.»): {\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 \vec{c}} единичной длины и угол Невозможно разобрать выражение (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{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'}_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|}} .