Статья является продолжением серии о системах координат на точечном базисе. Базис представляет собой вершины симплекса или графа с известными значениями двух взаимных метрических тензоров — дистанционного (ДМТ) и лапласовского (ЛМТ). В первой статье описаны свойства данных тензоров. Здесь покажем, что представляют собой координаты точек.



Дистанционные координаты


Для лапласовского метрического тензора (ЛМТ) координатами, описывающими точку в пространстве, являются дистанционные координаты. Данные координаты представляют собой объединение скалярной единицы и значений отрицательных полудистанций от точки до реперов — вершин базисного симплекса или графа. Для краткости будем именовать их ди-координатами.

Количество компонент ди-координат на единицу больше количества базовых вершин n и на две единицы больше мерности пространства l, задаваемого базисом (вершинами симплекса). Примером ди-координат может служить строка (колонка) дистанционного метрического тензора (ДМТ).

Ди-координаты — это не просто набор чисел, но структура, включающая в себя скалярную часть (единицу) и векторную (полудистанции до вершин). По структуре ди-координаты похожи на однородные координаты, которые в простейшем случае представляют собой расширение декартовых координат единичной компонентой. Кроме того, с координатами подобной структуры имеют дело физики при описании 4-мерного пространства-времени. Все эти совпадения неслучайны.

В матричной форме дистанционные координаты точки будем обозначать как $di$. Структура ди-координат точки — $di_P=[1; d2_P]$.
Приведем примеры значений дистанционных координат. Допустим, рядом с нашим базовым треугольником есть еще три точки с известными дистанциями до вершин треугольника — P, Q и R (см. рисунок). Для расчета дистанций используем декартовы координаты точек на плоскости (XY), которые приводим для контроля и сверки:
Матрица декартовых координат точек:
\begin{array}{c | c c c c c c}
XY & A & B & C & P & Q & R \\
\hline
X & 0 & 3 & 0 & 1 & 3 & 5 \\
Y & 0 & 0 & 4 &-1 & 2 & 0 \\
\end{array}

Вектор дистанций от точки P до точек A, B, С здесь такой: $d_P=[2, 5, 26]$. Соответственно, ди-координаты точки будут: $di_P=[1; -1.0, -2.5, -13.0]$. Первая единица — это скалярная компонента. У всех точек пространства значение скалярной компоненты ди-координат одно и то же (в рамках данной серии статей).

Ди-координаты точек Q и R:
$di_Q=[1; -6.5, -2.0, -6.5]$
$di_R=[1; -12.5, -2.0, -20.5]$

Точки и векторы


Ди-координаты точек пространства можно вычитать и получать их разность — вектор. У ди-координат вектора разности скалярная компонента равна нулю — по этому признаку ди-координаты вектора $\vec{di_{PQ}}$ можно отличить от координат точек $di_{P}$.

Геометрия, в которой описание координат точек и векторов отличается, называется аффинной. В такой геометрии координаты вектора (разности) можно прибавить к координатам какой-либо точки и получить координаты новой точки пространства. Для векторов определены операции сложения и вычитания (значение скалярной компоненты при этом остается нулевым). Но нет смысла, например, складывать между собой координаты точек.

Термин <вектор> получается перегруженным.
С одной стороны вектором называется разность координат точек. С другой — сами координаты (как точек, так и векторов) имеют как скалярную часть (всегда одна компонента), так и векторную (количество компонент определяется мерностью пространства). Некоторые понятия (норма) будем использовать как для точек, так и для векторов, поэтому здесь следует быть внимательным.

Дистанция между точками


Проверим, работает ли наш тензор. Для определения квадрата расстояния (дистанции) между точками P и Q надо найти вектор разности координат точек $\vec{PQ}$ и рассчитать его норму. Норма вектора определяется стандартно — через билинейную форму — умножение вектора слева и справа и на метрический тензор. Для дистанционных координат это записывается так:

$d(P, Q)=d_{PQ}=||\vec{PQ}||=di_{PQ} Lm\space di_{PQ} \quad(2.1)$


где $di_{PQ}=di_P - di_Q$ — вектор разности, $Lm$ — метрический тензор. Здесь и далее не злоупотребляем штрихами для обозначения векторов (штрихи еще понадобятся), поэтому помним, что в билинейной форме слева от матрицы — вектор-строка, а справа — вектор-столбец.

Проверяем. Координаты искомого вектора: $di_{PQ}=[1; -1.0, -2.5, -13.0] - [1; -6.5, -2.0, -6.5] = [0; 5.5, -0.5, -6.5]$. Данные координаты умножаем с двух сторон на лапласовский метрический тензор (ЛМТ) и получаем ответ: $d_{PQ}=13$. Можно свериться с расчетом расстояния через дистанции в декартовых координатах: $d_{PQ}=3^2+2^2=13$. Ответы совпали, ЛМТ работает.

Для сверки расчетов приводим значение ЛМТ нашего базиса из предыдущей статьи
\begin{array}{c | c c c c}
Lm_{ABC} & * & A & B & C \\
\hline
* & 6.25 & 0 & 0.5 & 0.5 \\
A & 0 & 25/144 & -16/144 & -9/144 \\
B & 0.5 & -16/144 & 16/144 & 0 \\
C & 0.5 & -9/144 & 0 & 9/144 \\
\end{array}

Точка и ее проекция на базовое пространство


Напомним, что симплекс из n вершин определяет l=n-1-мерное пространство $\mathbb{R}^l$. Базисный треугольник определяет базовую плоскость $\mathbb{R}^2$. Количество дистанционных компонент в ди-координатах точки на единицу больше мерности пространства. Это означает, что ди-координаты позволяют задавать точки, выходящие за пределы базового пространства и принадлежащие $\mathbb{R}^n$. В нашем примере точки могут лежать не только в плоскости треугольника, но и на (под) ним.

Координаты точки не позволяют определить, с какой стороны базового пространства находится точка (если она ему не принадлежит). В примере с треугольником точки, расположенные над и под плоскостью треугольника, будут иметь одни и те же координаты.

Если точка не принадлежит базовому пространству, то следует различать положение самой точки P и ее проекции на пространство P' (вот где штрих понадобился). Формула определения дистанции между точками (2.1) работает только в базовом пространстве, то есть дает дистанцию между проекциями точек (а не между самими точками). Отсюда следует, что более точное написание формулы будет таким:

$d_{P' Q'}=di_{PQ} \space Lm \space di_{PQ} \quad(2.1')$


В декартовых (и подобных им) координатах всегда работаем с пространством базиса (просто потому, что нет способа задания координат точек, выходящих за него). Поэтому в декартовой системе таких нюансов нет. Координаты на точечном базисе обладают большими возможностями, но и требуют более аккуратного обращения.

Норма точки и дистанция до базового пространства


Раскрывая скобки в формуле (2.1), получаем «теорему косинусов на точках». По форме она похожа на обычную теорему косинусов, только здесь у нас координаты точек (а не векторов). Поэтому нет ни углов, ни косинусов. Зато получаем полезные определения норм точек:

$d_{P'Q'}=n_P + n_Q - 2 n_{PQ} \quad(2.2)$


$n_P=|P, P|=di_P \space Lm\space di_P\quad(2.3)$

$n_{PQ}=|P, Q|=di_P \space Lm \space di_Q=di_Q \space Lm \space di_P\quad(2.4)$

Скаляр $n_P$ будем называть нормой точки P, а скаляр $n_{PQ}$ — взаимной нормой (сверткой) точек P и Q. Свертка точек представляет собой скалярное произведение их координат.

Рассчитаем норму точки P, которая изображена на рисунке. Умножая дважды ди-координаты точки на метрический тензор ЛМТ, получим, что она равна нулю: $n_P= 0$. Что это значит?

Норма точки характеризует положение точки относительно базового пространства,- она равна дистанции от точки до пространства с обратным знаком. То есть фактически представляет собой норму вектора разности координат точки P и ее проекции P' на базовое пространство:

$n_P=-||\vec{d_{PP'}}||=-d_{PP'} \quad(2.5)$.

Значение нормы позволяет определить, принадлежит точка пространству базиса или нет, и если нет, то насколько она от него удалена.

Дистанция между точками вне базисного пространства


Естественным является вопрос, можно ли определить дистанцию между точками, которые не принадлежат базовому пространству? Неожиданный ответ — да. Для этого достаточно знать ди-координаты точек, их положение относительно базового пространства, ну и метрический тензор базиса, конечно. «Магическая» формула выглядит так:

$ d_{PQ}/(-2)=d2_{PQ}=n_{PQ} + sign_{PQ} \sqrt{n_P n_Q} \quad(2.6)$


Значение скаляра $sign_{PQ}$ равно 1, если точки расположены с одной стороны и -1, если с разных. Во многих прикладных задачах расположение точек всегда одностороннее, поэтому формула (2.6) может быть использована для определения дистанции между объектами (находящимися, например, в воздухе) если известны их ди-координаты относительно реперов (радаров на земле).

Непросто представить, что, например, у 3-мерного пространства тоже есть сторона, но математика говорит, что есть. В декартовых координатах сторона, которой принадлежит точка, определяется знаком значения n-ой компоненты, которая не входит в базовые. Если тетраэдр задан в декартовых координатах x, y, z, и при этом еще существует одна компонента (например, t — время), то можно считать, что плоскость t=0 делит базовое пространство на две стороны. Точки, у которых компонента t > 0, лежат с одной стороны базового пространства, а у которых t < 0 — с другой.

Взаимная норма (свертка) точек


Геометрический смысл взаимной нормы точек вытекает из формулы (2.2), см. также рисунок проекций. Перегруппировав слагаемые, получим с учетом (2.5):

$n_{PQ}=d2_{P'Q'} + d2_{PP'} + d2_{QQ'} \quad(2.7)$


То есть взаимная норма представляет собой сумму полудистанций от точек до базового пространства и полудистанции между проекциями точек в базовом пространстве.
Если точки принадлежат пространству базиса, то из (2.7) следует, что дистанция между точками пространства определяется их взаимной нормой:

$n_{P'Q'} = -d_{P'Q'}/2 = d2_{P'Q'} $

Отсюда также следует, что дистанционный метрический тензор (ДМТ) представляет собой значения взаимных норм (скалярных произведений координат) точек базового набора. Что вполне себе совпадает по духу с традиционным определением метрического тензора как набора скалярных произведений базовых векторов.

Нормаль к пространству


В набор ДМТ помимо ди-координат вершин входит особый вектор c ди-координатами [0, 1, 1,...]. О том, что это вектор разности координат точек, говорит значение нуля в скалярной компоненте. Следовательно, можно прибавлять координаты данного вектора к координатам точек. Геометрически такая операция эквивалентна сдвигу точки в направлении, перпендикулярном базовому пространству. Отсюда ясно, что вектор [0, 1, 1,...] — это единичный вектор нормали к базовому пространству.

Зная координаты точки P и ее норму $|P|$, всегда можно определить координаты проекции точки P'. Для этого единичный вектор нормали умножаем на норму точки $n_P$ и прибавляем полученный вектор к ди-координатам исходной точки.

Обратимся к взаимной системе координат.

Би-координаты


Как указано в первой статье, взаимным по отношению к лапласовскому тензору является дистанционный метрический тензор — ДМТ. Координаты точки в системе с данным тензором будем называть би-координатами и обозначать $bi$. Термин связан с тем, что векторная компонента в би-координатах представляет собой барицентрические координаты точек.

Переход от ди-координат к би-координатам (и обратно) выполняется умножением на метрический тензор, которому принадлежит текущая координата:

$bi_P=Lm\space di_P, \space di_P=Dm\space bi_P \quad(2.8)$


Рассчитаем би-координаты точки P относительно вершин нашего треугольника. Выполняя умножение ЛМТ на ди-координаты точки, получаем:

$bi_P=[-3/2; 11/12, 1/3, -1/4]$

Би-координаты также имеют структуру — состоят из скалярной и векторной компонент. Векторная составляющая би-координат совпадает, как уже отмечено выше, с барицентрическими координатами. Особенность данных координат в том, что сумма их компонент равна 1 (в нашем примере 11/12 + 1/3 — 1/4 = 1). Каждая барицентрическая компонента — это вклад (вес) вершины базиса в координату точки. Чем больше значение компоненты — тем ближе находится точка к базовой вершине.

Барицентрические координаты хорошо изучены и широко используются, поэтому на них подробно не останавливаемся, а перейдем к скалярной компоненте. Что она отражает?

Степень точки


Значение скалярной компоненты би-координат определяет положение точки относительно описанной сферы базового симплекса. В геометрии есть понятие степени точки $m_P$ — это положение точки относительно сферы. Задается как разность между дистанцией от точки до центра сферы $d_{PO}=r_P$ и квадратом радиуса сферы $rs$:

$m_P=r_P - rs \quad(2.9)$




На рисунке квадрат длины катета треугольника POT |PT| (от точки до касания сферы) и есть значение степени точки P. Точки M и N на рисунке демонстрируют полезное свойство степени, а именно, что ее значение равно произведению длин отрезков |PM| и |MN|.

Скалярная компонента би-координат равна отрицательной полустепени точки:

$m2_P=-m_P /2 \quad(2.10) $.

Тогда структуру би-координат точки можно записать как: $bi_P=[m2_P; b_P] $.
Здесь $b_P$ — векторная компонента, барицентрические координаты точки.

Если скалярная компонента би-координат точки больше нуля — точка лежит внутри сферы, если меньше — снаружи. Барицентрический вектор $b_P$ характеризует положение проекции точки на пространство базового симплекса, а скалярная компонента — задает пространственное положение относительно сферы. Опять же совокупность скалярной и векторной части позволяет определять би-координаты точек вне базового пространства.

Скалярная компонента би-координат вершин базиса равна нулю (поскольку базисные точки принадлежат сфере). А сами би-координаты вершин представляют собой единичные координаты (с 1-ей в своей базисной компоненте и 0-м в остальных — обычно обозначаются через $e$). Например, би-координаты точки A треугольника будут равны [0; 1, 0, 0]. Набор всех би-координат базиса образует единичную матрицу $I$.

Если точка не принадлежит пространству базиса, то ее дистанция до центра сферы $r_P$ равна сумме дистанций от точки до до ее проекции $d_{PP'}$ и дистанции от проекции до центра $r_P'$. Первая равна норме точки с обратным знаком. Тогда можно выразить степень точки через степень ее проекции $m_{P'}$ и норму $n_P$:

$m_P= m_{P'} - n_P \quad(2.9.1)$


В свою очередь степень проекции точки можно определить через би-линейную форму барицентрических координат точки и полудистанционной матрицы базиса:

$m_{P'}=r_{P'}-rs=b_P D2 \space b_P \quad(2.9.2)$


Напомним, что полудистанционная матрица $D2$ — это подматрица (главный минор) ДМТ.

В пространстве графа сталкиваемся с перегрузкой русскоязычного термина <степень>
Степенью вершины в теории графов называют количество связей (ребер) вершины. Тоже важное понятие, но не имеет отношения к описанной здесь «степени точки». Последняя характеризует положение точки (узла) графа относительно выбранного базиса (реперных вершин графа).

В английском языке проблемы неоднозначности нет — термины «степень точки» и «степень вершины» не сливаются — «Power» и «Degree» соответственно.

Би-координаты точек и векторов


Как и в случае ди-координат следует отличать би-координаты точки от би-координат вектора разности точек (аффинная геометрия). Однако критерий отличия двух типов координат в данной системе иной. В би-координатах точки сумма барицентрических компонент равна 1, а в би-координатах вектора сумма компонент будет равна 0 (поскольку разность) — балансовые векторы. (Балансовые векторы используются в проводках бухгалтерского учета). Остальное аналогично. Би-векторы можно складывать и вычитать — при этом результат остается в пространстве векторов. К би-координатам точки можно прибавлять би-координаты вектора и получать новую точку.

Скалярная компонента би-координат вектора равна разности дистанций от точек до центра сферы: $r_P-r_Q$. То есть не зависит от величины радиуса сферы, в отличие от скалярной компоненты би-координат точки.

Вспоминая, что сумма компонент лапласиана равна нулю, можно заключить, что строки (колонки) лапласиана — это векторы разности барицентрических координат. Исключение — вектор окаймления. Он представляет собой барицентрические координаты центра сферы. Интересна взаимность метрических тензоров. В ДМТ векторное окаймление — это вектор разности, а основная матрица — координаты точек. В ЛМТ — наоборот.

Дистанция и нормы в би-координатах


Скалярная компонента добавляет метрику к барицентрическим координатам. При наличии известного метрического тензора (ДМТ) можно вычислять дистанции между точками, принадлежащими базовому пространству. Все стандартно — через билинейную форму умножения разности координат на метрический тензор. Формулы аналогичны выражениям в ди-координатах с заменой метрического тензора $Lm$ на $Dm$ и ди-координат $di$ на би-координаты $bi$. Обозначив вектор разности би-координат точек P и Q как $bi_{PQ}=bi_P - bi_Q$, получаем:

Дистанция между проекциями: $d_{P'Q'}=bi_{PQ} Dm \space bi_{PQ} \quad(2.10.1)$

Норма точки: $n_P=bi_P Dm \space bi_P \quad(2.10.2)$

Взаимная норма: $n_{PQ}=bi_P Dm \space bi_Q \quad(2.10.3)$

Знание би-координат точек и их положения относительно базового пространства также позволяет вычислять дистанцию между точками вне базового пространства по формуле (2.6). И это круто. Обычно считается, что барицентрические координаты задают лишь относительное положение точек. Оказывается, что если добавить к ним скалярную компоненту в виде степени точки, то можно определять пространственное положение не только самой точки, но и дистанции между точками вне базового пространства.

Объединяем ди- и би-координаты


Связь параметров базиса с координатами точек


Если в формуле связи ди- и би-координат (2.8) раскрыть структуру умножаемых матриц и векторов, то можно получить полезные тождества для скалярной и векторной компонент координат. Для би-координат имеем (штрихами помечены векторы):

$ Lm\space di_P=bi_P \space \Rightarrow \space \begin{pmatrix} rs & s'\\ 's & L\end{pmatrix} \begin{pmatrix} 1 \\ 'd2_P\end{pmatrix} = \begin{pmatrix} rs + s' \space 'd2_P\\ 's + L \space 'd2_P\end{pmatrix} = \begin{pmatrix} m2_P\\ 'b_P\end{pmatrix} \quad(2.11) $


Отсюда вытекает два соотношения:

$L \space 'd2_P = 'b_P - 's \quad(2.11.1)$

$s' \space 'd2_P = m2_P - rs = (rs + r_P)/(-2) \quad(2.11.2)$

Выражение (2.11.1) демонстрирует, что результат действия лапласиана на вектор можно интерпретировать как вектор разности точки и центра сферы.
Тождество (2.11.2) (при выводе использовано также (2.9) и (2.10)) показывает, как зная векторную составляющую ди-координат точки, получить ее степень и дистанцию до центра сферы.

Перейдем к структуре ди-координат:

$ Dm\space bi_P=di_P \space \Rightarrow \space \begin{pmatrix} 0 & 1' \\ '1 & D2 \end{pmatrix} \begin{pmatrix} m2_P \\ 'b_P \end{pmatrix} = \begin{pmatrix} 1' \space 'b_P\\ m2_P \space '1 + D2 \space 'b_P \end{pmatrix} = \begin{pmatrix} 1 \\ 'd2_P \end{pmatrix} \quad(2.12) $


Первая строка показывает, что сумма барицентрических компонент равна 1 ($1' \space 'b=1$), это и так знали (но тут видно почему — потому что используем единичный вектор в качестве окаймления дистанционной матрицы). Из второй вытекает тождество связи барицентрических координат и дистанционного вектора точки. Общую двойку можно опустить и тогда приходим к следующему:

$D \space 'b_P = \space 'd_P - m_P \space '1 \quad(2.13)$

Формула (2.13) показывает роль степени точки в координатах. Она задает величину смещения ди-координат по направлению к нормали базового пространства (нормаль в ди-координатах — это вектор единиц $'1 \equiv \vec{1}$).

Нормы — это скалярное произведение координат разных типов


Используя скалярное произведение координат обоих типов (би- и ди-), можно избавиться в формулах от метрических тензоров.

Дистанция между проекциями: $d_{P'Q'}=bi_{PQ} '\space ' di_{PQ} = di_{PQ} '\space ' bi_{PQ} \quad(2.14.1)$

Норма точки: $n_P=bi_P'\space 'di_P\quad(2.14.2)$

Взаимная норма: $n_{PQ}=di_P'\space 'bi_Q=di_Q'\space 'bi_P \quad(2.14.3)$

Обращаем внимание на коммутативность произведения ди- и би-координат в (2.14.3). То есть координаты точек перемножаются как скаляры.

Можно ли избавиться от скалярной составляющей?


Выделим в координатах скалярную и векторную части и раскроем произведения по аналогии с (2.11), (2.12). Тогда выражение для нормы точки (2.14.2) принимает вид:

$n_P= \begin{bmatrix} m2_P; & b_P'\end{bmatrix} \cdot \begin{bmatrix} 1 \\ 'd2_P \end{bmatrix} = m2_P + \vec{b_P} \cdot \vec{d2_P} $

Данное выражение можно рассматривать как определение скалярного произведения векторных компонент точки:

$\vec{b_P} \cdot \vec{d2_P} = n_P - m2_P = d2_{PP'} - m2_{P'} \quad(2.15) $

Важно, что дистанция между проекциями точек (2.14.1) может быть выражена через произведение векторных компонент, скалярные составляющие сокращаются:

$ d_{P'Q'} = \vec{b_{PQ}} \cdot \vec{d2_{PQ}} = (\vec{b_Q}-\vec{b_P}) \cdot (\vec{d2_Q}-\vec{d2_P}) \quad(2.16)$

Здесь произведение векторных компонент некоммутативно — $\vec{b_P} \cdot \vec{d2_Q} \ne \vec{b_Q} \cdot \vec{d2_P}$

Смысл формулы (2.16) в том, что в рамках базового пространства можно организовать метрику без скалярных составляющих координат. Особенности такой метрики тоже интересны, но здесь не будем на них останавливаться.

Тензорная форма


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

Используем следующие обозначения (P и Q — точки пространства):
$dpq$ — дистанция между точками пространства (скаляр),
$p$ — норма точки (скаляр),
$pq$ — взаимная норма точек (скаляр),

$p_i$ — ди-координата точки (вектор),
$pq_i=p_i-q_i$ — вектор разности ди-координат точек (вектор),

$p^i$ — би-координата точки (вектор),
$pq^i=p^i-q^i$ — вектор разности би-координат точек (вектор),

$g^{ij}$ — лапласовский метрический тензор (ЛМТ) $Lm$ (матрица),
$g_{ij}$ — дистанционный метрический тензор (ДМТ) $Dm$ (матрица),

В тензорной терминологии изменение типа координат (от ди- к би- и обратно) эквивалентно переходу от контравариантных компонент вектора к ковариантным. Выполняется опусканием/поднятием индекса:

$ p^i=p_j g^{ij}, \space p_i=p^j g_{ij} \quad(2.17.1) $

Норма точки:

$ p=p_i p_j g^{ij} = p^i p^j g_{ij} = p^i p_i \quad(2.17.2) $

Взаимная норма точек:

$ pq=p_i q_j g^{ij} = p^i q^j g_{ij}=p^i q_i=p_i q^i \quad(2.17.3) $

Дистанция между точками:

$ dpq=pq_i pq_j g^{ij} = pq^i pq^j g_{ij} = pq^i pq_i \quad(2.17.4) $

И это еще не все. Здесь пока не представлено смешанное положение индексов у тензора — верхние и нижние одновременно.
___

Закругляемся. Надеюсь, что примерное представление о том, что такое системы координат на точечном базисе у читателей сложилось. Данные системы вносят метрику в аффинную геометрию без введения базисных векторов, расширяют понятия однородных и барицентрических координат. Несмотря на то, что интенсивно опираемся на геометрические термины и аналогии, достоинство ди- и би- координат в том, что они могут быть использованы и в других типах пространств (на графах).

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

Комментарии (3)


  1. Harr
    06.10.2017 14:57

    Дистанция между точками

    Напомнило случай, когда ещё учился в ВУЗе. Возникла необходимость алгоритмически определить факт прохождения объекта через границу, вершинами которой были точки, случайно разбросанные по «карте».

    Долго ломали с другом головы. Решение придумали неожиданно простое. Да-да! Именно «неожиданно», т.к. нам казалось, что всё окажется куда сложнее. Необходимо было рассчитывать на каждом шаге расстояние от объекта до вершин, и запоминать его. Как только расстояние между одной из пар окажется минимальным, а затем начнёт расти — значит, объект прошёл между указанными точками.

    Тогда я усвоил, что знать математическую программу — это действительно полезно. С тех пор привожу этот пример людям, которые пытаются обсудить непригодность школьной программы в жизни.


    1. dmagin Автор
      06.10.2017 16:05

      Спасибо за историю ). На самом деле часто за сухими формулами скрываются чьи-то маленькие открытия, «вау-эффекты». Конечно, математика одна из наиболее практичных наук. Большинство просто пользуются ее плодами, не замечая. Но есть и те, кому приходится вникать — как там все устроено ).


    1. qw1
      06.10.2017 21:44

      Объект только по прямой двигается? А если он подъехал к границе, не пересекая её, потом развернулся на 180, и поехал обратно, критерии выполнятся, но без пересечения?