UniDx
読み取り中…
検索中…
一致する文字列を見つけられません
UniDx::Matrix4x4 構造体

4x4 行列 (行ベクトル行優先) [詳解]

#include <Math.h>

公開メンバ関数

 Matrix4x4 ()
constexpr Matrix4x4 (float im00, float im01, float im02, float im03, float im10, float im11, float im12, float im13, float im20, float im21, float im22, float im23, float im30, float im31, float im32, float im33) noexcept
 Matrix4x4 (const DirectX::XMFLOAT4X4 &f) noexcept
 Matrix4x4 (DirectX::CXMMATRIX M) noexcept
Matrix4x4 inverse () const
 逆行列
Vector3 translation () const noexcept
 行列から平行移動成分を取得
void setTranslation (const Vector3 &v)
 平行移動成分を設定
bool Decompose (Vector3 &scale, Quaternion &rotation, Vector3 &translation) const noexcept
 行列をスケール・回転・平行移動に分解する(成功なら true)
Vector3 MultiplyPoint (const DirectX::XMFLOAT3 &v) const noexcept
 行列に位置をかけて変換
Vector3 MultiplyVector (const Vector3 &v) const noexcept
 行列に方向ベクトルをかけて変換(平行移動は無視)
float determinant () const noexcept
const DirectX::XMMATRIX XMLoad () const
void XMStore (const DirectX::XMMATRIX &mtx)
Matrix4x4 operator+ () const noexcept
Matrix4x4 operator- () const noexcept
 operator DirectX::XMFLOAT4X4 & ()
 operator const DirectX::XMFLOAT4X4 & () const

静的公開メンバ関数

static Matrix4x4 Scale (const Vector3 &scales) noexcept
 ベクトルからスケール行列を生成
static Matrix4x4 Rotate (const Quaternion &rotation) noexcept
 クォータニオンから回転行列を生成
static Matrix4x4 Translate (const Vector3 &position) noexcept
 平行移動行列を生成
template<typename T>
static Matrix4x4 FromColumnMajor16 (const T *a)
 列指向の4x4行列データから行列を生成

公開変数類

float m00
float m01
float m02
float m03
float m10
float m11
float m12
float m13
float m20
float m21
float m22
float m23
float m30
float m31
float m32
float m33

静的公開変数類

static const Matrix4x4 identity

詳解

4x4 行列 (行ベクトル行優先)

構築子と解体子

◆ Matrix4x4() [1/4]

UniDx::Matrix4x4::Matrix4x4 ( )
inline

◆ Matrix4x4() [2/4]

UniDx::Matrix4x4::Matrix4x4 ( float im00,
float im01,
float im02,
float im03,
float im10,
float im11,
float im12,
float im13,
float im20,
float im21,
float im22,
float im23,
float im30,
float im31,
float im32,
float im33 )
inlineconstexprnoexcept

◆ Matrix4x4() [3/4]

UniDx::Matrix4x4::Matrix4x4 ( const DirectX::XMFLOAT4X4 & f)
inlinenoexcept

◆ Matrix4x4() [4/4]

UniDx::Matrix4x4::Matrix4x4 ( DirectX::CXMMATRIX M)
inlineexplicitnoexcept

関数詳解

◆ Decompose()

bool UniDx::Matrix4x4::Decompose ( Vector3 & scale,
Quaternion & rotation,
Vector3 & translation ) const
inlinenoexcept

行列をスケール・回転・平行移動に分解する(成功なら true)

◆ determinant()

float UniDx::Matrix4x4::determinant ( ) const
inlinenoexcept

◆ FromColumnMajor16()

template<typename T>
Matrix4x4 UniDx::Matrix4x4::FromColumnMajor16 ( const T * a)
inlinestatic

列指向の4x4行列データから行列を生成

◆ inverse()

Matrix4x4 UniDx::Matrix4x4::inverse ( ) const
inlinenodiscard

逆行列

◆ MultiplyPoint()

Vector3 UniDx::Matrix4x4::MultiplyPoint ( const DirectX::XMFLOAT3 & v) const
inlinenoexcept

行列に位置をかけて変換

◆ MultiplyVector()

Vector3 UniDx::Matrix4x4::MultiplyVector ( const Vector3 & v) const
inlinenoexcept

行列に方向ベクトルをかけて変換(平行移動は無視)

◆ operator const DirectX::XMFLOAT4X4 &()

UniDx::Matrix4x4::operator const DirectX::XMFLOAT4X4 & ( ) const
inlineexplicit

◆ operator DirectX::XMFLOAT4X4 &()

UniDx::Matrix4x4::operator DirectX::XMFLOAT4X4 & ( )
inlineexplicit

◆ operator+()

Matrix4x4 UniDx::Matrix4x4::operator+ ( ) const
inlinenoexcept

◆ operator-()

Matrix4x4 UniDx::Matrix4x4::operator- ( ) const
inlinenoexcept

◆ Rotate()

Matrix4x4 UniDx::Matrix4x4::Rotate ( const Quaternion & rotation)
inlinestaticnoexcept

クォータニオンから回転行列を生成

◆ Scale()

Matrix4x4 UniDx::Matrix4x4::Scale ( const Vector3 & scales)
inlinestaticnoexcept

ベクトルからスケール行列を生成

◆ setTranslation()

void UniDx::Matrix4x4::setTranslation ( const Vector3 & v)
inline

平行移動成分を設定

◆ Translate()

Matrix4x4 UniDx::Matrix4x4::Translate ( const Vector3 & position)
inlinestaticnoexcept

平行移動行列を生成

◆ translation()

Vector3 UniDx::Matrix4x4::translation ( ) const
inlinenoexcept

行列から平行移動成分を取得

◆ XMLoad()

const DirectX::XMMATRIX UniDx::Matrix4x4::XMLoad ( ) const
inline

◆ XMStore()

void UniDx::Matrix4x4::XMStore ( const DirectX::XMMATRIX & mtx)
inline

メンバ詳解

◆ identity

const Matrix4x4 UniDx::Matrix4x4::identity
static
初期値:
1.f, 0.f, 0.f, 0.f,
0.f, 1.f, 0.f, 0.f,
0.f, 0.f, 1.f, 0.f,
0.f, 0.f, 0.f, 1.f
)
Matrix4x4()
Definition Math.h:315

◆ m00

float UniDx::Matrix4x4::m00

◆ m01

float UniDx::Matrix4x4::m01

◆ m02

float UniDx::Matrix4x4::m02

◆ m03

float UniDx::Matrix4x4::m03

◆ m10

float UniDx::Matrix4x4::m10

◆ m11

float UniDx::Matrix4x4::m11

◆ m12

float UniDx::Matrix4x4::m12

◆ m13

float UniDx::Matrix4x4::m13

◆ m20

float UniDx::Matrix4x4::m20

◆ m21

float UniDx::Matrix4x4::m21

◆ m22

float UniDx::Matrix4x4::m22

◆ m23

float UniDx::Matrix4x4::m23

◆ m30

float UniDx::Matrix4x4::m30

◆ m31

float UniDx::Matrix4x4::m31

◆ m32

float UniDx::Matrix4x4::m32

◆ m33

float UniDx::Matrix4x4::m33

この構造体詳解は次のファイルから抽出されました: