Тип QML vector2d
Тип vector2d имеет атрибуты x и y, в остальном он похож на тип vector3d. Для получения дополнительной информации см. документацию по типу vector3d.
Чтобы создать значение vector2d, укажите его как строку "x,y", или определите компоненты по отдельности, или используйте функцию Qt.vector2d().
Тип vector2d имеет следующие идемпотентные функции, которые можно вызывать в QML:
| Подпись функции | Описание | Пример |
|---|---|---|
| real dotProduct(vector2d other) | Возвращает скалярное вещественное значение результата скалярного произведения вектора this vector2d и вектора other vector2d |
var a = Qt.vector2d(1,2); var b = Qt.vector2d(3,4); var c = a.dotProduct(b); console.log(c); // 11 |
| vector2d times(vector2d other) | Возвращает результат умножения вектора this vector2d на вектор other vector2d |
var a = Qt.vector2d(1,2); var b = Qt.vector2d(3,4); var c = a.times(b); console.log(c.toString()); // QVector2D(3, 8) |
| vector2d times(real factor) | Возвращает результат умножения вектора this vector2d на скаляр factor
|
var a = Qt.vector2d(1,2); var b = 4.48; var c = a.times(b); console.log(c.toString()); // QVector2D(4.48, 8.96) |
| vector2d plus(vector2d other) | Возвращает результат сложения вектора this vector2d и вектора other vector2d |
var a = Qt.vector2d(1,2); var b = Qt.vector2d(3,4); var c = a.plus(b); console.log(c.toString()); // QVector2D(4, 6) |
| vector2d minus(vector2d other) | Возвращает результат вычитания вектора other vector2d из вектора this vector2d |
var a = Qt.vector2d(1,2); var b = Qt.vector2d(3,4); var c = a.minus(b); console.log(c.toString()); // QVector2D(-2, -2) |
| vector2d normalized() | Возвращает нормированную форму вектора this |
var a = Qt.vector2d(1,2); var b = a.normalized(); console.log(b.toString()); // QVector2D(0.447214, 0.894427) |
| real length() | Возвращает скалярное вещественное значение длины вектора this vector2d |
var a = Qt.vector2d(1,2); var b = a.length(); console.log(b.toString()); // 2.23606797749979 |
| vector3d toVector3d() | Возвращает результат преобразования вектора this vector2d в vector3d |
var a = Qt.vector2d(1,2); var b = a.toVector3d(); console.log(b.toString()); // QVector3D(1, 2, 0) |
| vector4d toVector4d() | Возвращает результат преобразования вектора this vector2d в vector4d |
var a = Qt.vector2d(1,2); var b = a.toVector4d(); console.log(b.toString()); // QVector4D(1, 2, 0, 0) |
| bool fuzzyEquals(vector2d other, real epsilon) | Возвращает true, если вектор this vector2d приблизительно равен вектору other vector2d. Приближение будет истинным, если каждый атрибут this находится в пределах epsilon от other. Обратите внимание, что epsilon является необязательным аргументом, значение по умолчанию epsilon равно 0.00001. |
var a = Qt.vector2d(1,2); var b = Qt.vector2d(1.0001, 1.9998); 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-vector2d.html