Удаляет точку, когда она повторяет стоящую прямо перед ней; та же точка дальше сохраняется.
При включенном checkFirstAndLast последняя точка, повторяющая первую, тоже отбрасывается. Точки в пределах tolerance друг от друга считаются одинаковыми.
Пример: [[0,0,0], [0,0,0], [1,0,0], [1,0,0], [2,0,0]] -> [[0,0,0], [1,0,0], [2,0,0]]
Точки, допуск и сравнивать ли первую и последнюю
Точки без подряд идущих повторов
Строит 3D-точку из ее значений x, y и z.
Пример: x=10, y=5, z=3 -> [10,5,3]
Три значения
Точка [x, y, z]
Строит 2D-точку из ее значений x и y.
Пример: x=10, y=5 -> [10,5]
Два значения
Точка [x, y]
Расставляет точки вдоль логарифмической спирали в плоскости XY, от начала координат наружу до radius.
numberPoints задает, сколько точек размещается, phi и widening - как быстро спираль раскрывается, а factor - где вдоль кривой она начинается. У каждой точки z = 0.
Число точек, радиус и форма спирали
Точки вдоль спирали, от центра наружу
Расставляет центры сот из шестиугольников в плоскости XY.
radiusHexagon - расстояние от центра шестиугольника до угла; столбцы идут вдоль X, а ряды вдоль Y, каждый второй ряд сдвинут на половину столбца. orientOnCenter центрирует сетку на начале координат, pointsOnGround кладет ее на плоскость XZ.
Размер шестиугольника, сколько столбцов и рядов, и где разместить сетку
Центральные точки, ряд за рядом
Расставляет соты из шестиугольников, заполняющие заданные ширину и высоту, подбирая размер шестиугольников по числам.
Результат несет центральные точки и шесть углов каждого шестиугольника. Угол смотрит вверх, если не установлен flatTop; флаги растяжения вытягивают внешние ряды за края, чтобы покрыть прямоугольник без зубчатой границы.
Заполняемая область, число шестиугольников, ориентация и параметры размещения
Центры и угловые точки каждого шестиугольника
Находит направление под прямым углом к плоскости через три точки, длиной 1.
Направление следует правилу правой руки при обходе от первой точки ко второй и к третьей; reverseNormal переворачивает его. У точек на одной прямой нет плоскости, так что результат undefined.
Пример: [0,0,0], [1,0,0], [0,1,0] -> [0,0,1]
Три точки и обращать ли результат
Единичная нормаль или undefined, если точки лежат на одной прямой
Находит наименьший выровненный по осям бокс, содержащий все точки.
Результат несет углы min и max, центр, а также ширину (X), высоту (Y) и длину (Z). Пример: точки [[0,0,0], [10,5,3]] -> min [0,0,0], max [10,5,3], центр [5,2.5,1.5]
Ограничивающий бокс с его углами, центром и размерами
Измеряет расстояние от точки до ближайшей точки в списке.
Пример: точка [0,0,0] и точки [[5,0,0], [10,0,0], [3,0,0]] -> 3
Точка, от которой измерять, и точки для поиска
Расстояние до ближайшей точки в единицах модели
Находит позицию ближайшей точки в списке, считая с 1.
Пример: точка [0,0,0] и точки [[5,0,0], [10,0,0], [3,0,0]] -> 3
Точка, от которой измерять, и точки для поиска
Индекс ближайшей точки, начиная с 1
Находит ближайшую точку в списке к заданной точке.
Пример: точка [0,0,0] и точки [[5,0,0], [10,0,0], [3,0,0]] -> [3,0,0]
Точка, от которой измерять, и точки для поиска
Ближайшая точка
Находит среднее точек, что является их центром масс, когда они весят одинаково.
Пример: [[0,0,0], [10,0,0], [10,10,0]] -> [6.67,3.33,0]
Средняя точка
Находит наибольшее скругление, умещающееся в угол: дуга касается обоих отрезков и остается внутри них.
Угол - это end; start и center - дальние концы двух отрезков, сходящихся там. Радиус ограничен более коротким отрезком. Прямой или сложенный обратно угол, или отрезок короче tolerance, дает 0.
Дальний конец каждого сегмента, общий для них угол и допуск
Наибольший радиус скругления в единицах модели
Находит наибольшее скругление в углу, дуга которого касается каждого отрезка в его ближней половине, так что соседние углы полилинии можно скруглить по отдельности без перекрытия дуг.
Угол - это end; start и center - дальние концы двух отрезков. Прямой или сложенный обратно угол, или отрезок короче tolerance, дает 0.
Дальний конец каждого сегмента, общий для них угол и допуск
Наибольший радиус скругления по правилу половины сегмента в единицах модели
Находит наибольшее скругление для каждого угла полилинии, каждое ограничено ближней половиной его отрезков, так что скругления никогда не перекрываются.
При включенном checkLastWithFirst полилиния считается замкнутой, и два угла на концах включаются. Меньше трех точек дают пустой список.
Точки полилинии, замкнута ли она, и допуск
По одному радиусу на каждый угол, в порядке углов
Находит один радиус скругления, подходящий каждому углу полилинии: наименьший из максимумов по углам по правилу половины отрезка.
При включенном checkLastWithFirst полилиния считается замкнутой. Меньше трех точек, или любой угол, не допускающий скругления, дают 0.
Точки полилинии, замкнута ли она, и допуск
Радиус, который подходит для каждого угла, в единицах модели
Измеряет расстояние по прямой между двумя точками.
Пример: [0,0,0] к [3,4,0] -> 5
Две точки
Расстояние в единицах модели
Измеряет расстояние от одной точки до каждой точки в списке.
Пример: начало [0,0,0] и конечные точки [[3,0,0], [0,4,0], [5,0,0]] -> [3, 4, 5]
Начальная точка и точки, до которых измерять
По одному расстоянию на каждую конечную точку, в том же порядке
Сообщает, ближе ли друг к другу две точки, чем допуск.
Пример: [1.0000001, 2, 3] и [1, 2, 3] с допуском 1e-6 -> true
Две точки и допуск
true, если расстояние между ними меньше допуска
Сортирует точки по X, затем по Y при равных X, затем по Z.
Пример: [[5,0,0], [1,0,0], [3,0,0]] -> [[1,0,0], [3,0,0], [5,0,0]]
Отсортированная копия точек
Применяет матрицу преобразования, или список матриц по порядку, к одной точке.
Пример: точка [0,0,0] с переносом на [5,5,0] -> [5,5,0]
Точка и применяемое преобразование
Преобразованная точка
Применяет одну и ту же матрицу преобразования, или список матриц по порядку, к каждой точке.
Пример: пять точек с поворотом на 90 градусов -> все пять повернуты вместе
Точки и преобразование, применяемое к каждой
Преобразованные точки, в том же порядке
Применяет к каждой точке свое преобразование: первое преобразование к первой точке и так далее.
Оба списка должны быть одной длины, иначе выбрасывается ошибка. Пример: три точки с тремя переносами -> каждая точка сдвинута своим переносом
Точки и по одному преобразованию на точку
Преобразованные точки, в том же порядке
Сдвигает каждую точку на один и тот же вектор.
Пример: точки [[0,0,0], [1,0,0]] на [5,5,0] -> [[5,5,0], [6,5,0]]
Точки и вектор, на который их переместить
Перемещенные точки, в том же порядке
Сдвигает каждую точку на ее собственный вектор: первую точку на первый вектор и так далее.
Оба списка должны быть одной длины, иначе выбрасывается ошибка. Пример: три точки с тремя векторами -> каждая точка сдвинута своим вектором
Точки и по одному вектору на точку
Перемещенные точки, в том же порядке
Сдвигает каждую точку на заданные величины x, y и z.
Пример: точка [0,0,0] с x=10, y=5, z=0 -> [10,5,0]
Точки и расстояние перемещения вдоль каждой оси
Перемещенные точки, в том же порядке
Масштабирует точки от центра или к нему, со своим коэффициентом на каждую ось.
Пример: точка [10,0,0] относительно центра [5,0,0] с коэффициентами [2,1,1] -> [15,0,0]
Точки, центр масштабирования и коэффициент для каждой оси
Масштабированные точки, в том же порядке
Растягивает точки вдоль одного направления, отсчитывая от центра; расстояния поперек этого направления остаются как есть.
Пример: точка [10,0,0] от центра [0,0,0] вдоль [1,0,0] с масштабом 2 -> [20,0,0]
Точки, центр, направление растяжения и коэффициент
Растянутые точки, в том же порядке
Поворачивает точки вокруг оси, проходящей через центр.
Угол в градусах, поворот против часовой стрелки, когда ось направлена на вас. Пример: точка [10,0,0] вокруг оси Y через [0,0,0] на 90 -> [0,0,-10]
Точки, направление оси, центр, через который она проходит, и угол в градусах
Повернутые точки, в том же порядке
Повторяет одну точку заданное число раз в списке.
Пример: точка [5,5,0] три раза -> [[5,5,0], [5,5,0], [5,5,0]]
Точка и сколько копий сделать
Список копий
Точки как простые массивы чисел. Точка - это
[x, y, z]с осью Y, направленной вверх, той же формы, что и вектор, так что их можно передавать в методы друг друга; 2D-точка - это[x, y]. Каждый метод возвращает новые точки или числа и никогда не изменяет свои входные данные. Углы в градусах, длины в единицах модели.