Тип QML vector4d
Тип vector4d имеет x, y, z и w атрибуты, в остальном он похож на тип vector3d. Дополнительную информацию см. в документации по типу vector3d.
Для создания значения vector4d, укажите его в виде строки "x,y,z,w", или определите компоненты по отдельности, или используйте функцию Qt.vector4d().
Тип vector4d имеет следующие идемпотентные функции, которые можно вызывать в QML:
| Подпись функции | Описание | Пример |
|---|---|---|
| real dotProduct(vector4d other) | Возвращает скалярное вещественное значение результата скалярного произведения this vector4d и other vector4d |
var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.dotProduct(b); console.log(c); // 70 |
| vector4d times(matrix4x4 matrix) | Возвращает результат преобразования this vector4d с помощью 4x4 matrix матрицы, применённой после вектора |
var a = Qt.vector4d(1,2,3,4); var b = Qt.matrix4x4(4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19); var c = a.times(b); console.log(c.toString()); // QVector4D(120, 130, 140, 150) |
| vector4d times(vector4d other) | Возвращает результат умножения this vector4d на other vector4d |
var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.times(b); console.log(c.toString()); // QVector4D(5, 12, 21, 32) |
| vector4d times(real factor) | Возвращает результат умножения this vector4d на скаляр factor |
var a = Qt.vector4d(1,2,3,4);
var b = 4.48;
var c = a.times(b);
console.log(c.toString()); // QVector3D(4.48, 8.96,
13.44, 17.92) |
| vector4d plus(vector4d other) | Возвращает результат сложения this vector4d и other vector4d |
var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.plus(b); console.log(c.toString()); // QVector4D(6, 8, 10, 12) |
| vector4d minus(vector4d other) | Возвращает результат вычитания other vector4d из this vector4d |
var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(5,6,7,8); var c = a.minus(b); console.log(c.toString()); // QVector4D(-4, -4, -4, -4) |
| vector4d normalized() | Возвращает нормализованную форму this вектора |
var a = Qt.vector4d(1,2,3,4); var b = a.normalized(); console.log(b.toString()); // QVector4D(0.182574, 0.365148, 0.547723, 0.730297) |
| real length() | Возвращает скалярное вещественное значение длины this вектора3d |
var a = Qt.vector4d(1,2,3,4); var b = a.length(); console.log(b.toString()); // 5.477225575051661 |
| vector2d toVector2d() | Возвращает результат преобразования this vector4d в vector2d |
var a = Qt.vector4d(1,2,3,4); var b = a.toVector2d(); console.log(b.toString()); // QVector2D(1, 2) |
| vector3d toVector3d() | Возвращает результат преобразования this vector4d в vector3d |
var a = Qt.vector4d(1,2,3,4); var b = a.toVector3d(); console.log(b.toString()); // QVector3D(1, 2, 3) |
| bool fuzzyEquals(vector4d other, real epsilon) | Возвращает true, если this vector4d приблизительно равен other vector4d. Приближение будет истинным, если каждый атрибут this находится в пределах epsilon от other. Обратите внимание, что epsilon — необязательный аргумент, значение по умолчанию epsilon равно 0.00001. |
var a = Qt.vector4d(1,2,3,4); var b = Qt.vector4d(1.0001, 1.9998, 2.0001, 3.9999); var c = a.fuzzyEquals(b); // default epsilon var d = a.fuzzyEquals(b, 0.005); // supplied epsilon console.log(c + " " + d); // false true |
Этот базовый тип предоставляется импортом QtQuick.
См. также Основные типы QML.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-vector4d.html