このページでは

QVector4D Class

QVector4D クラスは、4次元空間におけるベクトルまたは頂点を表します。詳細...

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

パブリック関数

QVector4D()
QVector4D(QPoint point)
QVector4D(QPointF point)
QVector4D(QVector2D vector)
QVector4D(QVector3D vector)
QVector4D(QVector3D vector, float wpos)
QVector4D(QVector2D vector, float zpos, float wpos)
QVector4D(float xpos, float ypos, float zpos, float wpos)
bool isNull() const
float length() const
float lengthSquared() const
void normalize()
QVector4D normalized() const
void setW(float w)
void setX(float x)
void setY(float y)
void setZ(float z)
QPoint toPoint() const
QPointF toPointF() const
QVector2D toVector2D() const
QVector2D toVector2DAffine() const
QVector3D toVector3D() const
QVector3D toVector3DAffine() const
float w() const
float x() const
float y() const
float z() const
operator QVariant() const
QVector4D &operator*=(QVector4D vector)
QVector4D &operator*=(float factor)
QVector4D &operator+=(QVector4D vector)
QVector4D &operator-=(QVector4D vector)
QVector4D &operator/=(QVector4D vector)
QVector4D &operator/=(float divisor)
float &operator[](int i)
float operator[](int i) const

静的パブリックメンバー

float dotProduct(QVector4D v1, QVector4D v2)
bool qFuzzyCompare(QVector4D v1, QVector4D v2)
(since 6.12) size_t qHash(QVector4D key, size_t seed = 0)
bool operator!=(QVector4D v1, QVector4D v2)
QVector4D operator*(QVector4D v1, QVector4D v2)
QVector4D operator*(QVector4D vector, float factor)
QVector4D operator*(float factor, QVector4D vector)
QVector4D operator+(QVector4D v1, QVector4D v2)
QVector4D operator-(QVector4D v1, QVector4D v2)
QVector4D operator-(QVector4D vector)
QVector4D operator/(QVector4D vector, QVector4D divisor)
QVector4D operator/(QVector4D vector, float divisor)
QDataStream &operator<<(QDataStream &stream, QVector4D vector)
bool operator==(QVector4D v1, QVector4D v2)
QDataStream &operator>>(QDataStream &stream, QVector4D &vector)

詳細な説明

ベクトルは、3D 空間の 4D アフィン表現を構成する主要な要素の一つです。これらは、従来 x、y、z、w と呼ばれる 4 つの有限浮動小数点座標で構成されています。

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

QQuaternion 、QVector2D 、およびQVector3Dも参照してください 。

メンバ関数のドキュメント

[constexpr noexcept] QVector4D::QVector4D()

零ベクトル、すなわち座標が (0, 0, 0, 0) であるベクトルを生成します。

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

2次元point からx座標とy座標を持つベクトルを生成し、z座標とw座標は0とします。

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

2次元point からx座標とy座標を持つベクトルを生成し、z座標とw座標は0とします。

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

指定された2次元vector から4次元ベクトルを生成します。z座標とw座標は0に設定されます。

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

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

指定された3次元vector から4次元ベクトルを生成します。w座標は0に設定されます。

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

[constexpr noexcept] QVector4D::QVector4D(QVector3D vector, float wpos)

指定された3次元ベクトルvector から4次元ベクトルを構築します。w座標はwpos に設定されますが、これは有限値でなければなりません。

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

[constexpr noexcept] QVector4D::QVector4D(QVector2D vector, float zpos, float wpos)

指定された2次元vector から4次元ベクトルを構築します。z座標とw座標は、それぞれzpos およびwpos に設定されますが、これらは有限でなければなりません。

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

[constexpr noexcept] QVector4D::QVector4D(float xpos, float ypos, float zpos, float wpos)

座標 (xpos,ypos,zpos,wpos) を持つベクトルを生成します。すべてのパラメータは有限でなければなりません。

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

v1 とv2 の内積を返します。

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

x、y、z、wの座標がすべて0.0に設定されている場合はtrue を返し、それ以外の場合はfalse を返します。

[noexcept] float QVector4D::length() const

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

lengthSquared() およびnormalized()も参照してください 。

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

原点からのベクトルの長さの二乗を返します。これは、そのベクトルとそれ自身の内積に相当します。

length() およびdotProduct()も参照してください 。

[noexcept] void QVector4D::normalize()

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

length() およびnormalized()も参照してください 。

[noexcept] QVector4D QVector4D::normalized() const

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

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

length() およびnormalize()も参照してください 。

[constexpr noexcept] void QVector4D::setW(float w)

この点のw座標を、指定された有限のw 座標に設定します。

w()、setX()、setY()、およびsetZ()も参照してください 。

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

この点の x 座標を、指定された有限のx 座標に設定します。

x()、setY()、setZ()、およびsetW()も参照してください 。

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

この点の y 座標を、指定された有限のy 座標に設定します。

y()、setX()、setZ()、およびsetW()も参照してください 。

[constexpr noexcept] void QVector4D::setZ(float z)

この点の z 座標を、指定された有限のz 座標に設定します。

z()、setX()、setY()、およびsetW()も参照してください 。

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

この4DベクトルのQPoint 形式を返します。z座標とw座標は除外されます。x座標とy座標は、最も近い整数に丸められます。

toPointF() およびtoVector2D()も参照してください 。

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

この4DベクトルのQPointF 形式を返します。z座標とw座標は除外されます。

toPoint() およびtoVector2D()も参照してください 。

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

この4次元ベクトルのz座標とw座標を除外した2次元ベクトル形式を返します。

toVector2DAffine()、toVector3D()、およびtoPoint()も参照してください 。

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

この4次元ベクトルを2次元ベクトルの形式で返します。この際、x座標とy座標をw座標で割り、z座標は除外します。wが0の場合は、空ベクトルを返します。

toVector2D()、toVector3DAffine()、およびtoPoint()も参照してください 。

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

この4次元ベクトルのw座標を削除し、3次元ベクトルとして返します。

toVector3DAffine()、toVector2D()、およびtoPoint()も参照してください 。

[constexpr noexcept] QVector3D QVector4D::toVector3DAffine() const

この4次元ベクトルの3次元ベクトル形式を返し、x、y、z座標をw座標で割ったものとなります。wが0の場合は、空ベクトルを返します。

toVector3D()、toVector2DAffine()、およびtoPoint()も参照してください 。

[constexpr noexcept] float QVector4D::w() const

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

setW()、x()、y()、およびz()も参照してください 。

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

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

setX()、y()、z()、およびw()も参照してください 。

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

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

setY()、x()、z()、およびw()も参照してください 。

[constexpr noexcept] float QVector4D::z() const

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

setZ()、x()、y()、およびw()も参照してください 。

QVector4D::operator QVariant() const

4次元ベクトルをQVariant として返します。

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

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

operator/=() およびoperator*()も参照してください 。

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

このベクトルの座標に、指定された有限なfactor を乗算し、このベクトルへの参照を返します。

operator/=() およびoperator*()も参照してください 。

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

指定されたvector をこのベクトルに追加し、このベクトルへの参照を返します。

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

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

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

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

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

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

vector には、ゼロまたは NaN の成分が含まれていてはなりません。

operator*=() およびoperator/()も参照してください 。

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

このベクトルの座標を、指定されたdivisor で除算し、このベクトルへの参照を返します。divisor は、0でもNaNでもあってはなりません。

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

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

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

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

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

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

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

関連する非メンバー関数

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

v1 とv2 が等しい場合、浮動小数点数の比較においてわずかな許容誤差を考慮した上で、true を返します。それ以外の場合は false を返します。

[constexpr noexcept, since 6.12] size_t qHash(QVector4D key, size_t seed = 0)

key のハッシュ値を返します。計算のシードにはseed を使用します。

この関数は Qt 6.12 で導入されました。

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

v1 がv2 と等しくない場合はtrue を返し、それ以外の場合はfalse を返します。この演算子は、浮動小数点数の厳密比較を使用します。

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

v1 の各成分を、v2 の対応する成分で乗算して形成されたQVector4D オブジェクトを返します。

注:これは 、いかなる意味においてもv1 とv2 の内積ではありません。(その各成分の和は、v1 とv2 の内積となります。)

QVector4D::operator*=()も参照してください 。

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

指定されたvector のコピーを、指定されたfactor を乗算した結果を返します。

QVector4D::operator*=()も参照してください 。

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

指定されたvector のコピーを、指定されたfactor を乗じたものを返します。

QVector4D::operator*=()も参照してください 。

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

指定されたベクトル `v1 ` および `v2` の和となる `QVector4D ` オブジェクトを返します。各成分は個別に加算されます。

QVector4D::operator+=()も参照してください 。

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

v2 をv1 から差し引いて形成された `QVector4D ` オブジェクトを返します。各成分は個別に差し引かれます。

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

[constexpr noexcept] QVector4D operator-(QVector4D vector)

指定されたvector の3つの成分すべての符号を変更して作成されたQVector4D オブジェクトを返します。

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

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

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

指定されたvector の各成分を、指定されたdivisor の対応する成分で割って形成されたQVector4D オブジェクトを返します。

divisor には、ゼロまたは NaN の成分が含まれていてはなりません。

QVector4D::operator/=()も参照してください 。

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

指定されたvector の各成分を、指定されたdivisor で割ることで形成されたQVector4D オブジェクトを返します。

divisor は、0でもNaNでもあってはなりません。

QVector4D::operator/=()も参照してください 。

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

指定されたvector を指定されたstream に書き込み、そのストリームへの参照を返します。

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

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

v1 がv2 と等しい場合は、true を返し、そうでない場合はfalse を返します。この演算子は、厳密な浮動小数点比較を使用します。

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

指定されたstream から4次元ベクトルを読み取り、指定されたvector に格納し、そのストリームへの参照を返します。

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

© 2026 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.