Основные определения

Пройдемся по основным принципам, которые лежат в основе алгебры интервалов.

Во-первых, что такое интервал. Судя по термину, - это нечто, что находится между (inter) неких величин (values). Пока не очень понятно, о чем речь, но вообще данное определение вполне себе удачно. Бывают хуже.

Интервал (отрезок) s и его границы
Интервал (отрезок) s и его границы

Values - это границы интервала. Есть левая граница (начало) и есть правая (конец). Границы - это точки на шкале (оси, пространстве).

Шкала - здесь это одномерное пространство, которое имеет направление. Направление означает, что элементы данного пространства могут быть упорядочены. Именно упорядоченность дает возможность определения оператора "между".

Шкала может быть непрерывной (как время):

Календарь
Календарь

Может быть дискретной. Например, алфавит: ['а' ,'б', 'в', 'г', ... , 'ю' , 'я']

Интервалы и границы - не одно и то же!

Второе и, пожалуй, главное, что следует уяснить. Интервал и точки - это два разных типа данных.

В чем отличие интервала от точки? В размере, - у интервала есть конечный размер, у точки нет. Точка - это предельная сущность. При этом точка может принадлежать интервалу (находиться внутри), а может и не принадлежать. Например, точка\pi принадлежит числовому интервалу [3, 4]. И даже может быть границей другого интервала, но сама интервалом не является.

Поэтому (внимание!) - вопрос о том, принадлежат ли интервалу его границы - не имеет особого смысла. Я бы давал на такой вопрос ответ Неопределено, - можно считать, что принадлежит, а можно и нет.

Тут может возникнуть законный вопрос. А как же тогда быть со всеми этими "включительно" или "исключительно", которые используются при задании интервалов? Вот, например, интервал "со 2-го по 5-е" включает 5-е число. А интервал "со 2-го до 5-го" - не включает. Вроде как очевидно, что надо указывать - входят границы в интервал или нет.

Ответ тут такой. Зачастую интервал задается не явными границами (точками), а границами других интервалов меньшего размера. И в приведенном выше примере числа 2 и 5 - это не точки, а интервалы. Соответственно, у них есть границы. Первый интервал [2, 5] задан как "от левой границы 2 до правой границы 5", а второй [2, [5 - "от левой границы 2 до левой границы 5".

Числа - интервалы, их границы обозначены синим
Числа - интервалы, их границы обозначены синим

Как отличить, является ли некая сущность интервалом или точкой? По вкладу в общую меру (длину) интервала. Дает вклад - интервал. Нет - точка.

Элементы алфавита [а, б, в, г, д, ...] - это интервалы. Потому что каждая буква дает вклад в длину интервала. Например, длина (в буквах) интервала [б, д] равна 4 - суммарная длина всех смежных интервалов. А что же тогда является точками алфавита? Границы его букв. Левая граница буквы 'б' - это точка '[б'. Правая граница буквы 'в' - это точка 'в]'.

На всякий случай уточним, что числа - не всегда интервалы. Могут быть и числовые границы (числа-точки). Примерно так:

Числа как точки - границы интервалов
Числа как точки - границы интервалов

Добавили указание точности чисел в виде бесконечно повторяющегося нуля. Так подробно останавливаемся на отличии точек от интервалов, потому что это источник путаницы - как именно задан интервал.

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

Отметим, что языки программирования не очень хорошо ладят с проблемой отцов и детей отличия интервалов от точек. Типичный проблемный вопрос - является ли литерал времени "23.59.59" концом дня или нет? Равен ли он началу дня "00.00.00"?

Смежные интервалы, типы границ

Как уже отмечалось, смежными называют интервалы, имеющие общую границу.

Шкала, образованная смежными интервалами
Шкала, образованная смежными интервалами

Но из-за того, что границы большого интервала задают как границы малых возникает проблема идентификации. Человеку понятно, что конец сегодняшнего дня совпадает с началом завтрашнего, но программе это объяснить сложнее. Обычно программы умеют определять эквивалентность, но не смежность. На практике это означает, что все типы границ, заданные как границы неких стандартных (базовых) интервалов, должны быть приведены к одному типу - либо все левые, либо все правые. Это дает возможность программе сворачивать границы в алгебраических выражениях. Примерно так:

[2, 5] + [6, 10] == [2, [6 + [6, [11 == [2 - [6 + [6 - [11 = [2 - [11 == [2, [11

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

Линейные комбинации границ

Основой алгебры границ является представление границ интервала (отрезка) как разности его левой и правой границы. Назовем это граничным представлением интервала.

Пусть левой границей интервала s является [s, а правой s]. Тогда граничным представлением интервала будет выражение:

ds = [s - s]

Здесь '-' - это минус, а не тире.

Амплитуды границ и высота интервала
Амплитуды границ и высота интервала

В общем случае по паре точекaиb можно построить границу интервала:

ds = a - b == 1 a - 1 b

В формуле вывели явным образом значение скалярных коэффициентов (1 и -1) перед границами. Данные коэффициенты можно трактовать как координаты [1, -1] в упорядоченном базисе из элементовa, b. Далее мы везде используем первые латинские буквыa < b < c < d < \dots для обозначения границ (не стоит путать их со скалярными коэффициентами - числами).

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

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

Граничное представление

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

ds = a + b - 2c + d - e

Есть и отличие интервалов от векторов. Интервал определен на упорядоченной шкале, а аффинный вектор направленности пространства не требует. Упорядоченность позволяет отразить на шкале граничное представление интервала как всплески коэффициентов у его границ:

Амплитуды границ на шкале
Амплитуды границ на шкале

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

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

Линейные формы

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

Комбинация границds = a - b + c - d оставляет неопределенным ответ на вопрос, а какие именно интервалы-отрезки тут заданы? Это могут быть два отрезка(a, b) и(c, d). А могут быть отрезки(a, d) и(c, b).

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

Билинейные формы можно трактовать как некое умножение произвольных элементов пространства или способ записи их связывания в пару (аргументы формы):

F = (a, b), \quad F^T = (b, a)

Мы используем для простоты записи круглые скобки, хотя это не всегда удобно. Но с выбором типа скобок в алгебре всегда проблемы, - сущностей много, а скобок мало.

Главное свойство билинейной формы - по каждому аргументу форма сохраняет правила линейности:

F = (a + b, c + d) = (a, c) + (a, d) + (b, c) + (b, d)

Что тут видим. Слева - форма, аргументы которой являются линейными комбинациями каких-то элементов. Справа - линейная комбинация самих форм. То есть формы тоже могут образовывать линейные комбинации. Коэффициенты данных комбинаций можно записать в виде матрицы (поскольку в форме - два аргумента). Для нашего примера матрица коэффициентов будет такой:

\begin{array} {c|c c c c}  F & c & d \\ \hline a & 1 & 1 \\b & 1 & 1 \end{array}

Если оба аргумента формы совпадают, то форма называется квадратичной:

(a, a) == (a)^2

Есть выделенные линейные комбинации. Например, симметричная форма

\{a, b\} == \{b, a\} == (a, b) + (b, a)

называется полярной (или поляром). Иногда (а, может, и чаще) используют нормированный вариант поляра - делят его на 2. Такую форму обозначим для простоты знаком произведения:

a*b = \{a, b\}/2 == ((a, b) + (b, a))/2

Отметим, что если аргументы совпадают, то нормированный поляр становится квадратичной формой:

a*a == ((a, a) + (a, a))/2 = (a)^2

Это были краткие и скучные сведения про формы, пора применить их к интервалам.

Интервал - это квадратичная форма вектора

Постулируем, что интервалу-отрезку соответствует квадратичная форма вектора, образованная его границами. Для границa, bформа отрезка будет такой:

s = (a - b)^2 == (a - b, a - b) == (a - b)*(a - b)

Почему именно так? Можно привести пару соображений. Во-первых, именно такая же форма используется для связей в симметричном графе. Связь связывает две вершины, а интервал - две границы. Во-вторых, свойства данной формы позволяют удобным образом вычислять параметры интервала. В частности, находить пересечение двух интервалов.

Граничное представление интервала строится применением направленного граничного оператора\partialк форме интервала:

ds = \partial(a - b)^2 = a - b

Направленный граничный оператор определен только на направленной шкале (оси). Мы из меньшей границы вычитаем большую. Этим данный оператор отличается от граничного оператора на симплексах (про который мы рассказывали в статье про внешнюю алгебру).

Таким образом, форма самого интервалаs- симметрична (не имеет направленности), поскольку квадратична. Форма его границds- ориентирована. Переход от формы к границам выполняется граничным оператором - эквивалент операции дифференцирования.

Отрицательным интервалам соответствует отрицательная форма. Для границ интервалаds = b - a = -(a - b)форма будет такой:

s = -(a - b)^2 = (a - b, b - a) = (ds, -ds)

Этим примером мы хотели показать, что для произвольного граничного представленияds его формаsнеобязательно совпадет с(ds)^2.

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

Полярная форма интервала

Допустим, есть два аффинных вектора (или что то же самое - два граничных представления интервала):dv иdu. На заданном множестве границb_iданные векторы можно представить как:

dv = g_v^i b_i, \quad du = g_u^i b_i

гдеg_v^i, g_u^i- амплитуды (координаты) данных векторов. По повторяющемуся (немому) индексуiвыполняется суммирование. Напомним, что сумма амплитуд - нулевая:g_v^i 1_i = g_u^i 1_i = 0.

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

dv*du = \{dv, du\}/2 = -\sum_{i,j} w^{ij} (b_i - b_j)^2

где коэффициенты образуют симметричную матрицу:w^{ij} = (g_v^i g_u^j + g_v^j g_u^i)/2

Например, для 4-х вершин\{a, b, c, d\}векторы будут такими:

dv = g_v^a a + g_v^b b + g_v^c c + g_v^d d,  \quad du = g_u^a a + g_u^b b + g_u^c c + g_u^d d

а полярное тождество таким:

dv * du = -(w^{ab} (ab)^2 + w^{ac} (ac)^2 + w^{ad} (ad)^2 + w^{bc} (bc)^2 + w^{bd} (bd)^2 + w^{cd} (cd)^2)

Доказательство мы тут не приводим, - оно несложное. Достаточно раскрыть формы и использовать нулевой баланс амплитуд.

Отметим, что полярное тождество никак не связано с направленностью оси - оно действительно для любого пространства. Вообще оно задает форму скалярного произведения векторов, но в интервальной трактовке эта форма соответствует пересечению интервалов. Покажем это.

Пересечение интервалов

Применим к полученной выше полярной форме границ двух интервалов направленный граничный оператор\partial. Это сделать достаточно просто, поскольку мы знаем, что\partial(b_i - b_j)^2 = b_i - b_jпри условии, чтоb_i < b_j. Поэтому результатом взятия границы будет такое выражение:

\partial(dv*du) = -\sum_{i,j} g^{ij} (b_i - b_j)

Основное его отличие от предыдущего в том (помимо того, что вместо формы здесь векторы), что здесь матрица коэффициентовg^{ij}является антисимметричной:g^{ij} = -g^{ji}. Понятно почему - при перестановке границ векторb_i - b_jменяет знак на противоположный.

Полученное выражение справедливо только для направленных пространств, поскольку при его получении используется сравнение границ.

Далее надо от матрицыg^{ij}перейти к амплитудам самого интервала пересечения. То есть нам нужна граница интервала пересечения в видеg^i b_i. Для получения амплитудg^iдостаточно просуммировать матрицуg^{ij}по строкам (или столбцам).

Но предварительно введем еще одно понятие, которое все равно всплывает рано или поздно при работе с границами интервала. А именно - наряду с амплитудой границы введем ее высоту. Возможно несколько определений высоты, - мы используем наиболее простой: высота границы вычисляется как суммирование всех амплитуд всех предыдущих границ, включая данную. Высоту вектораdvобозначаем какh_v^i:

h_v^i = \sum_{j=0, i} g_v^j

Тут суммирование направленное - от первой границы до текущей.

Теперь можно выполнить суммирование матрицыg^{ij}с учетом баланса амплитуд. Получим итоговое выражение амплитуд границ пересечения:

g^i = \sum_j g^{ij} = g_v^i h_u^i + g_u^i h_v^i - g_v^i g_u^i

Данная формула позволяет рассчитать границы интервала пересечения (амплитудыg_iна базовом множестве границ) на основании амплитуд и высот исходных интервалов. От корректировочного слагаемогоg_v^i g_u^iможно избавиться, выбрав другое определение высоты (учитывать амплитуду текущей границы с коэффициентом 1/2), но это уже нюансы.

Пример

Пусть на шкале есть 6 упорядоченных точек-границ:a < b < c < d < e < f и заданы два интервала:dv = a - c + d - f, \quad du = b - e.

Определим область их пересечения согласно приведенной выше формуле.

Для начала приведем амплитуды к общему базису всех границ, - получим координатыg_v^i, g_u^i. Далее по координатам амплитуд рассчитаем высоты:

dv: \quad g_v^i = [1, 0, -1, 1, 0, -1], \quad h_v^i = [1, 1, 0, 1, 1, 0]

du: \quad g_u^i = [0, 1, 0, 0, -1, 0], \quad h_u^i = [0, 1, 1, 1, 0, 0]

Далее считаем амплитуды области пересечения, начиная с первой границы:

g^a = g_v^a h_u^a + g_u^a h_v^a - g_v^a g_u^a = 0 + 0 - 0 = 0 \\ g^b = g_v^b h_u^b + g_u^b h_v^b - g_v^b g_u^b = 0 + 1 - 0 = 1 \\ \dots

И т.д. В итоге получимg^i = [0, 1, -1, 1, -1, 0], что в векторной форме означает:\partial(dv * du) = b - c + d - e, что и ожидалось.

Особенности и ограничения

Следует иметь в виду, что определение пересечения интервалов через симметричную форму (произведение) имеет свои особенности.

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

Например, граница пересечения интервалаa - 2b + cс самим собой согласно формулам выше будет такой:a - c. Это выглядит странно, но объяснимо. Дело в том, что исходные границы фактически представляют собой разность двух интервалов:(a - b) - (b - c). Между собой данные интервалы не пересекаются(a - b)*(b-c) = 0, но вот при пересечении с самим собой отрицательный интервал-(b-c) превращается в положительный(b-c). Ну и при сложении с(a - b)получаем результатa - c.

Другой момент касается трактовки кратности амплитуд. Если рассчитать пересечение с собой интервала с удвоенными амплитудами2(a - b), то получим результат как\partial(2(a - b))^2 = 4(a - b). Это связано с тем, что кратность амплитуд трактуется не как высота интервала, а как их количество. Фактически форма(2(a - b), 2(a - b))означает, что у нас слева два интервала и справа - два. Всего областей пересечений будет 2*2 = 4.

Можно выделить интервалы, у которых граница от квадратичной формы совпадает с границей исходного интервалаds = \partial(ds)^2, в особый класс. В частности данному классу принадлежат обычные положительные интервалы в виде отрезка. Для всех таких интервалов согласно тождеству имеет место инвариант, связывающий амплитудыg^iи высотыh^i:

g^i = 2g^i h^i - (g^i)^2

откуда следует, что либо амплитуда границы равна нулюg^i = 0, либо ее высота связана с амплитудой какh^i = (g^i + 1)/2.

Как правило в прикладных задачах при расчете пересечений интервалы имеют положительную высоту и единичную кратность. Так что можете смело использовать приведенные выше соотношения.

На этом пора закругляться. Надеюсь, смог кое-что прояснить в данном вопросе.

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


  1. OlegZH
    26.06.2025 10:29

    Да! Хочется разобраться.


  1. wataru
    26.06.2025 10:29

    Границы интервала (как и аффинный вектор

    Здравствуйте, а не могли бы вы объяснить, что такое "аффинный вектор"? Гугл не находит определения для этого понятия.


    1. dmagin Автор
      26.06.2025 10:29

      perplexity.ai - "что такое аффинный вектор?"


      1. wataru
        26.06.2025 10:29

        Спасибо. А есть ссылка на что-нибудь более осязаемое? Вроде википедии, например? Потому что LLM чат боты нагенерируют определение чего угодно.

        Мне этот чатбот скопировал определение свободного вектора из векторного пространства, ассоциированного с афинным пространством из википедии.

        Это совпадает с вашим определением?


        1. Jijiki
          26.06.2025 10:29

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

          Affine_space

          в афинном представлении матрица будет определенного вида c нулями внизу грубо говоря, в векторном пространстве будет внизу Tx Ty Tz 1(мне сейчас почему-то так кажется, может я ошибаюсь) (тут еще нюансы потомучто тогда надо смотреть конкретно библиотеки)

          gltf-animation.html автор тут покажет свои взгляды на эти моменты

          Affine_transformation

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


          1. wataru
            26.06.2025 10:29

            Эмм.. Вы вот это вот все написали только потому что заметили известное слово "афинный"? Вот как вообще у вас в голове цепочка от вопроса о формальном определении математического объекта выстроилась до матриц?

            А ссылку на википедию между прочим уже есть и в моем комментарии, зачем вы ее мне дали?

            Еще, там в комментарии есть слово "вектор", не хотите про векторизацию очередной пассаж написать?


            1. Jijiki
              26.06.2025 10:29

              почитайте те ресурсы какие я указал там всё изложено про афинное пространство и преобразования и прогонку в векторное тоесть в шейдер, а так же чуть побольше написано (тоесть тот автор описал всю ситуацию) и даже упомянул Homogeneous_coordinates, если вам надо чуть побольше информации то тут поможет только опыт и кругозор, потомучто пространств в конктексте афинно-векторного контекста будет чуть-чуть побольше(ведь это будет на мониторе в окне "рисоваться" например) и все они будут с векторами


              1. wataru
                26.06.2025 10:29

                Там нигде не дано определения аффинного вектора.


          1. Jijiki
            26.06.2025 10:29

            Скрытый текст

            вот типо как я понял это аффинная матрица
            поидее её компоненты это аффинные вектора, наверно логически


            1. wataru
              26.06.2025 10:29

              поидее её компоненты это аффинные вектора, наверно логически

              Очень наивная логика. И не верная точно. Аффинность - это свойство всей целиком матрицы. Один и тот же вектор может быть в одной матрице и она будет аффинной, и может быть в другой матрице и она не будет аффинной.

              Аналогия тут: cторона равнобедренного треугольника не является равнобедренной.


              1. Jijiki
                26.06.2025 10:29

                если бы вы спросили у ИИ то былоб очевиднее что это именно и есть в контексте афинных преобразований эти вектора - компоненты матрицы, просто вы ждёте каких-то секретов там где их нет, векторное пространство определено точка определена

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

                я вам показал подводящие темы(прям конкретно) и именно так с этим можно столкнуться в блендере и в шейдере


                1. wataru
                  26.06.2025 10:29

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

                  Я спросил у ИИ, и он ничего про аффинные преобразования (и матрицы) не сказал. Сказал про аффинное пространство, да.

                  вы хотите увидеть чтобы в разделе афинного пространства были определения что вектор

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

                  Я почти на 100% уверен, что автор тут просто неформально называет свободные вектора аффинными, но все-равно хотел уточнить.

                  я вам показал подводящие темы(прям конкретно) и

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


                  1. Jijiki
                    26.06.2025 10:29

                    вы забыли один нюанс вы спросили в контексте афинного пространства и афинных преобразований что такое вектор я дал вам исчерпывающие ответы с примерами.

                    а что такое вектор то в итоге? раз такая пьянка)


                    1. wataru
                      26.06.2025 10:29

                      Не было никаких аффинных пространств и преобразований. В статье есть отрезки и упоминается некоторый термин. Я спросил, что за термин. То, что тут преобразования додумали вы.


                      1. Jijiki
                        26.06.2025 10:29

                        тогда про контекст афинного пространства и (афинных преобразований - это я добавил) вы ошиблись, и ваш вопрос звучит что такое вектор. это еще интереснее

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

                        кватернион имеет запись в векторном представлении и его можно по единичной матрице привести к матричному представлению

                        это уже концепция TRS все они приведут к матричному виду, где вектора это декомпозиция, но не та по которой много методов, а просто декомпозиция из афинного представления в другое(для шейдеров)

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

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


                      1. wataru
                        26.06.2025 10:29

                        тогда про контекст афинного пространства и (афинных преобразований - это я добавил) вы ошиблись, и ваш вопрос звучит что такое вектор

                        Нет, мой вопрос - что такое "аффинный вектор". Этот термин использован в статье, вот я и спросил про его определение. Я там в даже цитату из статьи вставил. Это не мои слова, а автора.

                        хорошо тогда ...

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


                      1. Jijiki
                        26.06.2025 10:29

                        ну тоесть вектор не принадлежит физически и математически матрице да?

                        тоесть не относителен матрице и не участвует в матрице

                        тоесть определены методы, из которых следует где они участники разве нет?

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


                      1. wataru
                        26.06.2025 10:29

                        Повторюсь: словосочетание "аффинный вектор" нигде кроме как в комментариях и статьи этого автора в интернете практически не встречаются. Единственное другое вхождение - это какой-то математический форум, где кто-то спрашивает, а что это вообще такое. Если бы это была очевидная вещь, то где-нибудь определение-то было бы написано.

                        Далее, матрица - не физический объект, так что вектор ей физически принадлежать не может.


                      1. Jijiki
                        26.06.2025 10:29

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

                        Скрытый текст

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


                      1. ftpgg
                        26.06.2025 10:29

                        Мил человек, я поражаюсь Вашему терпению во время диалога с этим человеком!


              1. Jijiki
                26.06.2025 10:29

                а почему вы так считаете вы не пояснили

                мой тейк матрица афинная, преобразования определены, значит вектор просто участник афинных преобразований, вектор так и будет вектором если его назвать афинным вектором это не будет ошибкой я думаю )

                в равнобедренном треугольнике вы привели пример с плюсом все стороны равны)

                просто треугольник может быть в другом пространстве и там могут быть другие пространственные парадоксы, например искажение геометрии в ютубе есть демка

                вообще конечно афинный вектор это простой вектор всё тот же, просто в афинных матрицах нет перспективы)(в афинных преобразованиях на ресурсе вики только главные преобразования представлены, там нет проекции и матрицы вида) этот ответ если есть понимание view projection model просто не стоит обсуждения на самом деле, но новичка собьёт с толку это наверно

                вообще без базового понимания 3д сложно поддерживать уровень чтобы все понимали, есть пайплайн, в науке, конечно я понимаю всё названо и изучено, но если вы не понимаете отличие матриц, view projection и model и как к ним приходят то там можно только задавать вопросы и не понять


                1. wataru
                  26.06.2025 10:29

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

                  Аффинные преобразования (то, что вы воспринимаете как матрицы) и аффинные пространства (то, откуда берутся вектора) - это не связанные вещи. Как комплексные числа и комплексные обеды. Некоторые слова совпадают, но суть вообще не близкая.

                  вообще без базового понимания 3д

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


                  1. Jijiki
                    26.06.2025 10:29

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

                    projectrion * view * model * vector4(curVertex)
                     ^             ^       ^                  ^
                    
                    ^ - там внутри вектор/вектора

                    в научной нотации обычно пишут малое а или малое т.

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

                    Скрытый текст

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


                    1. Jijiki
                      26.06.2025 10:29

                      если без центроида глянуть на ААББ там будет тоже самое просто координаты - типо симуляция

                      Скрытый текст

                      поэтому очевидное не заметно и может быть подороже в расчете


                    1. wataru
                      26.06.2025 10:29

                      Тут нет никакой перспективы. И это не те точки, с которыми вы работаете в 3d.


                      1. Jijiki
                        26.06.2025 10:29

                        вам виднее


                      1. Jijiki
                        26.06.2025 10:29

                        но вообще там всё есть


                      1. Jijiki
                        26.06.2025 10:29

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

                        projectrion * view * model * vector4(curVertex) 
                        ^             ^       ^                  ^
                        
                        ^ - там внутри вектор/вектора

                        и тогда если еще утверждать что нету 3д то точка не будет иметь перспективы

                        view * model * vector4(curVertex) 

                        далее можно утверждать что нету вьюшки да?

                        model * vector4(curVertex)

                        а далее можно сказать что для начала вектор 3д

                        model.xyz * vector3(curVertex.xyz) 

                        а далее можно наделить этот мат аппарат 2д

                        model.xy * vector2(curVertex.xy) 

                        чтд) это и есть аффинное пространство с афинным вектором наверно )

                        в определении афинного вектора так и сказано нет перспективы, есть просто координаты

                        это принципиально, но математику так не изучают, и на картинке у автора есть ортогональная проекция 2д в которой мы видим 1д, поэтому не всё так однозначно, так или иначе мы будем рисовать даже если не будем в слух произносить визуализацию точек этих)

                        поэтому можно пренебреч тем что нету проекции и вьюшки в той или иной мере они присутствуют, а значит этот нюанс тоже надо понимать

                        тоесть принципиально их нет когда шкала на приборе! а когда на бумаге или на пк с визуализацией то это необходимо учитывать мы же про мат-аппарат говорим, а не про преобразования в воздухе

                        на бумаге
                        нюанс - если есть хотябы 1 ось это уже вью

                        а значит есть метрика, есть ось всё уже попали в этот мат аппарат пускай и 2д пускай и 1д )


      1. dmagin Автор
        26.06.2025 10:29

        А вот интересно, - кто эти молчаливые минусующие? Как понять, что не понравилось?

        1. Перплекс мне выдает на данный вопрос - "Аффинный вектор - это разность точек". И это верно, хотя и не полно, конечно. Кроме того, перплекс еще кучу ссылок дает, куда можно сходить за подробностями. Минусовщикам что-то другое показывает?

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

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


        1. wataru
          26.06.2025 10:29

          Я думаю, минусуют потому, что отсылать в старадающие галюцинациями чат боты - плохой тон. И, если вы используете какой-то термин, то вы должны по запросу хотя бы ссылку-то на него дать.

          Потом, вы используете не общепринятый термин. Даже этот ваш perplexity.ai скажет, если вы его спросите, используется ли вот этот термин:

          Термин "аффинный вектор" не является стандартным общеупотребительным термином в классической геометрии или линейной алгебре.

          В классических источниках по аффинной геометрии и аналитической геометрии обычно говорят об аффинных пространствах, аффинных преобразованиях, аффинных точках и векторах, связанных с этими пространствами

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


          1. Jijiki
            26.06.2025 10:29

            вы поймите что мат аппарат даже 1д и 2д будет из 3д сам факт точка и ось это уже имеет значение, а посему выше доказательство как связаны 1-2-3д


        1. Jijiki
          26.06.2025 10:29

          разность точек потомучто есть начало и конец, вектор может иметь еще величину и вот разность точек на интервале [a,b] который тоже вектор тоесть прямая тоесть b-a так как не имеем перспективы, это и есть афинное пространство и афинный вектор, но только мы рисуем через 2д в 1д буквально. это значит что везде где есть или появилась метрика и ось всё мы в мат аппарате, всё это пространство и там будут работать эти моменты, да и промежуток похож на луч где точки на луче величины векторов или просто координаты как факт прохода луча


  1. 0pauc0
    26.06.2025 10:29

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

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

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

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


    1. Jijiki
      26.06.2025 10:29

      ну например отрицательные интервалы(тоесть вершины метрические и рассматриваем какую-то площадь(диапазон отрицательных интервалов наверно) поверхности которая ушла в минус - притоплена и там пускаем шейдер воды по высоте 0 например, тогда для ныряния мы будем работать с отрицательными интервалами вроде, например если под водой смешать с цветом и притемнить чутка или прибледнить) высот террейна разве нет? в отрицательной четверти где всё отрицательное, хотя это можно смотреть и положительно просто вершины будут отрициательными на этом диапазоне площади


    1. dmagin Автор
      26.06.2025 10:29

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

      Это замечание я не понял. Операция вычитания интервалов вполне себе рутинная (например, из интервала календарных дней недели [Пн, Вт, ..., Вс] можно вычесть выходные дни [Сб, Вс], получив рабочие). А вычитание можно трактовать как сложение с отрицательным интервалом. То есть отрицательные интервалы в этом смысле вполне себе существуют и в "обычных пространствах".


      1. 0pauc0
        26.06.2025 10:29

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

        Не стал в первом посте писать следующее, но придется - если вы изначально определили область рассуждений - одномерное пространство, то о каких векторах вы вообще говорите? У вас в одномерном пространстве все ваши "вектора" имеют одно направление, они коллинеарные (вроде так называются). Вектор появляется в n>1 пространстве, только в этом случае закрепленный на том, что вы назвали шкалой. Соответственно вы определитесь, либо вы алгебраические векторы рассматриваете, либо геометрические. Но геометрические векторы это как минимум плоскость. Алгебраические векторы могут быть представлены в одномерном пространстве (хотя какое может быть в алгебре даже понятие пространства, не представляю, только система координат и все).

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


        1. dmagin Автор
          26.06.2025 10:29

          Нравятся мне советы посторонних - "вам бы надо разобраться". Ну вы-то понятно, во всем давно разобрались.

          Про одномерность ответил ниже. Хотя не уверен, что вам это интересно.


  1. wataru
    26.06.2025 10:29

    Пока не очень понятно, о чем речь, но вообще данное определение вполне себе удачно.

    Определение есть на википедии (правда, строгий термин - промежуток)

    Интервал - это множество точек числовой прямой, выпуклое (любая точка между двумя другими в этом множестве лежит в нем). Обобщение на любые шкалы элементарно: это множество элементов из упорядоченного множества (шкала), т.ч. если a,b принадлежат интервалу, то ему принадлежат все x: a <= x <= b.

    Интервалы и границы - не одно и то же!

    Интервалы могут быть замкнутыми или открытыми. Если вспомнить об этом, то никаких проблем с границами не будет. Открытые не содержат свои границы, замкнутые - содержат.

    А дальше, интервалы и границы никак не спутать. Первое - это (под)множество элементов шкалы, а второе - один конкретный элемент. x и {x} - разные категории объектов. Однако, интервалы длины 0 из одного объекта вполне могут быть, правда, только закрытые.

    Граничное представление

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

    Главная проблема, на мой взгляд, что вы везде называете разность аффинным вектором (имея ввиду свободный вектор), но тогда [a - (a+1)] и [b - (b+1)] у вас получатся одним и тем же вектором одной и той же длины 1 и направленым вправо. Потому что свободные вектора же не имеют конкретного начала, только направление и длину.

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

    Для границa, bформа отрезка будет такой:

    s = (a - b)^2 == (a - b, a - b) == (a - b)*(a - b)

    Опять же, вот есть у вас отрезок [1,2] и его форма (2-1)*(2-1). Я помню, что это не арифметические операции, а векторные. Но вот проблема выше осталась, для отрезка [3,4] 4-3 будет точно тем же аффинным вектором. Поэтому его биллинейная форма (4-3)*(4-3) будет точно тем же элементом из множества бивекторов.

    В программном коде линейная комбинация интервалов-отрезков реализуется как таблица с двумя ключевыми колонками, в которых указаны границы интервала.

    Это логично, но это же не исходит из вашей алгебры?

    А дальше я заметил, что вы работаете с границами, как будто они все являются независимыми базисами в вашем векторном пространстве. Вот у вас даже в примере вектора имеют по 6 координат. Действительно, если 1,2,3 - базисные вектора, то [2-1] и [3-2] - это разные вещи, и проблема о которой я выше говорил решена. И ваши линейные комбинации тоже обретают смысл. Это просто коэффициенты в базисном разложении какого-то вектора.

    Но по ходу статьи это вообще непонятно. И из ваших комментариев раньше это тоже было непонятно.

    И тогда у вас потенциально бесконечно мерное линейное пространство, хотя можно расмотреть подспространство образованное только границами которые у вас есть в задаче. И фактически ваши представления эквивалентны индикаторной функции. Вот ваши амплитуды - это и есть индикаторная функция - 1 стоит там, где элемент принадлежит интервалу, 0 иначе. g - это результат разностного оператора от h. Ваша формула в статье очень интересна и позволяет подсчитать g для произведения двух h без вычисления собственно произведения и выполнения разностного оператора. Хотя в програмном коде легче будет подсчитать h = h(a)*h(b), а в качестве g взять разность текущего значения и предыдущего в каждом элементе. Тут только одно умножение и одно вычитание. Но тут будет зависимость от предыдущего значения, так что ваш вариант может быть быстрее на практике.

    Возвращаясь к вашему язвительному комментарию из прошлой статьи:

    Если a и b - это точки, то как их разность может быть числом? Это просто разность элементов - аффинный вектор

    Вот если бы вы сразу сказли, что a и b - это никакие не точки, а базисные вектора, все было бы понятно сразу же.


    1. Jijiki
      26.06.2025 10:29

      начнем с того что вектор это абстракция операции над векторами - это операции над точками, сделайте визуализацию в 3д так будет проще понять


    1. Jijiki
      26.06.2025 10:29

      на террейне есть высота-интервал, 10 точек 0 1 2 3 2 1 2 3 игрок идёт вперед в диапазоне этих высот. Далее я беру площадь и притапливаю высоты изменились и площадь в этом участке можно смотреть как диапазон высот ограниченный площадью, там я запускаю интервальный бесконечный шейдер воды ), диапазон интервалов нормалей для света на выбранном участке тоже чтобы когда я буду в диапазоне высот этой площади а значит в этих точках где величины-интервалы определены притапливанием я буду делать опр подсветку что я под водой, коллизии тоже интервальные


    1. Jijiki
      26.06.2025 10:29

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

      вектор в контексте шкалы тоесть 1д пространство,
      шаг 1 - метрика, единичный вектор, ну можно назвать коеффициент и на шкале показать направление, слева направо или справа налево
      [1,5] [5,20][20,30] на шкале например от 1 до 100

      Расширенная_числовая_прямая вот афинное расширение


      1. Jijiki
        26.06.2025 10:29

        так если пустить луч в сцену до обьекта шар - сфера из центра окна, то путь который будет проходить луч будут точки лежащие на этом луче, это и есть промежуток из точек от центра екрана до сферы, можно пустить луч(дистанция) из центроида камеры, до сферы(просто интервал это 1д в 3д всё похоже же)

        Если a и b - это точки, то как их разность может быть числом? Это просто разность элементов - аффинный вектор

        из примера выше [1,5] = (5 - 1)/(100 - 1) = 0.0404 ,

        мне после 3д напомнило Линейная_интерполяция


    1. dmagin Автор
      26.06.2025 10:29

      Интервалы могут быть замкнутыми или открытыми. Если вспомнить об этом, то никаких проблем с границами не будет. Открытые не содержат свои границы, замкнутые - содержат.

      Вы так и не поняли разницу между интервалами и точками.

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


      1. wataru
        26.06.2025 10:29

        Вы так и не поняли разницу между интервалами и точками.

        Нет, я ее даже указал. Интервал - это множество точек. Точка != множество, даже если множество из одного элемента. Их никак не спутать. {4} - это интервал от 4 до 4. 4 - это число 4.

        А что насчет базисов вашего пространства? Вот вы уже много раз написали, что у вас отрезки-вектора - это разность точек. Ранее вы очень язвительно заявляли, что пространство одномерное, какое еще оно может быть. Но разность точек 4-3 и точек 2-1 - это один и тот же вектор длины 1 направленный вправо. Т.е. у вас двум разным орезкам ставится в соотвествие один и тот же вектор.

        Если вы в ваш последний пример вместо a,b,c,d,e,f подставите конкретные точки 1,2,3,4,5,6 - как оно будет работать?


    1. dmagin Автор
      26.06.2025 10:29

      Опять же, вот есть у вас отрезок [1,2] и его форма (2-1)*(2-1). Я помню, что это не арифметические операции, а векторные. Но вот проблема выше осталась, для отрезка [3,4] 4-3 будет точно тем же аффинным вектором. Поэтому его биллинейная форма (4-3)*(4-3) будет точно тем же элементом из множества бивекторов.

      На это отвечу. Может, еще кто запутался (хотя уже немного комичная ситуация - героем Ералаша себя ощущаю).

      Отрезок [1, 2] образован элементами пространства (а не скалярами). Он по сути то же самое, что отрезок, образованный буквами [a, б]. Его граничное представление (вектор) - это разность элементов (точек) пространства (а не чисел). Поэтому два аффинных вектора [1, 2] == [1 - 2] и [3, 4] == [3 - 4] никак совпасть не могут. Так же как не могут совпасть векторы "а - б" и "г - д". Если связать два вектора в форму - ничего не меняется.

      Ну и на всякий - в данной статье нет никаких бивекторов. Про бивекторы я писал во внешней алгебре.


      1. wataru
        26.06.2025 10:29

        Его граничное представление (вектор) - это разность элементов (точек) пространства

        Признаю, я запутался. Похоже вы имеете под "аффинным вектором" что-то совсем другое, а не свободные вектора в аффинном пространстве. Или я плохо понимаю аффинные пространства.

        Давайте v1=а-б и v2=г-д рассмотрим. В аффинном пространстве можно отложить любой вектор от любой точки (потому что согласно определению определена операция сложения точки и вектора, дающая точку). Давайте подумаем вместе, чему равно д+v1? Это какая-то точка, т.е. буква. Обозначим ее x. Согласно аксиоме 3 аффинного пространства между любыми двумя точками существует только один вектор равный их разности. А значит v1 = x-д. Т.е. отрезок [a-b] равен отрезку [x-д]. Я логично предполагаю, что x тут - это г. Но вообще вы можете задать вашу операцию сложения и не натуральным методом. В любом случае тут 2 равных вектора для 2 разных отрезков.


        1. Jijiki
          26.06.2025 10:29

          нет потомучто они должны лежать в 1 точке а вы показали 2 разных точки, вы сравнили их величины? так величина это длина вектора, а координаты это когда интервал или 2 координаты(x и y, в случае принципиального 1д это 2 вектора должны точно совпасть точками) точки совпали поэтому выше написано

          ([1,2]==[1-2])!=([3,4]==[3-4])

          ааааа, по минусам я понял

          я тогда и сейчас могу доказать почему вы не правы

          v1=[а,б] и v2=[г,д]

          рассмотрим этот случай относительно O

          и тогда ваши вектора разные большая точка

          тоесть банально v2 > v1

          хотя их длины равны но координаты разные же

          давайте еще конкретнее)))

          [0,1]==[99,100]?

          другими словами спидометр покажет 1 или 100 что больше и так ли это является ли это интервалом?


        1. Jijiki
          26.06.2025 10:29

          есть вектор a(3,2,1) b(1,2,3) c;

          тоесть вы узнали длину bl=3.7

          6.7+5.7+4.7=17.1=x-3.7=13.4

          есть вектор a(3,2,1) b(1,2,3) c(1,2,3) d(3,2,1);

          e=b-a=-2,0,2 от а до б есть множество точек же

          g=d-c=2,0,-2

          x(7,6,5)-


          1. wataru
            26.06.2025 10:29

            Не мешайте нам, пожалуйста, обсуждать математику. Идите занимайтесь своей 3д графикой где-нибудь еще.


            1. Jijiki
              26.06.2025 10:29

              так вот учусь у лучших у вас


        1. Jijiki
          26.06.2025 10:29

          у вас пример не точно описан, простите пожалуйста!, если есть возможность распишите что и как вы суммируете или вычитаете


          1. wataru
            26.06.2025 10:29

            Возьмем 3 точки a,b,c из аффинного пространства. Брем v = a-b. В терминологии автора - это аффинный вектор. Вектор можно отложить от точки. Отложим его от точки c: d=c+v=c+a-b. Это же барицентрическая комбинация, упомянутая автором. Она дает точку. Так что объект d - это такая же точка, как a,b и c.

            Раз d и c - это точки, то можно взять их разность u=d-c. Это тоже вектор. Но вот какая штука, если d-c=u и c+v=d, то u=v. вот мы получили два совпадающих вектора на точках a,b и c,d. Т.е. два разных отрезка [a,b] и [c,d] в разностной записи совпадают.

            В числах, если вы абстрактные рассуждения не воспринимаете: возьмем точки 2 и 1. Вычтем: 2-1 = (1). Вектор направленный вправо длины 1. Напоминаю, у нас тут одномерное пространство по словам автора. Отложим вектор (1) от точки 3. Получим точку 4. Итого, 4-3 = (1) и 2-1 = (1). Два разных отрезка представляются одним и тем же вектором (1).


            1. Jijiki
              26.06.2025 10:29

              ну я лично считаю это исчерпывающе - браво



            1. Jijiki
              26.06.2025 10:29

              Скрытый текст
              xn {1     2    3     4    5     6    7     8   }
              l  {0.075,0.05,0.025,0.05,0.075,0.05,0.025,0.65}
              v  {0     1    2     3    4     5    6     7   }// ну предположим
              o  {1}// предположим
              
              x = sum(li*xni)=6.5
              
              p = o+sum(li*vi)=6.5
              
              .wikipedia.org/wikiAffine_space
              

              вот у меня такой пример получился


        1. dmagin Автор
          26.06.2025 10:29

          Тут уже не столько про интервалы вопрос, сколько про свойства аффинного пространства.

          Давайте внимательнее. Если вы взяли в качестве шкалы (оси, пространства) буквы алфавита, то точками в нем являются границы между буквами. А буквы являются интервалами. Можно даже усилить - базовыми (или базисными) интервалами. Поэтому сложение (разность) букв тут будет сложением (разностью) интервалов, а не точек. То есть не является аффинным вектором. (Можно, конечно, считать точками сами буквы, но мне сложно представить, что находится между буквами 'a' и 'б').

          А вот такие векторы вполне себе возможны: v1 = [a - б], - это границы (вектор) интервала (a, б) и v2 = [г - д]. Соответственно, можно определить и точку x = [д + v1 (я просто адаптирую ваш пример). Это не буква (буквы, как мы помним - это интервалы) - это точка, (граница) на шкале. Отсюда следует, что v1 = [д - x, да. И соответственно v1 = [a - б] = [д - x. Откуда следует, что "один и тот же вектор можно задать разностями разных точек". Именно поэтому такие векторы называют иногда свободными.

          Без специальных допущений точку x невозможно спроецировать на базисные точки оси. Это независимая точка (то есть наоборот - зависимая от базиса) пространства, определенная как линейная комбинация базисных точек (в данном случае - границ между буквами). В алфавите - 33 буквы (и 34 границы-точки), то есть возможна точка, определенная как комбинация всех 34-х базисных точек.

          Но при желании вы можете создать линейный алфавит, который будет задан всего двумя точками. Например, так: x(t) = [a*(1-t) + я]*t, - здесь t - скалярный параметр. Это заведомо барицентрическая комбинация точек, которую можно интерпретировать и как уравнение прямой. Тогда можно считать (задать), что все остальные точки (границы букв) - это линейные комбинации всего двух точек.


          1. wataru
            26.06.2025 10:29

            Поэтому сложение (разность) букв тут будет сложением (разностью) интервалов, а не точек. То есть не является аффинным вектором.

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

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

            Но вы раньше писали, что пространство одномерное.

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

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

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

            Как раз так делать нельзя, ибо у вас будет одномерное линейное пространство. Соответственно, тут отрезки одинаковой длины будут давать одну и ту же разность.


            1. dmagin Автор
              26.06.2025 10:29

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

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

              Для простоты возьмем три точки a, b, c. Общепринято, что три точки задают пространство плоскости (вообще-то надо 4 точки, но не будем щас в это углубляться). Пространство в данном случае - это множество точек, которые можно задать как (барицентрические) линейные комбинации базиса. Ну то есть это все точки вида x = x_a a + x_b b + x_c c, где [x_a, x_b, x_c] - скаляры. Геометрически 3 точки - это треугольник с неизвестными длинами сторон (метрики нет).

              Так задается неориентированное (аффинное) пространство. Поскольку оно неориентированное, то мы не можем в данном пространстве задать интервал двумя точками-границами. Ну как в треугольнике определить какую-то область 2-мя точками? Никак.

              Но ситуация меняется, если мы добавляем условие (требование) ориентации, или упорядоченности базиса и пространства, который он задает. Например, мы говорим, что для вершин треугольника выполняется a < b < c. Более того, поскольку пространство должно быть упорядочено, то мы должны уметь сравнивать две любые его точки на больше-меньше. Это достаточно сильное требование. Которое убирает из пространства (треугольника) все точки кроме отрезков (линий), соединяющих вершины треугольника. Точки внутри отрезков (a, b) и (b, c) - упорядочены. Кроме того, поскольку b > a, то все точки из отрезка (a, b) меньше точек отрезка (b, c).

              А вот точки отрезка (a, c) пропадают из пространства. Поскольку данные точки мы не можем сравнить с точкой b - мы не знаем, больше они или нет. Пока все понятно?

              Итого, как только добавляется требование упорядоченности базиса, наше прекрасное двумерное пространство схлопывается до 4-х линий - до точки a, от a до b и т.д. Это необязательно прямые. Это множества (линии, если пространство непрерывно), на которых две точки (границы) задают интервал. Базис при этом остается 3-х точечным. Линия (a, b) никак не определяет линию (b, c) и наоборот. А линии (a, c) - не существует. Точнее она становится совокупностью двух линий (a, b) + (b, c). Вектор (a - c) есть, а вот точек вида x(t) = (1 - t) a + t c - нет. Мы не можем их сравнить с точкой b, => они не поддаются упорядочиванию, => они не входят в упорядоченное пространство.

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

              Добавим еще для полноты, что направленное одномерное пространство может быть замкнутым ("после декабря идет январь", или в треугольнике добавили линию (a, c)). При задании направления на такой циклической шкале две точки вполне себе определяют интервал между ними.

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


              1. wataru
                26.06.2025 10:29

                Почему мы называем шкалу одномерной, хотя на ней куча независимых (базисных) точек-границ.

                Вот независимость надо отдельно указать. Явного указания на это и не хватает в статье. Вот давайте к шкале времени вернемся. Ну логично же, что если a=1 час b=3 часа, то c=0.5a+0.5b=2 часа. Ведь оно же ровно по середине между ними на шкале. Это натуральная операция сложения точек веремени, дающая в результате точку же времени. Если вы используете как-то по другому определенную операцию сложения, надо это определение в статье и дать.

                Общепринято, что три точки задают пространство плоскости

                Только если эти точки линейно не зависимы.
                Вот возьмем 3 точки: a, b, и c = 0.5a+0.5b. Это же 3 точки. Не получается плоскость, как их не складывай. Т.е. все начинается от опрерации сложения. Его вам и нужно определить и объяснить явно.

                Но ситуация меняется, если мы добавляем условие (требование) ориентации,

                Вот в непрерывном случае это особенно хорошо видно. Ориентация идентична заданию одномерного пространства и все точки на шкале соответствуют k*e, где скаляр k определяет положение точки на шкале и задает порядок. Т.е. любое одномерное аффинное пространство уже ориентировано и ничего не меняется.

                Резюмируем. Направленное одномерное аффинное пространство - это совокупность связанных ненаправленных пространств (интервалов, линий)

                Вот тут вообще не понятно. Это в вашей голове наверно изящно и математически строго смотрится, но мне так не кажется.

                Аффинное пространство - это множество точек и множество векторов с определенной на них операцией сложения, удовлетворяющей каким-то аксиомам (из которых выводятся барицентрические комбинации, например). Мерность определяется тем, какие точки можно представить в виде линейной комбинации других точек, т.е. исключительно операцией сложения. Есть там порядок или нет - не влияет на мерность.

                Если у вас пространство одномерное, то все точки в пространстве можно получить линейной комбинацией двух базисных точек. Коэффициенты этих комбинаций можно использовать для определения порядка, например. Так что любое одномерное аффинное пространство уже фактически направленное.

                Оно ни на что не распадается. Шкала, она же числовая прямая - одномерное и ориентированное аффинное пространство.

                Мерность пространства - это не сколько точек в базисе, а сколько нужно точек, чтобы задать область (множество между границами).

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

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

                Это не аффинное пространство. Если оно одномерное, то любая точка там представима в виде x0+k*v0 (x0 - точка, v - базисный вектор, k - произвольный коэффциент). Если оно замкнутое, то есть какие-то 2 совпадающие точки из разных циклов. Допустим, эти точки имеют коэффициенты k1 != k2, тогда x0+k1*v0=x0+k2*v0, т.е. (k1-k2)*v0 = 0 (нулевой вектор). Т.е. v0=0. Но базисный вектор v не может быть нулевым.

                Я полагаю, вы тут в качестве пространства берете не шкалу времени как таковую, а некоторую абстрактную вещь, где точки - это множество всех барицентрических комбинаций 12 границ месяцев, т.е. эти 12 границ месяцев - это базисные точки в этом пространстве, а значит оно 11-мерное. И все точки оттуда, кроме 12 базисных не лежат на прямой времени.

                И еще граф-дерево тоже внезапно оказывается одномерным

                Верю. Это скорее одномерный объект, но это не аффинное пространство. Перечиатйте уже общепринятые определения, хоть свой perplexity.ai спросите. Аффинное пространство - это множество аффинных точек, векторное пространство, и опрерация их сложения. Что у вас в за множество точек, векторов и какова операция их сложения в графе-дереве? Думаю, можно построить некоторое соответствие чему-то из гарфа какому-то аффинному пространству. Но если вы тут опять возьмете в качестве базисных точек вершины графа, пространство будет не одномерным.

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


                1. Jijiki
                  26.06.2025 10:29

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

                  тоесть x(6-x)=и тут ваш расчет ускоренный на интервалах, например

                  Скрытый текст

                  а хотя можно наверно и интервал в интервал если проверяем 2 линии

                  ваш пример a б и д г вы сможете классифицировать что вы хотите сделать? пересекаются они или нет или что вы хотите?


                  1. wataru
                    26.06.2025 10:29

                    Повторю другого оратора. Хватит вставлять свои неуместные 5 копеек.


                    1. Jijiki
                      26.06.2025 10:29

                      уже уместные, просто не понятно что вы выясняете если это доступно известно

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

                      тоесть банально принадлежность точка на интервале или нет

                      a ≤ x ≤ b

                      в статье пример есть 1 3

                      2 войдёт в интервал всё что мы дальше должны искать?

                      вон целые проверки с нулями помойму вообще исчерпывающе

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


                      1. Jijiki
                        26.06.2025 10:29

                        расширим задачу, вобщем линейка частный случай


          1. wataru
            26.06.2025 10:29

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

            И еще, термина "аффинный вектор" не существует. Есть просто "вектор", потому что в аффинных пространствах фигурируют самые обычные вектора из самых обычных векторных пространств.


            1. Jijiki
              26.06.2025 10:29

              вы правильно заметили и оно везде так даже в скелете в блендере, матрица 1 а точек две и они в линейности ), это вы не захотели смотреть просто где это есть)(еще раз освежу ту ситуацию значит размер 3д а кость начало и конец) - и у ней матрица 1) ну и они связаны в последовательности вот так вот) вот такие дела


  1. Flokis_guy
    26.06.2025 10:29

    В статье допущена ошибка по которой многие утверждения выглядят бредово.

    Достаточно было указать: "Мы рассматриваем только интервалы с лебеговой мерой не равной нулю". И тогда бы некоторых вопросов не было.

    А так:

    Второе и, пожалуй, главное, что следует уяснить. Интервал и точки - это два разных типа данных.

    В чем отличие интервала от точки? В размере, - у интервала есть конечный размер, у точки нет.

    Вырожденный интервал ([a,a]) по определению равен точке, а значит и точка равна ему. И имеет лебегову меру равную нулю, как и точка. Также в рамках топологии/анализа мы рассматриваем часто выпуклые множества, коим вырожденный интервал и является. Следовательно оба ваши утверждения не верны.

    Поэтому (внимание!) - вопрос о том, принадлежат ли интервалу его границы - не имеет особого смысла. Я бы давал на такой вопрос ответ Неопределено, - можно считать, что принадлежит, а можно и нет.

    Ну поэтому часто используют компактные множества в доказательствах, а не открытые, к примеру. Но что они понимают...


    1. dmagin Автор
      26.06.2025 10:29

      Почти адекватное замечание, если бы не этот наброс - "утверждения выглядят бредово".

      рассматриваем только интервалы с лебеговой мерой

      Ну да, нам тут еще одного термина как раз не хватало - "лебеговой меры". А то с аффинными-то векторами все уже освоились. Да и не нужна тут пока никакая ни мера, ни метрика, не надо усложнять. Как задать метрику, считать длины интервалов - можно отдельно разбирать, если кому интересно.

      Вырожденный интервал ([a,a]) по определению равен точке, а значит и точка равна ему. 

      Если 'a' - это точка пространства, то у нее нет границ, соответственно бессмысленны выражения как '[a', так и 'a]'. Если 'a' - это интервал, то он по определению не может равняться точке.

      Если мы хотим задать интервал парой границ, которые совпадают (и равны a), то он будет нулевым (пустым): a - a = 0


      1. Jijiki
        26.06.2025 10:29

        потомучто точка это нулевая размерность? Размерность_пространства


        1. dmagin Автор
          26.06.2025 10:29

          потому что точка это нулевая размерность?

          Бинго!


      1. Flokis_guy
        26.06.2025 10:29

        Если 'a' - это точка пространства, то у нее нет границ

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

        Следовательно, в евклидовой топологии каждая точка замкнута, но не открыта, поэтому ее граница - это она сама.

        Разница между определением множеств существует. К примеру в нашем случае (a,a) является пустым множеством, поэтому не равно точке a. А вот [а,а] уже не пустое множество, и имеет в себе одну точку а, следовательно оно равно точке а.

        Если мы хотим задать интервал парой границ, которые совпадают (и равны a), то он будет нулевым (пустым): a - a = 0

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


        1. dmagin Автор
          26.06.2025 10:29

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

          Давайте расскажите им про "евклидовы топологии", "компактные пространства" и "замкнутые, но не открытые точки". Хотя наши, может, и выслушают с интересом, - они воспитанные ).

          Я уже писал в статье, что "множество точек (границ)" само может образовывать направленную шкалу и становиться таким образом интервалами (это про ваш пример с [a, a]). Но простым людям ни к чему такие навороты.


  1. ksal223
    26.06.2025 10:29

    А можно ссылки на литературу, которой пользовались?


    1. dmagin Автор
      26.06.2025 10:29

      Это хороший вопрос. Если бы я мог что-то порекомендовать, - я бы сделал это в статье. Сам давно не брал в руки учебников. В старых вряд ли про связь интервалов и линейной алгебры есть. То, что обычно пишут про "аффинное пространство" по форме верно, но слишком формально без примеров "на земле", так что новичку там не за что зацепиться. Когда уже представляешь, о чем речь, - тогда понятно, что хотели сказать авторы.

      В википедиях написана ерунда. Ну то есть что-то условно правильное, но бесполезное. Даже в английской. В русской "интервалы - это числовые промежутки". Ну как бы должно быть наоборот - "числовые промежутки - это интервалы", поэтому "дальше можно не читать".

      Возможно в англоязычной литературе что-то есть. Глянул в той, что мне доступна - не нашел ничего, что мог бы посоветовать. В общем-то поэтому и написал на хабре, чтобы хоть что-то было.

      Возможно, кто-то лучше ориентируется и сможет посоветовать что-то годное.


    1. Jijiki
      26.06.2025 10:29

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

      свойства промежутка интервала придётся нагуглить

      тоесть точки принадлежащие прямой - промежутку - интервалу например от 1 до 10 например одномерное


    1. Jijiki
      26.06.2025 10:29

      Real Time Collision Detection 448 страница

      еще на всякий случай посмотрите J. O'Rourke Computational geometry in C красненькая такая

      по структурам Седжвик там когда будут вопросы есть обзоры тоже

      еще бы посоветовал бы интерполяция(quadric/cubic) и Curve(вся глава включая что и как) чуйка подсказывает что тут сегменты схожы с кривыми безье, ну и уже стандарт raycast(вся глава так сказать) частный случай


  1. wataru
    26.06.2025 10:29

    Еще одно внутреннее противоречие вашей алгебры: пусть у нас есть точки а, б, в ... я, на которых мы строим интервалы. Это точки аффинного пространства, я же не путаю ничего? Вы ведь их разности берете и получаете вектор. Еще вы упоминали барицентрические комбинации точек. Вот что за точка 0.5а+0.5б?


    1. dmagin Автор
      26.06.2025 10:29

      Это про свойства аффинного пространства и линейных комбинаций элементов речь (с интервалами не связано). Мне кажется, что на этот вопрос я ответил выше.

      Вот есть "Вася", а есть "Петя". А что такое ("Вася" + "Петя")/2? Это может оказаться Сережа, определенный на базисе из двух элементов. И тут отдельный целый мир.


    1. Jijiki
      26.06.2025 10:29

      Барицентрические_координаты тут прям конкретно пример с базисом и в условиях афинного пространства конкретно описано свойство


      1. Jijiki
        26.06.2025 10:29

        Аффинное_пространство тут прям с примерами


        1. Jack-Smith
          26.06.2025 10:29

          Ты можешь перестать вставлять свои ненужные и неуместные 5 копеек?


    1. Jijiki
      26.06.2025 10:29

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

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

      тоесть что значит что вы нашли 2 единичных величины, что значит что имеется уже интервал от а до я, что значит афинный вектор, что значит интервал, вся эта трактовка принципиальна

      вот к чему я пришел, пришел к этому потомучто имел дело с написанием математической библиотеки, готов к минусам если что