DOMMatrixReadOnly: метод toFloat32Array()
Базовая поддержка Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Метод toFloat32Array() интерфейса DOMMatrixReadOnly возвращает новый массив Float32Array, содержащий все 16 элементов (m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44), составляющих матрицу. Элементы хранятся в массиве как числа с плавающей точкой одинарной точности в порядке следования столбцов (колексографический доступ, или "colex"). (Другими словами, сначала первый столбец сверху вниз, затем второй столбец и так далее.)
Для чисел с плавающей точкой двойной точности см. DOMMatrixReadOnly.toFloat64Array().
Синтаксис
DOMMatrixReadOnly.toFloat32Array()
Параметры
Нет.
Возвращаемое значение
A Float32Array; массив значений 16 элементов матрицы.
Примеры
Базовое использование
const matrix = new DOMMatrixReadOnly();
const float32 = matrix.translate(20, 30, 50).toFloat32Array();
console.log(float32); // Float64Array(16) [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 20, 30, 0, 1 ] ]
console.log(`m41: ${float32[12]}, m42: ${float32[13]}, m43: ${float32[14]}`); // m41: 20, m42: 30, M44: 40
Одинарная точность
Существует несколько способов доступа к значениям матрицы. В этом примере матрица вращается на 30 градусов, а сохранённое состояние вращения сохраняется как JSON-объект с помощью метода DOMMatrixReadOnly.toJSON() и как массив одинарной точности с помощью метода toFloat32Array().
const matrix = new DOMMatrixReadOnly();
const json = matrix.rotate(30).toJSON();
const float32 = matrix.rotate(30).toFloat32Array();
console.log(`a: ${json["a"]}, b: ${json["b"]}`); // a: 0.8660254037844387, b: 0.49999999999999994
console.log(`a: ${float32[0]}, b: ${float32[1]}`); // a: 0.8660253882408142, b: 0.5
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
toFloat32Array |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrixReadOnly/toFloat32Array