Превращает отрезок, пару [start, end], в объект линии.
Пример: [[0,0,0], [10,5,0]] -> { start: [0,0,0], end: [10,5,0] }
Сегмент
Линия
Превращает каждый отрезок, пару [start, end], в объект линии.
Пример: три отрезка -> три линии, в том же порядке
Сегменты
По одной линии на сегмент
Строит объект линии из начальной и конечной точки.
Пример: начало [0,0,0], конец [10,5,0] -> { start: [0,0,0], end: [10,5,0] }
Начальная и конечная точки
Объект линии
Строит отрезок, форму линии как пары точек, из начальной и конечной точки.
Пример: начало [0,0,0], конец [10,5,0] -> [[0,0,0], [10,5,0]]
Начальная и конечная точки
Сегмент как [start, end]
Соединяет каждую точку со следующей линией, так что список точек становится цепочкой линий.
Пример: [[0,0,0], [5,0,0], [5,5,0]] -> две линии, от [0,0,0] к [5,0,0] и от [5,0,0] к [5,5,0]
Точки, по порядку
По одной линии на каждую пару соседних точек
Объединяет каждую начальную точку с конечной точкой на той же позиции и соединяет их линией.
Пара, две точки которой совпадают, не дает линии и опускается. Пример: начала [[0,0,0], [5,0,0]] и концы [[0,5,0], [5,5,0]] -> две линии
Начальные точки и конечные точки, в соответствующем порядке
По одной линии на пару, пары нулевой длины пропускаются
Находит точку на доле пути вдоль линии: 0 дает начало, 1 - конец, 0.5 - середину.
Доля вне 0 и 1 продолжается за концы. Пример: { start: [0,0,0], end: [10,0,0] } при 0.5 -> [5,0,0]
Линия и доля вдоль нее
Точка на линии
Находит точку, где пересекаются две линии.
При включенном checkSegmentsOnly пересечение должно лежать в пределах обоих отрезков; при выключенном линии продолжаются без конца. Параллельные линии, линии, проходящие мимо друг друга без встречи, и отрезки, не достигающие друг друга, дают undefined. Допуск говорит, какая близость считается встречей.
Пример: от [0,0,0] к [10,0,0] и от [5,-5,0] к [5,5,0] -> [5,0,0]
Две линии, оставаться ли в пределах сегментов, и допуск
Точка пересечения или undefined, если ее нет
Применяет матрицу преобразования, или список матриц по порядку, к обоим концам линии.
Пример: { start: [0,0,0], end: [10,0,0] }, сдвинутая на [5,5,0] -> { start: [5,5,0], end: [15,5,0] }
Линия и преобразование
Новая линия с преобразованными концами
Применяет к каждой линии свое преобразование: первое преобразование к первой линии и так далее.
Пример: три линии с тремя переносами -> каждая линия сдвинута своим переносом
Линии и по одному преобразованию на линию
Преобразованные линии, в том же порядке
Прямые линии между двумя точками, хранящиеся как простые объекты вида
{ start, end }, и форма сегмента[start, end]того же самого. Методы здесь строят линии, измеряют и преобразуют их, конвертируют между двумя формами, размещают точки вдоль них и находят, где две линии пересекаются. Длины в единицах модели.