QVector2D Class

QVector2Dクラスは、2次元空間のベクトルまたは頂点を表す。詳細...

ヘッダー #include <QVector2D>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

パブリック関数

QVector2D()
QVector2D(QPoint point)
QVector2D(QPointF point)
QVector2D(QVector3D vector)
QVector2D(QVector4D vector)
QVector2D(float xpos, float ypos)
float distanceToLine(QVector2D point, QVector2D direction) const
float distanceToPoint(QVector2D point) const
bool isNull() const
float length() const
float lengthSquared() const
void normalize()
QVector2D normalized() const
void setX(float x)
void setY(float y)
QPoint toPoint() const
QPointF toPointF() const
QVector3D toVector3D() const
QVector4D toVector4D() const
float x() const
float y() const
QVariant operator QVariant() const
QVector2D &operator*=(QVector2D vector)
QVector2D &operator*=(float factor)
QVector2D &operator+=(QVector2D vector)
QVector2D &operator-=(QVector2D vector)
QVector2D &operator/=(QVector2D vector)
QVector2D &operator/=(float divisor)
float &operator[](int i)
float operator[](int i) const

静的パブリックメンバ

float dotProduct(QVector2D v1, QVector2D v2)
bool qFuzzyCompare(QVector2D v1, QVector2D v2)
bool operator!=(QVector2D v1, QVector2D v2)
QVector2D operator*(QVector2D v1, QVector2D v2)
QVector2D operator*(QVector2D vector, float factor)
QVector2D operator*(float factor, QVector2D vector)
QVector2D operator+(QVector2D v1, QVector2D v2)
QVector2D operator-(QVector2D v1, QVector2D v2)
QVector2D operator-(QVector2D vector)
QVector2D operator/(QVector2D vector, QVector2D divisor)
QVector2D operator/(QVector2D vector, float divisor)
QDataStream &operator<<(QDataStream &stream, QVector2D vector)
bool operator==(QVector2D v1, QVector2D v2)
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)

詳細説明

ベクトルは、2D表現と描画の主要な構成要素の1つである。これらは2つの有限浮動小数点座標で構成され、伝統的にxとyと呼ばれている。

QVector2Dクラスは、2D空間の頂点を表現するためにも使用できる。したがって、頂点クラスを別に用意する必要はありません。

QVector3D,QVector4D,QQuaternionも参照して ください。

メンバ関数ドキュメント

[constexpr noexcept] QVector2D::QVector2D()

ヌル・ベクトル、すなわち座標(0, 0)を持つベクトルを構築する。

[explicit constexpr noexcept] QVector2D::QVector2D(QPoint point)

2Dpoint から x 座標と y 座標を持つベクトルを構築します。

[explicit constexpr noexcept] QVector2D::QVector2D(QPointF point)

2Dpoint から x 座標と y 座標を持つベクトルを構築します。

[explicit constexpr noexcept] QVector2D::QVector2D(QVector3D vector)

3Dvector から x 座標と y 座標を持つベクトルを構築します。vector の z 座標は削除されます。

toVector3D()も参照して ください。

[explicit constexpr noexcept] QVector2D::QVector2D(QVector4D vector)

3Dvector から x 座標と y 座標のベクトルを構築する。vector の z 座標と w 座標は削除されます。

toVector4D()も参照して ください。

[constexpr noexcept] QVector2D::QVector2D(float xpos, float ypos)

座標 (xpos,ypos) を持つベクトルを構築する。両方の座標は有限でなければならない。

[noexcept] float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const

この頂点が、point と単位ベクトルdirection で定義される直線からの距離を返します。

direction が NULL ベクトルの場合、それは線を定義しない。その場合、point からこの頂点までの距離が返される。

distanceToPoint()も参照

[noexcept] float QVector2D::distanceToPoint(QVector2D point) const

この頂点から、頂点point で定義される点までの距離を返します。

distanceToLine()も参照

[static constexpr noexcept] float QVector2D::dotProduct(QVector2D v1, QVector2D v2)

v1v2 のドット積を返す。

[constexpr noexcept] bool QVector2D::isNull() const

x 座標と y 座標が 0.0 に設定されていればtrue を返し、そうでなければfalse を返す。

[noexcept] float QVector2D::length() const

原点からのベクトルの長さを返します。

lengthSquared() およびnormalized()も参照

[constexpr noexcept] float QVector2D::lengthSquared() const

SquaredLength関数は、原点からのベクトルの長さの2乗を返します。これは、ベクトルとそれ自身との内積と等価である。

length() およびdotProduct()も参照

[noexcept] void QVector2D::normalize()

現在のベクトルをその場で正規化する。このベクトルが NULL ベクトルであったり、ベクトルの長さが 1 に非常に近かったりする場合は、何も起こりません。

length() およびnormalized()も参照

[noexcept] QVector2D QVector2D::normalized() const

このベクトルの正規化単位ベクトル形式を返します。

このベクトルが NULL の場合は、NULL ベクトルが返されます。ベクトルの長さが 1 に非常に近い場合、ベクトルはそのまま返されます。そうでない場合は、長さ 1 の正規化されたベクトルが返されます。

length() およびnormalize()も参照

[constexpr noexcept] void QVector2D::setX(float x)

この点の x 座標を、 与えられた有限のx 座標に設定します。

x() およびsetY()も参照

[constexpr noexcept] void QVector2D::setY(float y)

この点の y 座標を、 与えられた有限のy 座標に設定します。

y() およびsetX()も参照

[constexpr noexcept] QPoint QVector2D::toPoint() const

この 2D ベクトルのQPoint 形式の座標を返します。各座標は、最も近い整数に丸められます。

toPointF() およびtoVector3D()も参照

[constexpr noexcept] QPointF QVector2D::toPointF() const

この 2D ベクトルのQPointF 形式を返します。

toPoint() およびtoVector3D()も参照

[constexpr noexcept] QVector3D QVector2D::toVector3D() const

z 座標をゼロに設定した、この 2D ベクトルの 3D フォームを返します。

toVector4D() およびtoPoint()も参照

[constexpr noexcept] QVector4D QVector2D::toVector4D() const

z 座標と w 座標をゼロに設定した、この 2D ベクトルの 4 次元形式を返します。

toVector3D() およびtoPoint()も参照

[constexpr noexcept] float QVector2D::x() const

この点の x 座標を返します。

setX() およびy()も参照

[constexpr noexcept] float QVector2D::y() const

この点の y 座標を返します。

setY() およびx()も参照

QVariant QVector2D::operator QVariant() const

2D ベクトルをQVariant として返す。

[constexpr noexcept] QVector2D &QVector2D::operator*=(QVector2D vector)

このベクトルの各成分とvector の対応する成分を乗算し、このベクトルへの参照を返す。

注意: これは、このベクトルとvector とのクロス積ではありません (このベクトルの成分は、このベクトルとvector とのドット積に加算されます)。

operator/=() およびoperator*()も参照

[constexpr noexcept] QVector2D &QVector2D::operator*=(float factor)

このベクトルの座標に与えられた有限値factor を乗算し、このベクトルへの参照を返します。

operator/=() およびoperator*()も参照

[constexpr noexcept] QVector2D &QVector2D::operator+=(QVector2D vector)

与えられたvector をこの vector に追加し、この vector への参照を返します。

operator-=()も参照してください

[constexpr noexcept] QVector2D &QVector2D::operator-=(QVector2D vector)

このベクトルから指定されたvector を減算し、このベクトルへの参照を返します。

operator+=()も参照

[constexpr] QVector2D &QVector2D::operator/=(QVector2D vector)

このベクトルの各成分をvector の対応する成分で割り、このベクトルへの参照を返す。

vector には、ゼロまたは NaN のいずれの成分もあってはならない。

operator*=() およびoperator/()も参照のこと

[constexpr] QVector2D &QVector2D::operator/=(float divisor)

このベクトルの座標を与えられたdivisor で割り、このベクトルへの参照を返す。divisor はゼロまたは NaN であってはならない。

operator*=()も参照

[constexpr] float &QVector2D::operator[](int i)

ベクトルのインデックス位置i にある成分を、変更可能な参照として返します。

i はベクトルの有効なインデックス位置でなければなりません(すなわち、0 <= < 2)。i

[constexpr] float QVector2D::operator[](int i) const

インデックス位置i にあるベクトルの成分を返す。

i はベクトルの有効なインデックス位置でなければならない(すなわち、0 <= < 2)。i

関連する非会員

[noexcept] bool qFuzzyCompare(QVector2D v1, QVector2D v2)

v1v2 が等しい場合はtrue を返し、浮動小数点数の比較に若干のファジー要素を許容する。

[constexpr noexcept] bool operator!=(QVector2D v1, QVector2D v2)

v1v2 と等しくない場合はtrue を返し、そうでない場合はfalse を返す。この演算子は正確な浮動小数点比較を使用する。

[constexpr noexcept] QVector2D operator*(QVector2D v1, QVector2D v2)

v1 の各成分とv2 の対応する成分を掛け合わせたQVector2D オブジェクトを返す。

注意: これはv1v2 の掛け合わせではありません。(その成分は、v1v2 のドット積に加算される)。

QVector2D::operator*=()も参照のこと

[constexpr noexcept] QVector2D operator*(QVector2D vector, float factor)

与えられたvector に与えられた有限のfactor を掛けたコピーを返す。

QVector2D::operator*=()も参照

[constexpr noexcept] QVector2D operator*(float factor, QVector2D vector)

与えられたvector に与えられた有限のfactor を掛けたコピーを返す。

QVector2D::operator*=()も参照

[constexpr noexcept] QVector2D operator+(QVector2D v1, QVector2D v2)

与えられたベクトルv1v2 の和であるQVector2D オブジェクトを返す。

QVector2D::operator+=()も参照

[constexpr noexcept] QVector2D operator-(QVector2D v1, QVector2D v2)

v1 からv2 を減算したQVector2D オブジェクトを返す。

QVector2D::operator-=()も参照のこと

[constexpr noexcept] QVector2D operator-(QVector2D vector)

これはオーバーロードされた関数である。

与えられたvector の各コンポーネントの符号を変更して形成されたQVector2D オブジェクトを返します。

QVector2D(0,0) - vector と同等です。

[constexpr] QVector2D operator/(QVector2D vector, QVector2D divisor)

与えられたvector の各成分を、与えられたdivisor の対応する成分で割ったQVector2D オブジェクトを返す。

divisor は、ゼロまたは NaN の成分を持たなければならない。

QVector2D::operator/=()も参照のこと

[constexpr] QVector2D operator/(QVector2D vector, float divisor)

与えられたvector の各成分を与えられたdivisor で割ったQVector2D オブジェクトを返す。

divisor はゼロまたは NaN であってはならない。

QVector2D::operator/=()も参照のこと

QDataStream &operator<<(QDataStream &stream, QVector2D vector)

与えられたstream に与えられたvector を書き込み、ストリームへの参照を返します。

Qt データ型のシリアライズも参照してください

[constexpr noexcept] bool operator==(QVector2D v1, QVector2D v2)

v1v2 と等しい場合はtrue を返し、そうでない場合はfalse を返す。この演算子は正確な浮動小数点比較を使用する。

QDataStream &operator>>(QDataStream &stream, QVector2D &vector)

与えられたstream から与えられたvector に 2D ベクトルを読み込み、ストリームへの参照を返します。

Qt データ型のシリアライズも参照してください

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.