Тип vector4d QML
Тип vector4d имеет атрибуты x, y, z и w, в остальном он похож на тип vector3d. Для получения дополнительной информации см. документацию по типу vector3d.
Чтобы создать значение vector4d, укажите его как строку "x,y,z,w", или определите компоненты по отдельности, или используйте функцию Qt.vector4d().
Тип vector4d имеет следующие идемпотентные функции, которые можно вызывать в QML:
| Функция | Описание | Пример |
|---|---|---|
| real dotProduct(vector4d other) | Возвращает скалярное вещественное значение результата скалярного произведения this вектор4d и other вектор4d |
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) | Возвращает вектор4d результат преобразования this вектор4d с 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) | Возвращает вектор4d результат умножения this вектор4d на other вектор4d |
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) | Возвращает вектор4d результат умножения this вектор4d на скаляр 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) | Возвращает вектор4d результат сложения this вектор4d и other вектор4d |
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) | Возвращает вектор4d результат вычитания other вектор4d из this вектор4d |
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() | Возвращает вектор2d результат преобразования this вектор4d в вектор2d |
var a = Qt.vector4d(1,2,3,4); var b = a.toVector2d(); console.log(b.toString()); // QVector2D(1, 2) |
| vector3d toVector3d() | Возвращает вектор3d результат преобразования this вектор4d в вектор3d |
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 вектор4d приблизительно равен other вектор4d. Приближение будет истинным, если каждый атрибут 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.1/qml-vector4d.html