hs.canvas.matrix
Подмодуль для hs.canvas, предоставляющий поддержку основных операций с матрицами, которые могут использоваться в качестве значений атрибутов transformation в модуле hs.canvas.
По математическим причинам, выходящим за рамки данного документа, 3x3 матрица может использоваться для представления последовательности преобразований, применяемых к координатам двумерного объекта черчения. Эти преобразования могут включать одно или несколько из комбинаций трансляций, вращений, сдвига и масштабирования. Внутри 3x3 матрицы фактически требуются только 6 чисел, и этот модуль представляет их как следующие ключи в таблице Lua: m11, m12, m21, m22, tX, и tY. Для математически настроенных пользователей, 3x3 матрица, используемая в данном модуле, может быть визуализирована следующим образом:
[ m11, m12, 0 ]
[ m21, m22, 0 ]
[ tX, tY, 1 ]
Этот модуль позволяет генерировать таблицу, которая может представлять одно или несколько известных преобразований, не требуя понимания математики, лежащей в основе преобразований, или непосредственного указания значений матрицы.
Многие методы, определённые в этом модуле, могут использоваться как в качестве конструкторов, так и в качестве методов, присоединённых к предыдущему методу или конструктору. Цепочечное применение методов таким образом позволяет объединить несколько преобразований в одну объединённую таблицу, которую затем можно присвоить элементу вашего холста.
Для получения дополнительной информации о математике, лежащей в основе этих преобразований, вы можете обратиться к сети Интернет. Один из сайтов, используемых в качестве ссылки (хотя существуют и другие, более подробные), находится по адресу http://www.cs.trinity.edu/~jhowland/cs2322/2d/2d/.
Обзор API
- Конструкторы - вызовы API, возвращающие объект, обычно с методами API
- Методы - вызовы API, которые могут быть выполнены только над объектом, возвращённым конструктором
Документация API
Конструкторы
identity
| Подпись | hs.canvas.matrix.identity() -> matrixObject |
|---|---|
| Тип | Конструктор |
| Описание |
Определяет единичную матрицу. Сбрасывает все существующие преобразования при применении в качестве метода к существующему объекту матрицы. |
| Параметры |
|
| Возвращаемые значения |
|
| Примечания |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 15 |
Методы
append
| Подпись | hs.canvas.matrix:append(matrix) -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Присоединяет указанные преобразования матрицы к матрице и возвращает новую матрицу. Этот метод не может быть использован как конструктор. |
| Параметры |
|
| Возвращаемые значения |
|
| Примечания |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 66 |
invert
| Подпись | hs.canvas.matrix:invert() -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Генерирует математическое обратное значение матрицы. Этот метод не может быть использован как конструктор. |
| Параметры |
|
| Возвращаемые значения |
|
| Примечания |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 43 |
prepend
| Подпись | hs.canvas.matrix:prepend(matrix) -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Добавляет указанные преобразования матрицы к матрице и возвращает новую матрицу. Этот метод нельзя использовать в качестве конструктора. |
| Параметры |
|
| Возвращает |
|
| Примечания |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 91 |
rotate
| Подпись | hs.canvas.matrix:rotate(angle) -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Применяет поворот на указанное количество градусов к матрице преобразований. Этот метод можно использовать в качестве конструктора или метода. |
| Параметры |
|
| Возвращает |
|
| Примечания |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 116 |
scale
| Подпись | hs.canvas.matrix:scale(xFactor, [yFactor]) -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Применяет преобразование масштабирования к матрице. Этот метод можно использовать в качестве конструктора или метода. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 148 |
shear
| Подпись | hs.canvas.matrix:shear(xFactor, [yFactor]) -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Применяет преобразование сдвига к матрице. Этот метод можно использовать в качестве конструктора или метода. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 181 |
translate
| Подпись | hs.canvas.matrix:translate(x, y) -> matrixObject |
|---|---|
| Тип | Метод |
| Описание |
Применяет преобразование смещения к матрице. Этот метод можно использовать в качестве конструктора или метода. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/canvas/libcanvas_matrix.m строка 220 |
© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.canvas.matrix.html