QVector4D Class
QVector4D 클래스는 4차원 공간 내의 벡터 또는 정점을 나타냅니다. 더 보기...
| 헤더: | #include <QVector4D> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- 상속된 멤버를 포함한 모든 멤버 목록
- QVector4D는 3D 렌더링의 일부입니다.
공개 함수
| 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) |
상세 설명
벡터는 3차원 공간의 4차원 아핀 표현을 구성하는 주요 요소 중 하나입니다. 벡터는 전통적으로 x, y, z, w라고 불리는 네 개의 유한 부동 소수점 좌표로 구성됩니다.
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
이 4차원 벡터를 QPoint 형식으로 반환합니다. z 및 w 좌표는 제외됩니다. x 및 y 좌표는 가장 가까운 정수로 반올림됩니다.
toPointF() 및 toVector2D()도 참조하십시오 .
[constexpr noexcept] QPointF QVector4D::toPointF() const
이 4차원 벡터를 QPointF 형식으로 반환합니다. z 및 w 좌표는 제외됩니다.
toPoint() 및 toVector2D()도 참조하십시오 .
[constexpr noexcept] QVector2D QVector4D::toVector2D() const
z 및 w 좌표를 제거하여 이 4차원 벡터를 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
w 좌표를 제거하고, 이 4차원 벡터를 3차원 벡터 형태로 반환합니다.
toVector3DAffine(), toVector2D() 및 toPoint()도 참조하십시오 .
[constexpr noexcept] QVector3D QVector4D::toVector3DAffine() const
이 4차원 벡터를 x, y, z 좌표를 w 좌표로 나눈 3차원 벡터 형태로 반환합니다. w가 0인 경우 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 에는 0이거나 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)
seed 를 계산의 시드 값으로 사용하여 key 의 해시 값을 반환합니다.
이 함수는 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`의 세 구성 요소 모두의 부호를 변경하여 생성된 ` QVector4D ` 객체를 반환합니다.
QVector4D(0,0,0,0) - vector 와 동일합니다.
이 함수는 오버로드된 함수입니다.
[constexpr] QVector4D operator/(QVector4D vector, QVector4D divisor)
주어진 ` vector `의 각 성분을, 주어진 ` divisor`의 해당 성분으로 나눈 값으로 구성된 ` QVector4D ` 객체를 반환합니다.
divisor 에는 0이거나 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.