Аффинное пространство — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Единственность разложения в базис)
м (rollbackEdits.php mass rollback)
 
(не показано 12 промежуточных версий 5 участников)
Строка 3: Строка 3:
 
Рассмотрим векторное пространство <math>\mathbb{R}^3</math>, построим в нём плоскости <math>P_1=\{z=0\}</math> и <math>P_2=\{z=1\}</math>.
 
Рассмотрим векторное пространство <math>\mathbb{R}^3</math>, построим в нём плоскости <math>P_1=\{z=0\}</math> и <math>P_2=\{z=1\}</math>.
 
Плоскость <math>P_1</math> является векторным подпространством исходного векторного пространства,
 
Плоскость <math>P_1</math> является векторным подпространством исходного векторного пространства,
а плоскость <math>P_2</math> не является.
+
а плоскость <math>P_2</math> не является (отсутствует нейтральный элемент относительно сложения).
 
Это довольно странно, так как с точки зрения геометрии ни одна из плоскостей ничем не лучше другой,
 
Это довольно странно, так как с точки зрения геометрии ни одна из плоскостей ничем не лучше другой,
 
плоскость <math>P_2</math> интуитивно выражается той же линейной структурой, что и <math>P_1</math>.
 
плоскость <math>P_2</math> интуитивно выражается той же линейной структурой, что и <math>P_1</math>.
Строка 24: Строка 24:
 
Точно так же они могут вычислять линейные комбинации этих векторов, и, как правило, получать разные результаты.
 
Точно так же они могут вычислять линейные комбинации этих векторов, и, как правило, получать разные результаты.
 
Однако, если сумма коэффициентов линейной комбинации будет равна <math>1</math>, то результаты будут получаться одинаковые.
 
Однако, если сумма коэффициентов линейной комбинации будет равна <math>1</math>, то результаты будут получаться одинаковые.
Алиса будет получать получать
+
Алиса будет получать
 
<math>\lambda a + (1 - \lambda) b</math>,
 
<math>\lambda a + (1 - \lambda) b</math>,
 
и Боб будет точно так же получать
 
и Боб будет точно так же получать
Строка 187: Строка 187:
 
{{Лемма
 
{{Лемма
 
|statement=Пусть <math>\langle A, V, (+)\rangle</math> — это аффинное пространство. Пусть <math>\{a_i\}_{i=0}^n</math> — множество точек из <math>A</math>. Пусть <math>x \in A</math> представима в виде аффинной комбинации <math>\{a_i\}_{i=0}^n</math>. Тогда набор коэффициентов аффинной комбинации <math>\{\lambda_i\}_{i=0}^n</math>, что <math>x = \sum_{i=0}^n \lambda a_i</math>, единственен тогда и только тогда, когда набор векторов <math>\{\overrightarrow{a_0 a_i}\}_{i=1}^n</math> линейно независим.
 
|statement=Пусть <math>\langle A, V, (+)\rangle</math> — это аффинное пространство. Пусть <math>\{a_i\}_{i=0}^n</math> — множество точек из <math>A</math>. Пусть <math>x \in A</math> представима в виде аффинной комбинации <math>\{a_i\}_{i=0}^n</math>. Тогда набор коэффициентов аффинной комбинации <math>\{\lambda_i\}_{i=0}^n</math>, что <math>x = \sum_{i=0}^n \lambda a_i</math>, единственен тогда и только тогда, когда набор векторов <math>\{\overrightarrow{a_0 a_i}\}_{i=1}^n</math> линейно независим.
|proof=Пусть есть две аффинные комбинации с коэффициентами <math>\{\alpha_i\}_{i=0}^n</math> и <math>\{\beta\}_{i=0}^n</math>, дающие x. Посчитаем их, взяв за точку начала отсчёта точку <math>a_0</math>:
+
|proof=Докажем единственность из линейной независимости. Пусть есть две аффинные комбинации с коэффициентами <math>\{\alpha_i\}_{i=0}^n</math> и <math>\{\beta\}_{i=0}^n</math>, дающие x. Посчитаем их, взяв за точку начала отсчёта точку <math>a_0</math>:
  
 
<math>\displaystyle
 
<math>\displaystyle
Строка 200: Строка 200:
 
= \sum_{i=1}^n \beta_i \cdot \overrightarrow{a_0 a_i}</math>.
 
= \sum_{i=1}^n \beta_i \cdot \overrightarrow{a_0 a_i}</math>.
  
По [[#vectorUniqueness|лемме для векторного пространства]] такое разложение единственно, <math>\forall i \in \left[1..n\right] \alpha_i = \beta_i \implies \alpha_0 = \beta_0</math>.
+
По [[#vectorUniqueness|лемме для векторного пространства]] такое разложение единственно, <math>\forall i \in \left[1..n\right] : \alpha_i = \beta_i \implies \alpha_0 = \beta_0</math>.
 +
 
 +
В обратную сторону доказывается идентично.
 
}}
 
}}
 
Имеет смысл определить понятие базиса в аффинном пространстве.
 
Имеет смысл определить понятие базиса в аффинном пространстве.
 
{{Определение
 
{{Определение
|definition=Пусть <math>\langle A, V, (+)\rangle</math> — это аффинное пространство. Множество точек <math>\{a_i\}_{i \in I}</math> будет называться '''аффинным базисом''' этого пространства, если множество векторов <math>\{\overrightarrow{a_0 a_i}\}_{i=1}^n</math> будет базисом <math>V</math>. '''Координатами''' точки будут коэффициенты её аффинного разложения в этом базисе.
+
|definition=Пусть <math>\langle A, V, (+)\rangle</math> — это аффинное пространство. Множество точек <math>\{a_i\}_{i \in I}</math> будет называться '''аффинным базисом''' этого пространства, если множество векторов <math>\{\overrightarrow{a_0 a_i}\}_{i=1}^n</math> будет базисом <math>V</math>. '''Барицентрическими координатами''' точки будут коэффициенты её аффинного разложения в этом базисе.
 
}}
 
}}
 
Поскольку <math>\forall x \in A : x = a_0 + \overrightarrow{a_0 x}</math>, то если множество <math>\{\overrightarrow{a_0 a_i}\}_{i=1}^n</math> ЛНЗ, то существует единственное разложение
 
Поскольку <math>\forall x \in A : x = a_0 + \overrightarrow{a_0 x}</math>, то если множество <math>\{\overrightarrow{a_0 a_i}\}_{i=1}^n</math> ЛНЗ, то существует единственное разложение
Строка 215: Строка 217:
  
 
<math> \displaystyle
 
<math> \displaystyle
x = \left(1 - \sum_{i=0}^n \lambda i \right) a_0 + \sum_{i=1}^n \lambda_i a_i
+
x = \left(1 - \sum_{i=0}^n \lambda_i \right) a_0 + \sum_{i=1}^n \lambda_i a_i
 
</math>,
 
</math>,
  
значит, разложение в аффинный базис всегда существует, и по лемме, оно единственно.
+
значит, разложение в аффинный базис всегда существует, и, по лемме, оно единственно.
  
 
Также можно выделить <math>a_0</math> как начало координат, и представлять координаты так же, как это делается в векторном пространстве.
 
Также можно выделить <math>a_0</math> как начало координат, и представлять координаты так же, как это делается в векторном пространстве.
Строка 226: Строка 228:
 
==Вычисление поворота==
 
==Вычисление поворота==
 
===Матрица поворота===
 
===Матрица поворота===
У нас есть гиперплоскость <tex>g</tex> и точки задающие её. В <tex>d</tex> мерном пространстве у нас будет <tex>d</tex> линейно независимых (ЛНЗ) точек <tex>a_1, a_2, \dots, a_d</tex>. Линейную независимость точек воспринимаем творчески.
+
У нас есть гиперплоскость <tex>g</tex> и точки задающие её. В <tex>d</tex> мерном пространстве у нас будет <tex>d</tex> аффинно независимых точек <tex>a_1, a_2, \dots, a_d</tex>.
{{Определение
 
|definition=Будем называть набор из <tex>d</tex> точек '''линейно независимым''', если мы можем выбрать одну из них, провести вектора от нее до всех остальных и получить <tex>d-1</tex> ЛНЗ вектор.
 
}}
 
  
Возьмем в нашем пространстве еще одну выделенную точку <tex>p</tex>. Получившийся набор <tex>a_1, a_2, \dots, a_d, p</tex> тоже будет ЛНЗ.
+
Возьмем в нашем пространстве еще одну выделенную точку <tex>p</tex>. Если она не лежит в гиперплоскости, то получившийся набор <tex>a_1, a_2, \dots, a_d, p</tex> тоже будет аффинно независимым.
  
 
[[Файл:drawing-3.png|400px|thumb|right|Пример для <tex>\mathbb{R}^3</tex>]]
 
[[Файл:drawing-3.png|400px|thumb|right|Пример для <tex>\mathbb{R}^3</tex>]]
Пусть у нас есть какая-то выделенная зарание система координат <tex>C</tex>. Эта система приходит обычно вместе с какой-то задачей, и обычно она декартова. И у нас тоже будет сейчас декартова.
+
Пусть у нас есть какая-то выделенная заранее система координат <tex>C</tex>. Эта система приходит обычно вместе с какой-то задачей, и обычно она декартова. И у нас тоже будет сейчас декартова.
  
Мы знаем, что можно составить матрицу перехода, если умеем выразить координаты векторов в исходной базовой системе координат <tex>C</tex>.
+
Мы знаем, что можно составить матрицу перехода из начальной системы координат координат <tex>C</tex> в систему координат на векторах <math>\{\overrightarrow{p a_i}\}_{i=1}^d</math>, если можно выразить эти вектора в <math>C</math>.
А в нашем случае мы это сделать, конечно, можем: поскольку вектор существует между любыми парами точек, просто сопредставим нашим точкам вектора, соединяющие начало координат <tex>O</tex> и очередную точку.
+
А в нашем случае мы это сделать, конечно, можем: поскольку вектор существует между любыми парами точек, просто сопоставим нашим точкам вектора, соединяющие начало координат <tex>O</tex> и очередную точку.
 
Значит, если нам известны координаты точек, то нам известны координаты векторов в ситеме <tex>C</tex>.
 
Значит, если нам известны координаты точек, то нам известны координаты векторов в ситеме <tex>C</tex>.
 
Запишем матрицу перехода и немножко преобразуем её определитель:
 
Запишем матрицу перехода и немножко преобразуем её определитель:
Строка 290: Строка 289:
 
Из [[#pOnPlane|леммы 1]] практически сразу получается уравнение гиперплоскости.
 
Из [[#pOnPlane|леммы 1]] практически сразу получается уравнение гиперплоскости.
  
Пусть у нас есть <tex>n</tex>  ЛНЗ точек <tex>a_1, a_2, \dots, a_n</tex> в <tex>n</tex>-мерном пространстве. Тогда гиперплоскость, проходящая через эти точки может быть задана уравнением :
+
Пусть у нас есть <tex>n</tex>  ЛНЗ точек <tex>a_1, a_2, \dots, a_n</tex> в <tex>n</tex>-мерном пространстве. Тогда гиперплоскость, проходящая через эти точки, может быть задана уравнением
 +
 
 +
<tex>\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} = 0</tex>.
 +
 
 +
При этом полупространство, лежащее ниже этой плоскости, может быть получено как
 +
 
 +
<tex>\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} < 0</tex>,
  
<tex>\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} = 0</tex>
+
а  полупространство, лежащее выше этой плоскости, имеет вид
  
При этом полупространство, лежащее ниже этой плоскости может быть получено как:
+
<tex>\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} > 0</tex>.
  
<tex>\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} < 0</tex>
 
  
А  полупространство, лежащее выше этой плоскости имеет вид:
+
== Источники информации ==
 +
* Jean Gallier «Curves and Surfaces In Geometric Modeling: Theory And Algorithms» {{---}} Part I Basics of Affine Geometry
  
<tex>\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} > 0</tex>
+
[[Категория: Вычислительная геометрия]]
 +
[[Категория: Основание вычислительной геометрии]]

Текущая версия на 19:19, 4 сентября 2022

Введение

Мотивация

Рассмотрим векторное пространство [math]\mathbb{R}^3[/math], построим в нём плоскости [math]P_1=\{z=0\}[/math] и [math]P_2=\{z=1\}[/math]. Плоскость [math]P_1[/math] является векторным подпространством исходного векторного пространства, а плоскость [math]P_2[/math] не является (отсутствует нейтральный элемент относительно сложения). Это довольно странно, так как с точки зрения геометрии ни одна из плоскостей ничем не лучше другой, плоскость [math]P_2[/math] интуитивно выражается той же линейной структурой, что и [math]P_1[/math].

В векторном пространстве недостаток плоскости [math]P_2[/math] состоит в том, что у неё нет выделенного начала, а [math]P_1[/math] повезло пройти через точку [math](0; 0; 0)[/math]. То, что проходящие через начало координат прямые и плоскости чем-то особенны, довольно неудобно. Аффинные пространства исправляют это досадное недоразумение.

Неформальное описание

Аффинное пространство можно воспринимать как векторное пространство, в котором потеряли начальную точку.

Представим, что Алиса знает настоящую начальную точку, а Боб думает, что начальная точка это [math]p[/math]. Есть какие-то два вектора [math]a[/math] и [math]b[/math], и Алиса с Бобом их складывают. Алиса, опираяющаяся на настоящую начальную точку, получит [math]a + b[/math], а Боб, откладывая те же вектора от точки [math]p[/math], получит [math]p + (a - p) + (b - p)[/math], понятно, что результаты будут разные.

Точно так же они могут вычислять линейные комбинации этих векторов, и, как правило, получать разные результаты. Однако, если сумма коэффициентов линейной комбинации будет равна [math]1[/math], то результаты будут получаться одинаковые. Алиса будет получать [math]\lambda a + (1 - \lambda) b[/math], и Боб будет точно так же получать [math]p + \lambda(a - p) + (1 - \lambda)(b - p) = \lambda a + (1 - \lambda) b[/math].

На самом деле, точки, получаемые таким образом, будут лежать на прямой, проходящей через точки [math]a[/math] и [math]b[/math].

У Боба с Алисой есть знание об "аффинной структуре" пространства, то есть значения аффинных комбинаций, определённых как линейные комбинации в которых сумма коэффициентов равна [math]1[/math]. Пространство с аффинной структурой и есть аффинное пространство.

Векторные пространства и определители

Вспомним несколько фактов из линейной алгебры.

Определение:
Набор векторов [math]\{\vec{e}_i\}_{i=1}^n[/math] называется линейно независимым (ЛНЗ), если его линейная комбинация [math]\sum_{i=1}^n \alpha_i \vec{e}_i[/math] равна нулю только в том случае, если она тривиальная, то есть [math]\forall i : \alpha_i = 0[/math].
Определение:
Векторное пространство называется [math]d[/math]-мерным, если в нём существует набор из [math]d[/math] линейно независимых векторов, и не существует набора из [math]d + 1[/math] линейно независимого вектора.

Единственность разложения в базис

Утверждение:
В [math]d[/math]-мерном пространстве любой вектор [math]\vec{A}[/math] единственным образом раскладывается в базисе из [math]d[/math] линейно независимых векторов [math]\{\vec{e}_i\}_{i=1}^d[/math] как [math]\sum_{i=1}^d\alpha_i\vec{e}_i[/math].
[math]\triangleright[/math]

Если мы добавим в базис вектор [math]\vec{A}[/math], то он обязательно станет линейно зависимым, и, значит, найдутся такие [math]\beta[/math] и [math]\{\alpha_i\}[/math], что

[math]\displaystyle \beta \vec{A} + \sum_{i=1}^d\alpha_i\vec{e}_i=0 \implies \vec{A} = \sum\limits_{i=1}^d-\frac{\alpha_i}{\beta}\vec{e}_i[/math],

и, значит, разложение существует.

Теперь пусть есть два разложения [math]\sum_{i=1}^d\alpha_i\vec{e}_i=\vec{A}[/math] и [math]\sum_{i=1}^d\beta_i\vec{e}_i=\vec{A}[/math]. Тогда

[math]\displaystyle \vec{A} - \vec{A} = \vec{0} = \sum_{i=1}^d(\alpha_i - \beta_i)\vec{e}_i[/math],

однако такое может быть только в том случае, если линейная комбинация тривиальная, то есть

[math]\alpha_i - \beta_i = 0 \implies \alpha_i = \beta_i \implies[/math]   разложение единственно.
[math]\triangleleft[/math]

Матрица перехода

Мы можем переходить из одного базиса в другой. Пусть у нас есть базисы [math]\{\vec{e}_i\}_{i=1}^d[/math] и [math]\{\vec{f}_i\}_{i=1}^d[/math].

[math]\displaystyle \vec{A} = \sum_{i=1}^d\alpha_i\vec{e}_i = \sum_{i=1}^d\beta_i\vec{f}_i \\ \vec{e}_i = \sum_{j=1}^d c_{ij}\vec{f}_j \\ \vec{A} = \sum_{i=1}^d\alpha_i\vec{e}_i = \sum_{i=1}^d \alpha_i \sum_{j=1}^d c_{ij} \vec{f}_j = \sum_{j=1}^d \vec{f}_j \sum_{i=1}^d \alpha_i c_{ij} \\ \beta_j = \sum_{i=1}^d\alpha_i c_{ij} \implies \begin{pmatrix} \beta_1 \\ \beta_2 \\ \vdots \\ \beta_d \end{pmatrix} = \begin{pmatrix} c_{11} & c_{21} & \cdots & c_{d1} \\ c_{12} & c_{22} & \cdots & c_{d2} \\ \vdots & \vdots & \ddots & \vdots \\ c_{1d} & c_{2d} & \cdots & c_{dd} \end{pmatrix} \cdot \begin{pmatrix} \alpha_1 \\ \alpha_2 \\ \vdots \\ \alpha_d \end{pmatrix} [/math]

Определитель

Следующий факт позволяет красиво записывать один подозрительно часто появляющийся определитель.

[math] \displaystyle \begin{vmatrix} a_1 - p \\ a_2 - p \\ \vdots \\ a_n - p \end{vmatrix} = \begin{vmatrix} a_1 - p & 0 \\ a_2 - p & 0 \\ \vdots & \vdots \\ a_n - p & 0 \\ p & 1 \end{vmatrix} = \begin{vmatrix} a_1 & 1 \\ a_2 & 1 \\ \vdots & \vdots \\ a_n & 1 \\ p & 1 \end{vmatrix} [/math]

Аффинные пространства

Определение:
Аффинное пространство — это либо вырожденное пустое множество, либо кортеж [math]\langle A, V, (+)\rangle[/math], состоящий из непустого множества точек [math]A[/math], векторного пространства [math]V[/math] и действия [math](+) : A \times V \rightarrow A[/math], удовлетворяющего следующим свойствам:
  1. [math]\forall a \in A : a + 0 = a[/math];
  2. [math]\forall v, w \in V, a \in A : (a + v) + w = a + (v + w)[/math];
  3. Для всех [math]a[/math] из [math]A[/math] отображение [math](a+)[/math] биективно.

Из этих свойств также следует, что для всех [math]v[/math] из [math]V[/math] [math](+v)[/math] тоже биективно.

Последнее свойство позволяет определить вычитание двух элементов из [math]A[/math]. Пусть [math]a, b \in A[/math], тогда [math]b - a[/math], или [math]\overrightarrow{ab}[/math], это такой вектор из [math]V[/math], что [math]a + (b - a) = b[/math]. Таким образом определённое вычитание обладает следующими свойствами:

  1. [math]\forall a \in A, v \in V \ \exists ! b \in A : (b - a) = v[/math];
  2. [math]\forall a, b, c \in A : (b - a) + (c - b) = (c - a)[/math].

Далее для удобства будем пользоваться вторым вариантом записи.

Определение:
Размерность аффинного пространства [math]\langle A, V, (+)\rangle[/math] равна размерности [math]V[/math].

Аффинные комбинации

В векторном пространстве мы часто пользовались линейными комбинациями. Давайте введём похожее определение для аффинного пространства. Пусть у нас есть множество точек [math]\{a_i\}_{i=1}^n[/math] из [math]A[/math] и такое множество скаляров [math]\{\lambda_i\}_{i=1}^n[/math], что [math]\sum_{i=1}^n \lambda_i = 1[/math]. Теперь давайте перебирать точки начала отсчёта [math]x \in A[/math], и считать суммы [math]x + \sum_{i=1}^n \lambda_i \cdot \overrightarrow{xa_i}[/math]. Несложно показать, что

[math]\displaystyle \forall x, y \in A : x + \sum_{i=1}^n \lambda_i \cdot \overrightarrow{xa_i} = y + \sum_{i=1}^n \lambda_i \cdot \overrightarrow{ya_i}[/math].

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

Определение:
Для любого набора точек [math]\{a_i\}_{i=1}^n[/math] из [math]A[/math] и такого набора скаляров [math]\{\lambda_i\}_{i=1}^n[/math], что [math]\sum_{i=1}^n \lambda_i = 1[/math], точка

[math]\displaystyle p = x + \sum_{i=1}^n \lambda_i \cdot \overrightarrow{xa_i}[/math],

не зависящая от выбора [math]x \in A[/math], называется аффинной комбинацией (а также барицентрической комбинацией, или барицентром) точек [math]\{a_i\}_{i=1}^n[/math] с весами [math]\{\lambda_i\}_{i=1}^n[/math], и обозначается как

[math]\displaystyle p = \sum_{i=1}^n \lambda_i a_i[/math].

Аффинные подпространства

С помощью этого определения довольно естественно ввести следующее определение аффинного подпространства.

Определение:
Если [math]\langle A, V, (+)\rangle[/math] — это аффинное пространство, то [math]B \subset A[/math] является аффинным подпространством пространства [math]\langle A, V, (+)\rangle[/math], если любая аффинная комбинация любого множества точек из [math]B[/math] принадлежит [math]B[/math].

Например, [math]\{z=1\}[/math] будет аффинным подпространством аффинного пространства над [math]\mathbb{R}^3[/math], и прямая [math]ax+by=c[/math] будет аффинным подпространством аффинного пространства над [math]\mathbb{R}^2[/math].

Следующая лемма проводит связь между аффинными подпространствами и векторными подпространствами.

Лемма:
Пусть [math]\langle A, V, (+)\rangle[/math] — это аффинное пространство.
  1. Непустое [math]B \subset A[/math] является аффинным подпространством тогда и только тогда, когда для любой точки [math]a \in B[/math] множество [math]W_a = \{\overrightarrow{ab} : b \in B\}[/math] является подпространством [math]V[/math]. Как следствие, [math]B=\{a + w : w \in W_a \}[/math]. Более того, [math]W = \{\overrightarrow{ab} : a, b \in B\}[/math] является подпространством [math]V[/math], и для любой точки [math]a \in B[/math] справедливо [math]W_a = W[/math].
  2. Для любого [math]W[/math], являющегося подпространством [math]V[/math], множество [math]\{a + v : v \in W\}[/math] является аффинным подпространством для любого [math]a \in A[/math].

Аффинная независимость и базисы

Аналогично с линейной независимостью в векторных пространствах можно ввести аффинную независимость.

Лемма:
Пусть [math]\langle A, V, (+)\rangle[/math] — это аффинное пространство. Пусть [math]\{a_i\}_{i \in I}[/math] — множество точек из [math]A[/math]. Если для какого-то [math]i \in I[/math] множество векторов [math]\{\overrightarrow{a_i a_j}\}_{j \in I \setminus \{i\}}[/math] линейно независимо, то для любого [math]i \in I[/math] множество [math]\{\overrightarrow{a_i a_j}\}_{j \in I \setminus \{i\}}[/math] будет линейно независимо.
Доказательство:
[math]\triangleright[/math]

Пусть для какого-то [math]i \in I[/math] множество векторов [math]\{\overrightarrow{a_i a_j}\}_{j \in I \setminus \{i\}}[/math] линейно независимо, [math]k \in I[/math] и пусть есть такой набор [math]\{\lambda_j\}_{j \in I \setminus \{k\}}[/math], что

[math]\displaystyle \sum_{j \in I \setminus \{k\}} \lambda_j \cdot \overrightarrow{a_k a_j} = 0[/math].

Поскольку [math]\overrightarrow{a_k a_j} = \overrightarrow{a_k a_i} + \overrightarrow{a_i a_j}[/math], мы имеем

[math] \displaystyle \begin{aligned} \sum_{j \in I \setminus \{k\}} \lambda_j \cdot \overrightarrow{a_k a_j} &= \sum_{j \in I \setminus \{k\}} \lambda_j \cdot \overrightarrow{a_k a_i} + \sum_{j \in I \setminus \{k\}} \lambda_j \cdot \overrightarrow{a_i a_j} \\ &= \sum_{j \in I \setminus \{k\}} \lambda_j \cdot \overrightarrow{a_k a_i} + \sum_{j \in I \setminus \{i,k\}} \lambda_j \cdot \overrightarrow{a_i a_j} \\ &= \sum_{j \in I \setminus \{i,k\}} \lambda_j \cdot \overrightarrow{a_i a_j} - \left(\sum_{j \in I \setminus \{k\}} \lambda_j\right) \cdot \overrightarrow{a_i a_k} = 0 \text{.} \end{aligned} [/math]

Из этого следует, что [math]\forall j \in (I \setminus \{i, k\}) : \lambda_j = 0[/math] и [math]\sum_{j \in I \setminus \{k\}} \lambda_j = 0[/math], поскольку набор векторов [math]\{\overrightarrow{a_i a_j}\}_{j \in I \setminus \{i\}}[/math] линейно независим. Значит, [math]\forall j \in (I \setminus \{k\}) : \lambda_j = 0[/math], то есть линейная комбинация тривиальна.
[math]\triangleleft[/math]

Эта лемма даёт возможность говорить о независимости множества точек без выделения одной из них.

Определение:
Пусть [math]\langle A, V, (+)\rangle[/math] — это аффинное пространство. Множество точек [math]\{a_i\}_{i \in I}[/math] аффинно независимо, если для какого-то [math]i \in I[/math] множество [math]\{\overrightarrow{a_i a_j}\}_{j \in I \setminus \{i\}}[/math] линейно независимо.

В аффинном пространстве справедлив факт, подобный единственности разложения вектора в ЛНЗ базис в векторном пространстве.

Лемма:
Пусть [math]\langle A, V, (+)\rangle[/math] — это аффинное пространство. Пусть [math]\{a_i\}_{i=0}^n[/math] — множество точек из [math]A[/math]. Пусть [math]x \in A[/math] представима в виде аффинной комбинации [math]\{a_i\}_{i=0}^n[/math]. Тогда набор коэффициентов аффинной комбинации [math]\{\lambda_i\}_{i=0}^n[/math], что [math]x = \sum_{i=0}^n \lambda a_i[/math], единственен тогда и только тогда, когда набор векторов [math]\{\overrightarrow{a_0 a_i}\}_{i=1}^n[/math] линейно независим.
Доказательство:
[math]\triangleright[/math]

Докажем единственность из линейной независимости. Пусть есть две аффинные комбинации с коэффициентами [math]\{\alpha_i\}_{i=0}^n[/math] и [math]\{\beta\}_{i=0}^n[/math], дающие x. Посчитаем их, взяв за точку начала отсчёта точку [math]a_0[/math]:

[math]\displaystyle x = a_0 + \sum_{i=1}^n \alpha_i \cdot \overrightarrow{a_0 a_i} = a_0 + \sum_{i=1}^n \beta_i \cdot \overrightarrow{a_0 a_i}[/math].

Получаем, что

[math]\displaystyle \sum_{i=1}^n \alpha_i \cdot \overrightarrow{a_0 a_i} = \sum_{i=1}^n \beta_i \cdot \overrightarrow{a_0 a_i}[/math].

По лемме для векторного пространства такое разложение единственно, [math]\forall i \in \left[1..n\right] : \alpha_i = \beta_i \implies \alpha_0 = \beta_0[/math].

В обратную сторону доказывается идентично.
[math]\triangleleft[/math]

Имеет смысл определить понятие базиса в аффинном пространстве.

Определение:
Пусть [math]\langle A, V, (+)\rangle[/math] — это аффинное пространство. Множество точек [math]\{a_i\}_{i \in I}[/math] будет называться аффинным базисом этого пространства, если множество векторов [math]\{\overrightarrow{a_0 a_i}\}_{i=1}^n[/math] будет базисом [math]V[/math]. Барицентрическими координатами точки будут коэффициенты её аффинного разложения в этом базисе.

Поскольку [math]\forall x \in A : x = a_0 + \overrightarrow{a_0 x}[/math], то если множество [math]\{\overrightarrow{a_0 a_i}\}_{i=1}^n[/math] ЛНЗ, то существует единственное разложение

[math] \displaystyle x = a_0 + \sum_{i=1}^n \lambda_i \cdot \overrightarrow{a_0 a_i} [/math].

Тогда

[math] \displaystyle x = \left(1 - \sum_{i=0}^n \lambda_i \right) a_0 + \sum_{i=1}^n \lambda_i a_i [/math],

значит, разложение в аффинный базис всегда существует, и, по лемме, оно единственно.

Также можно выделить [math]a_0[/math] как начало координат, и представлять координаты так же, как это делается в векторном пространстве. Обычно так и делается. Осознание глубинного смысла сего действия остаётся читателям в качестве упражнения.

Вычисление поворота

Матрица поворота

У нас есть гиперплоскость [math]g[/math] и точки задающие её. В [math]d[/math] мерном пространстве у нас будет [math]d[/math] аффинно независимых точек [math]a_1, a_2, \dots, a_d[/math].

Возьмем в нашем пространстве еще одну выделенную точку [math]p[/math]. Если она не лежит в гиперплоскости, то получившийся набор [math]a_1, a_2, \dots, a_d, p[/math] тоже будет аффинно независимым.

Пример для [math]\mathbb{R}^3[/math]

Пусть у нас есть какая-то выделенная заранее система координат [math]C[/math]. Эта система приходит обычно вместе с какой-то задачей, и обычно она декартова. И у нас тоже будет сейчас декартова.

Мы знаем, что можно составить матрицу перехода из начальной системы координат координат [math]C[/math] в систему координат на векторах [math]\{\overrightarrow{p a_i}\}_{i=1}^d[/math], если можно выразить эти вектора в [math]C[/math]. А в нашем случае мы это сделать, конечно, можем: поскольку вектор существует между любыми парами точек, просто сопоставим нашим точкам вектора, соединяющие начало координат [math]O[/math] и очередную точку. Значит, если нам известны координаты точек, то нам известны координаты векторов в ситеме [math]C[/math]. Запишем матрицу перехода и немножко преобразуем её определитель:

[math]\det A^ \mathrm{T} = \begin{vmatrix} \overrightarrow{Oa_1} - \overrightarrow{Op} \\ \overrightarrow{Oa_2} - \overrightarrow{Op} \\ \vdots \\ \overrightarrow{Oa_d} - \overrightarrow{Op} \end{vmatrix} = \begin{vmatrix} a_1 - p \\ a_2 - p\\ \vdots \\ a_d - p \end{vmatrix} = \begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_d & 1 \\ p & 1 \end{vmatrix}[/math].

В дальнейшем нас будут интересовать знак этого детерминанта.

Обоснование

Лемма (1):
Точка [math]p[/math] лежит на плоскости [math]g[/math] тогда и только тогда, когда определитель матрицы [math]A[/math] равен [math]0[/math].
Доказательство:
[math]\triangleright[/math]
Плоскость [math]g[/math] определяется замыканием набора [math]a_1, a_2, \dots, a_d[/math] ЛНЗ точек, значит, если [math]p[/math] принадлежит множеству, то [math]p[/math] является линейной комбинацией этих точек. В этом случае мы с помощью преобразований можем получить нулевую стррочку в матрице [math]A[/math], значит, ее определитель будет ноль.
[math]\triangleleft[/math]

Разобъем все точки пространства (кроме тех, что лежат на плоскости) на два множества в зависимости от того, какой знак для них будет иметь детерминант [math]A[/math]. Покажем, что наша классификация осмысленна.

Лемма:
Получившиеся множества будут выпуклыми.
Доказательство:
[math]\triangleright[/math]

По определению выпуклого множества. Возьмем две любые точки [math]p_1[/math] и [math]p_2[/math], лежащие в одной области. По аксиоматике существует вектор [math]\overrightarrow{p_1p_2}[/math] и по определению можно сделать линейную комбинацию. Значит можем получить любую точку между [math]p_1[/math] и [math]p_2[/math], лежащую с ними на одной прямой, отложив от [math]p_1[/math] вектор [math]\alpha \cdot \overrightarrow{p_1p_2}[/math], где [math]\alpha \in [0..1][/math]. Если подставить это в определитель, и вспомнить, что [math]1 = \alpha + (1 - \alpha)[/math], то получим

[math]\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_d & 1 \\ p_1 + \alpha \cdot \overrightarrow{p_1p_2} & 1 \end{vmatrix} = \begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_d & 1 \\ \alpha p_2 + (1 - \alpha)p_1 & 1 \end{vmatrix} = \alpha \begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_d & 1 \\ p_2 & 1 \end{vmatrix} + (1 - \alpha) \begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_d & 1 \\ p_1 & 1 \end{vmatrix} [/math].

Матрицы одинакового знака, и стоящие перед ними коэффициенты положительны. Значит, у нашей точки будет тот же знак определителя, что и у [math]p_1[/math] и [math]p_2[/math].
[math]\triangleleft[/math]

Хорошая лемма, пользоваться мы ей, конечно, не будем.

Проблема в том, что нужно показать, что любая непрерывная кривая не может пройти из точки одного множества в точку другого множества не пересекая плоскость. Но для этого нам необходимо понятие непрерывности, а непрерывность связана с топологией. А у нас есть только афинное пространство, но нет топологии.

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

В афинном пространстве можно вполне естественно ввести евклидовскую метрику: ввести скалярное произведение, а затем показать, что корень из скалярного произведения задает метрику. Тогда эта метрика будет индуцировать топологию открытыми шарами, а значит, можно будет воспользоваться аналогом теоремы Жордана.

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

Итак, поворот классифицирует точки не лежащие на плоскости и разбивает их на два выпуклых множества

Уравнение гиперплоскости, полупространства

Из леммы 1 практически сразу получается уравнение гиперплоскости.

Пусть у нас есть [math]n[/math] ЛНЗ точек [math]a_1, a_2, \dots, a_n[/math] в [math]n[/math]-мерном пространстве. Тогда гиперплоскость, проходящая через эти точки, может быть задана уравнением

[math]\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} = 0[/math].

При этом полупространство, лежащее ниже этой плоскости, может быть получено как

[math]\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} \lt 0[/math],

а полупространство, лежащее выше этой плоскости, имеет вид

[math]\begin{vmatrix} a_1 & 1 \\ a_2 & 1\\ \vdots & \vdots \\ a_n & 1 \\ x & 1 \end{vmatrix} \gt 0[/math].


Источники информации

  • Jean Gallier «Curves and Surfaces In Geometric Modeling: Theory And Algorithms» — Part I Basics of Affine Geometry