Spec-Zone.ru › Hammerspoon

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
    • identity
  • Методы - вызовы API, которые могут быть выполнены только над объектом, возвращённым конструктором
    • append
    • invert
    • prepend
    • rotate
    • scale
    • shear
    • translate

Документация API

Конструкторы

identity
Подпись hs.canvas.matrix.identity() -> matrixObject
Тип Конструктор
Описание

Определяет единичную матрицу. Сбрасывает все существующие преобразования при применении в качестве метода к существующему объекту матрицы.

Параметры
  • Нет
Возвращаемые значения
  • единичная матрица.
Примечания
  • Единичная матрица может рассматриваться как «не применять никаких преобразований» или «отображать как указано».
  • Математически это представлено как:
[ 1,  0,  0 ]
[ 0,  1,  0 ]
[ 0,  0,  1 ]
Источник extensions/canvas/libcanvas_matrix.m строка 15

Методы

append
Подпись hs.canvas.matrix:append(matrix) -> matrixObject
Тип Метод
Описание

Присоединяет указанные преобразования матрицы к матрице и возвращает новую матрицу. Этот метод не может быть использован как конструктор.

Параметры
  • matrix - таблица для присоединения к текущей матрице.
Возвращаемые значения
  • новая матрица
Примечания
  • Математически этот метод умножает исходную матрицу на новую и возвращает результат умножения.
  • Вы можете использовать этот метод, чтобы «накладывать» дополнительные преобразования поверх существующих преобразований, не зная, какие существующие преобразования применяются к элементу холста.
Источник extensions/canvas/libcanvas_matrix.m строка 66
invert
Подпись hs.canvas.matrix:invert() -> matrixObject
Тип Метод
Описание

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

Параметры
  • Нет
Возвращаемые значения
  • обратная матрица.
Примечания
  • Обращение матрицы, представляющей ряд преобразований, имеет эффект обратного или отмены исходных преобразований.
  • Это полезно при использовании с hs.canvas.matrix.append, чтобы отменить ранее применённое преобразование, не заменяя все преобразования, которые могут быть применены к элементу холста.
Источник extensions/canvas/libcanvas_matrix.m строка 43
prepend
Подпись hs.canvas.matrix:prepend(matrix) -> matrixObject
Тип Метод
Описание

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

Параметры
  • matrix - таблица, которую нужно добавить к текущей матрице.
Возвращает
  • новую матрицу
Примечания
  • Математически этот метод умножает новую матрицу на исходную и возвращает результат умножения.
  • Вы можете использовать этот метод для применения преобразования перед текущими применёнными преобразованиями, не зная, какие преобразования действуют для элемента холста.
Источник extensions/canvas/libcanvas_matrix.m строка 91
rotate
Подпись hs.canvas.matrix:rotate(angle) -> matrixObject
Тип Метод
Описание

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

Параметры
  • angle - количество градусов поворота по часовой стрелке.
Возвращает
  • новую матрицу
Примечания
  • Поворот элемента, к которому применяется эта матрица, будет выполняться относительно начала координат. Чтобы повернуть объект вокруг другой точки (например, его центра), добавьте сдвиг в точку поворота, а затем добавьте сдвиг, обратный начальному сдвигу.
    • например hs.canvas.matrix.translate(x, y):rotate(angle):translate(-x, -y)
Источник extensions/canvas/libcanvas_matrix.m строка 116
scale
Подпись hs.canvas.matrix:scale(xFactor, [yFactor]) -> matrixObject
Тип Метод
Описание

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

Параметры
  • xFactor - коэффициент масштабирования, применяемый к объекту по горизонтали.
  • yFactor - необязательный параметр, определяющий другой коэффициент масштабирования по вертикали. Если этот параметр не указан, то параметр xFactor будет использован для обоих направлений.
Возвращает
  • новую матрицу
Источник extensions/canvas/libcanvas_matrix.m строка 148
shear
Подпись hs.canvas.matrix:shear(xFactor, [yFactor]) -> matrixObject
Тип Метод
Описание

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

Параметры
  • xFactor - коэффициент сдвига, применяемый к объекту по горизонтали.
  • yFactor - необязательный параметр, определяющий другой коэффициент сдвига по вертикали. Если этот параметр не указан, то параметр xFactor будет использован для обоих направлений.
Возвращает
  • новую матрицу
Источник extensions/canvas/libcanvas_matrix.m строка 181
translate
Подпись hs.canvas.matrix:translate(x, y) -> matrixObject
Тип Метод
Описание

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

Параметры
  • x - расстояние смещения объекта по горизонтали.
  • y - расстояние смещения объекта по вертикали.
Возвращает
  • новую матрицу
Источник extensions/canvas/libcanvas_matrix.m строка 220

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.canvas.matrix.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API