Применяет к форме матрицу 4x4 или список матриц, применяемых от первой к последней.
Матрица в порядке по столбцам, так что перенос находится в индексах с 12 по 14. Матрица, которая растягивает или сдвигает, допустима; стройте матрицы методами ...ToMatrix и объединяйте их через multiplyTransforms. Матрица, которую ядро не может применить, выбрасывает ошибку.
Форма и матрица или список матриц
Преобразованная форма
const move = await bitbybit.occt.transforms.translationToMatrix({ translation: [10, 0, 0] });
const turn = await bitbybit.occt.transforms.rotationAxisAngleToMatrix({ axis: [0, 1, 0], angle: 90, center: [0, 0, 0] });
const placed = await bitbybit.occt.transforms.transformByMatrix({ shape: box, transformation: [turn, move] });
Применяет одну и ту же матрицу 4x4, или список матриц, применяемых от первой к последней, к нескольким формам, как transformByMatrix для одной.
Формы и матрица или список матриц
Преобразованные формы, в том же порядке
Читает размещение, которое несет форма, преобразование, хранящееся на ней, а не вписанное в ее геометрию, как матрицу плюс ее перенос, кватернион поворота и равномерный масштаб.
Форма, размещенная через align или через сборку, несет такое размещение; большинство других методов здесь вписывают перемещение в геометрию, и такая форма сообщает единичную матрицу.
Форма для чтения
Матрица, перенос, кватернион как [x, y, z, w] и масштаб
Строит единичную матрицу, преобразование, которое ничего не меняет, как отправную точку для составления других.
Единичная матрица, по столбцам
Строит одну матрицу из переноса, трех углов поворота в градусах вокруг X, Y и Z и равномерного масштаба.
Масштаб применяется первым, затем повороты (сначала Z, затем Y, затем X), затем перенос, что является порядком, используемым размещениями в сборках. Любая опущенная часть считается отсутствием изменения.
Перенос, три угла поворота в градусах и коэффициент масштаба
Составная матрица, по столбцам
Сворачивает список матриц в одну, применяемых от первой к последней, так что цепочка перемещений становится одной матрицей.
Одиночная матрица возвращается без изменений, а пустой список дает единичную матрицу.
Матрица или список матриц
Составная матрица, по столбцам
Обращает матрицу, давая преобразование, которое ее отменяет: применение матрицы, а затем ее обратной возвращает форму туда, где она была.
Матрица, которую нужно обратить
Обратная матрица, по столбцам
Строит матрицу перемещения на вектор, в единицах модели.
Вектор переноса
Матрица переноса, по столбцам
Строит матрицу поворота на угол в градусах вокруг оси, через начало координат или через необязательную центральную точку.
Поворот следует правилу правой руки вокруг axis.
Направление оси, угол в градусах и необязательная точка, через которую проходит ось
Матрица поворота, по столбцам
Строит матрицу равномерного масштаба на коэффициент относительно начала координат или необязательной центральной точки.
Коэффициент и необязательная точка, относительно которой масштабировать
Матрица масштабирования, по столбцам
Строит матрицу отражения через точку, преобразование, которое применяет mirrorAboutPoint.
Точка, через которую отражать
Матрица отражения, по столбцам
Строит матрицу отражения относительно прямой, преобразование, которое применяет mirror: ось через origin вдоль direction.
Точка на оси и направление оси
Матрица отражения, по столбцам
Строит матрицу отражения относительно плоскости, преобразование, которое применяет mirrorAlongNormal: плоскость через origin с заданной нормалью.
Точка на плоскости и нормаль плоскости
Матрица отражения, по столбцам
Строит матрицу поворота кватерниона, заданного как [x, y, z, w].
Кватернион сначала нормализуется, так что его длина не имеет значения.
Кватернион
Матрица поворота, по столбцам
Применяет transform к нескольким формам, к каждой со своими переносом, осью поворота, углом и коэффициентом масштаба.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одному переносу, оси поворота, углу в градусах и коэффициенту масштаба на форму
Преобразованные формы, в том же порядке
Применяет rotate к нескольким формам, к каждой вокруг своей оси через начало координат и на свой угол в градусах.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одной оси и углу на форму
Повернутые формы, в том же порядке
Применяет rotateAroundCenter к нескольким формам, к каждой со своими углом в градусах, центром и осью.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одному углу, центру и оси на форму
Повернутые формы, в том же порядке
Применяет align к нескольким формам, к каждой со своими исходной и целевой системами координат.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одной исходной точке, исходному направлению, целевой точке и целевому направлению на форму
Выровненные формы, в том же порядке
Применяет alignAndTranslate к нескольким формам, к каждой со своими направлением и центром.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одному направлению и центру на форму
Размещенные формы, в том же порядке
Применяет translate к нескольким формам, к каждой на свой вектор.
Оба списка должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одному вектору переноса на форму
Перемещенные формы, в том же порядке
Применяет scale к нескольким формам, к каждой равномерно относительно начала координат на свой коэффициент.
Оба списка должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одному коэффициенту на форму
Масштабированные формы, в том же порядке
Применяет scale3d к нескольким формам, к каждой со своими тремя коэффициентами и центром.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одному вектору масштаба и центру на форму
Масштабированные формы, в том же порядке
Применяет mirror к нескольким формам, к каждой относительно своей оси.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одной точке и направлению оси на форму
Отраженные формы, в том же порядке
Применяет mirrorAlongNormal к нескольким формам, к каждой относительно своей плоскости.
Все списки должны быть одной длины, иначе выбрасывается ошибка.
Формы и по одной точке и нормали плоскости на форму
Отраженные формы, в том же порядке
Масштабирует, поворачивает и перемещает форму за один раз: сначала масштаб относительно начала координат, затем поворот вокруг оси через начало координат, затем перенос.
Поскольку масштаб и поворот происходят относительно начала координат, форма, находящаяся не там, также движется вокруг него; сначала переместите ее или используйте rotateAroundCenter и scale3d для выбранного центра.
Форма, перенос, ось и угол поворота в градусах и коэффициент масштаба
Преобразованная форма
Поворачивает форму вокруг оси, проходящей через начало координат, на угол в градусах.
Поворот следует правилу правой руки: при большом пальце вдоль axis пальцы показывают положительное направление. Форма вдали от начала координат движется вокруг него; rotateAroundCenter вместо этого поворачивает вокруг выбранной точки.
Форма, направление оси и угол в градусах
Повернутая форма
Поворачивает форму вокруг оси, проходящей через выбранную точку, на угол в градусах.
Форма перемещается так, чтобы точка оказалась в начале координат, поворачивается там по правилу правой руки вокруг axis и перемещается обратно.
Форма, угол в градусах, точка, через которую проходит ось, и направление оси
Повернутая форма
Перемещает форму так, чтобы одна точка и направление на ней попали на другую точку и направление: система координат fromOrigin с fromDirection переносится на toOrigin с toDirection.
Это способ поставить форму на поверхность или направить ее вдоль линии: форма и перемещается, и поворачивается, но никогда не масштабируется.
Форма, исходные точка и направление и целевые точка и направление
Выровненная форма
Перемещает форму так, чтобы полная система координат на ней попала на другую систему: точка, ее нормаль и одна ось в плоскости этой нормали переносятся на свои цели.
Там, где align фиксирует одно направление и оставляет вращение вокруг него свободным, это фиксирует и вращение, что важно для форм, не круглых относительно своей оси.
Форма, исходные точка, нормаль и ось и целевые точка, нормаль и ось
Выровненная форма
Поворачивает форму так, чтобы ее ось Y смотрела вдоль direction, затем перемещает ее в center.
Плоские формы и примитивы этого пакета строятся на земле с Y вверх, так что это единственный вызов, размещающий любую из них: направление становится их новым верхом, а центр - местом, где они стоят.
Форма, направление, вдоль которого должна смотреть ее ось Y, и точка, в которую ее переместить
Размещенная форма
Перемещает форму на вектор, в единицах модели.
Форма и вектор, на который ее переместить
Перемещенная форма
Масштабирует форму равномерно относительно начала координат на коэффициент.
Форма вдали от начала координат также отдаляется от него или приближается к нему; scaleFromCenter масштабирует относительно выбранной точки, а scale3d масштабирует каждую ось своим коэффициентом.
Форма и коэффициент
Масштабированная форма
Масштабирует форму отдельным коэффициентом вдоль X, Y и Z, относительно выбранной центральной точки.
Неравные коэффициенты растягивают форму, что превращает окружности в эллипсы и может замедлить последующие операции, такие как скругления, или привести к их сбою; держите коэффициенты равными, когда форме нужно только вырасти.
Форма, три коэффициента и точка, относительно которой масштабировать
Масштабированная форма
Отражает форму относительно прямой: оси через origin вдоль direction.
Каждая точка попадает настолько же за прямую, насколько была перед ней, что в 3D то же самое, что полуоборот вокруг этой оси.
Форма, точка на оси и направление оси
Отраженная форма
Отражает форму относительно плоскости, заданной точкой на ней и ее нормалью.
Это обычное зеркальное отражение, какое нужно симметричной детали; результат вывернут в том смысле, что левосторонняя форма становится правосторонней.
Форма, точка на плоскости отражения и нормаль плоскости
Отраженная форма
Масштабирует форму равномерно относительно выбранной точки на коэффициент.
Точка остается на месте, а все остальное отдаляется от нее или приближается к ней.
Форма, коэффициент и точка, относительно которой масштабировать
Масштабированная форма
Отражает форму через точку: каждая точка формы попадает настолько же за точку, насколько была перед ней, с противоположной стороны.
Результат вывернут, как плоское зеркало превращает левую руку в правую.
Форма и точка, через которую отражать
Отраженная форма
Поворачивает форму вокруг начала координат на кватернион, заданный как [x, y, z, w].
Кватернион сначала нормализуется, так что его длина не имеет значения. Кватернионы - это то, что выдают библиотеки анимации и физики, так что это избавляет от преобразования их в ось и угол.
Форма и кватернион
Повернутая форма
Перемещение, поворот, масштабирование и отражение форм OpenCascade и построение матриц 4x4, описывающих такие перемещения. Каждый метод возвращает новую форму и оставляет вход как есть. Углы в градусах, расстояния в единицах модели, а ось поворота проходит через начало координат, если метод не принимает центр. Матрицы - это 16 чисел в порядке по столбцам (перенос находится в индексах с 12 по 14); список матриц применяется от первой к последней как одно составное перемещение, и именно так
transformByMatrixи построители...ToMatrixсочетаются друг с другом.