M44d

Matrix44¶

Template kelas matrix44 mewakili matriks 4×4, dan definisi jenis float dan double telah didefinisikan.

Selain itu, berbagai fungsi utilitas yang mengoperasikan matriks ditentukan oleh iMachmatorixalgo. h dan dijelaskan dalam fungsi matriks.

Komponen individu dari matriks m dapat direferensikan sebagai m [j] [i] atau m. x [j] [i]. Yang terakhir ini sedikit merepotkan, tetapi menguntungkan ketika digunakan dalam loop yang secara eksplisit d i-vektor dengan petunjuk seperti#pragma omp Simd. Ini karena fungsi panggilan operator [] dan para pemain pointer dapat membingungkan kompiler dan menghalangi vektor loop.

#Crude  #Crude  #Crude ruang kosong Matrix44_example ()  IMAS::M44f M (IMAS::Tidak disatikan); // tidak diinisialisasi M.makeidentity (); Menegaskan (M[0][0] == 1. 0f); Menegaskan (M[0][1] == 0. 0f); IMAS::M44f Minv = M.Nomor terbalik (); IMAS::M44f R; Menegaskan (R == IMAS::Identitas 44f); R.memutar (IMAS::V3f (0. 02F, M_pi / 4, 0. 0f)); M = R * M; IMAS::V3f v3 (1. 0f, 0. 0f, 0. 0f); IMAS::V4F v4 (1. 0f, 0. 0f, 0. 0f, 1. 0f); IMAS::V3f r3 = v3 * M; Menegaskan (r3.Setara withabserer ( IMAS::V3f (0. 707107F, 0. 0f, -0. 7071070f), 1e-6f)); IMAS::V4F r4 = v4 * M; Menegaskan (r4.Setara withabserer ( IMAS::V4F (0. 707107F, 0. 0f, -0. 7071070f, 1. 0f), 1e-6f)); > 

Typedef Matrix44< float >IMath :: M44F ¶

4×4 мата float

4×4 мата ganda

шабон< class T >кас matriks44 ¶

Мата побазован 4×4

Пой дос к эам

Коноры паиан

Inline constexpr matrix44 (tidak diinisialisasi) noexcept ¶

Inline constexpr matrix44 () noExcept ¶

Конор пол Anda

Inline constexpr matrix44 (ta) noexcept ¶

Цалац к салой к к a a a a a a a a a a a a a a a.

Inline constexpr matrix44 (const ta [4] [4]) noexcept ¶

Сои т и маса 4×4 a [0] [0] [0] [0] A [0] [3] A [0] [0] [1] [1] [1] A [1] [2] a [1] [3] A [2] [2] A [2] A [2] A [2] [3] A [0] A [3] [1] A [3] [2] A [3] [3].

Inline constexpr matrix44 (ta, t b, t d, t-d, t e, t-f, t i, t i, t i, j j, t k, t n, t n, t n, t o, t p) noexcept ¶

Посоedit иаданых салых зач зач зач зач зач

Inline constexpr matrix44 (matrix33< T >R, VEC3< T >T) NoExcept ¶

Тои маты поворо ke 3×3 Вора рора та тананананан rrl 0 rr 0 rr 0

Inline constexpr matrix44 (const matrix44 & amp; v) noexcept ¶

шабон< class S >Inline eksplisit constexpr matrix44 (const matrix4444444444444444< S >& amp; V) NoExcept ¶.

Bangun dari matriks basal lain44.

Inline Constexpr Const Matrix44 & amp;

Inline Constexpr Const Matrix44 & amp;

Sukses dari Scala.

~Matrix44 () noExcept = default ¶.

Kompatibilitas dengan SB

Inline t * getValue () noExcept ¶.

Mengembalikan pointer mentah ke array nilai.

Inline kontra r * getValue () terdiri dari noExcept ¶.

Mengembalikan pointer mentah ke array nilai.

шабон< class S >Inline void getValue (matrix44< S >& amp; V) Cons Cons Noexcept ¶.

Mengembalikan nilai V.

шабон< class S >Constexpr matrix44 & amp; setValue (const matrix4444444444444< S >& amp; V) NoExcept ¶.

шабон< class S >Constexpr matrix44 & amp; setthematrix (const matrix44444444444444< S >& amp; V) NoExcept ¶.

Perbandingan dengan operasi aritmatika

Inline Operator Bool Constexpr == (const matrix44 & amp; v) const noExcept ¶.

Inline Operator Bool Constexpr! = (Const Matrix44 & amp; v) Const NoExcept ¶.

Inline constexpr bool equalwithabserror (const matrix44444444444444< T >& amp; v, t e) terdiri dari noexcept ¶.

Bandingkan dua matriks untuk mengetahui apakah itu “hampir sama”.

Ketika koefisien ini dan m sama dengan kesalahan absolut di bawah E, yaitu, ketika itu sama dengan semua I dan J.

Abs (ini[i][j] - m[i][j])  e 

Inline constexpr bool equalwithrrror (const matrix4444444444444444444444444444< T >& amp; v, t e) terdiri dari noexcept ¶.

Bandingkan dua matriks untuk mengetahui apakah itu “hampir sama”.

Jika koefisien ini dan m adalah sama untuk kesalahan relatif E, yaitu, semua I dan J.

Abs (ini[i] - v[i][j])  e * Abs (ini[i][j]) 

Inline Constexpr Const Matrix44 & AMP;

Inline Constexpr Const Matrix44 & AMP;

Inline Constexpr Matrix44 Operator + (const matrix44 & amp; v) const noExcept ¶.

Inline Constexpr Const Matrix44 & amp;

Inline Constexpr Const Matrix44 & amp;

Inline constexpr matrix44 operator- (const matrix44 & amp; v) const noexcept ¶.

Inline constexpr matrix44 operator- () const noExcept ¶.

Kontribus i-1 dalam unit komponen.

Inline Constexpr Const Matrix44 & amp;

Kontribus i-1 dalam unit komponen.

Inline Constexpr Const Matrix44 & AMP;

Operator Inline Constexpr Matrix44 * (TA) Const NoExcept ¶.

Inline Constexpr Const Matrix44 & amp;

Menunjukkan inline CONSEXPR Matrix44 Operator / (TA) Const NoExcept ¶.

Inline Constexpr Cons Matrix44 & AMP;

Inline Constexpr Matrix44 Operator * (const matrix44 & amp; v) const noExcept¶.

шабон< class S >Inline void multvecmatrix (const vec3< S >& amp; SRC, VEC3< S >& amp; DST) terdiri dari NoExcept ¶.

Multiplikasi Vektor dan Matriks: VEC3 (SRC. X, SRC. Y, SRC. Z, 1) * M dihitung, dan konversi yang sama dengan membagi dengan elemen ketiga dari hasil.

  • Vektor input src- [dalam].
  • Vektor output dst – [out]

Kompetisi Vektor: Modat bagian 2×2 dari kiri atas di SRC.

  • Vektor input src- [dalam].
  • Vektor output dst – [out]

Hitung matriks: c = a * b.

Statis inline constexpr matrix44 multiply (const matrix44 & amp;

Mengembalikan hasil multiplikasi dari matriks.

Inline void makeIdentity () noExcept ¶.

Diatur dalam satu baris berturu t-turut.

Inline Constexpr Const Matrix44 & amp; Transpose () NoExcept ¶.

Inline constexpr matrix44 transposed () const noexcept ¶.

Mengembalikan saluran transfer.

Mengembalikan Inline Constexpr Cons Matrix44 & amp;

Gunakan antrian untuk membalikkan di tempat.

Dalam kasus Singex c-True, lempar pengecualian ketika matriks tidak dapat dibalik.

Lihat ini untuk ini

Inline Constexpr Const Matrix44 & amp;

Gunakan antrian untuk membalikkan di tempat.

Lihat ini untuk ini

Inline Constexpr Matrix44< T >Reverse Matrix (Bool Singexc) Cons ¶.

Mengembalikan matriks terbalik menggunakan antrian.

Dalam kasus Singex c-True, lempar pengecualian ketika matriks tidak dapat dibalik.

Inline Constexpr Matrix44< T >Inverse () const NoExcept ¶.

Mengembalikan matriks terbalik menggunakan antrian.

Inline Constexpr Const Matrix44 & amp;

Mengembalikan matriks terbalik dengan metode Gauss Jordan.

Ini jauh lebih lambat dari invert (), tetapi lebih akurat.

Dalam kasus Singex c-True, lempar pengecualian ketika matriks tidak dapat dibalik.

Lihat ini untuk ini

Inline Constexpr Const Matrix44 & amp;

Mengembalikan matriks terbalik dengan metode Gauss Jordan.

Ini jauh lebih lambat dari invert (), tetapi lebih akurat.

Lihat ini untuk ini

Inline Matrix44< T >Gjinverse (Bool Singexc) Cons ¶.

Mengembalikan matriks terbalik dengan metode Gauss Jordan.

Ini jauh lebih lambat dari terbalik (), tetapi lebih akurat.

Inline Matrix44< T >Gjinverse () const noExcept ¶.

Mengembalikan matriks terbalik dengan metode Gauss Jordan.

Inline constexpr t minorof (const int r, const int c) const noexcept ¶.

Tentukan nilai minor suatu matriks dengan elemen (r, c).

inline constexpr T fastMinor ( const int r0 , const int r1 , const int r2 , const int c0 , const int c1 , const int c2 ) const nokecuali ¶.

Membuat kunci minor menggunakan baris dan kolom yang ditentukan.

inline constexpr T determinan ( ) const nokecuali ¶.

inline constexpr T jejak ( ) const tidak kecuali ¶.

шабон< class S >const Matrix44 & setEulerAngles ( const Vec3< S >& amp;

Memutar matriks sebesar sudut XYZ Euler (dalam radian).

lihat konstanta ini

шабон< class S >constexpr const Matriks44 & setAxisAngle ( const Vec3< S >& amp; kapak , S ang ) tidak kecuali ¶.

Mengatur matriks agar berputar dengan sudut tertentu (radian) di sekitar sumbu yang ditentukan.

lihat konstanta ini

шабон< class S >const Matrix44 & memutar ( const Vec3< S >& amp;

Memutar matriks dengan sudut yang ditentukan (dalam radian).

lihat konstanta ini

Constexpr const sebaris Matrix44 & setScale ( T s ) kecuali ¶.

Menskalakan matriks dengan faktor seragam yang ditentukan.

lihat konstanta ini

шабон< class S >constexpr const Matriks44 & setScale ( const Vec3< S >& amp; s ) tidak kecuali ¶.

Atur matriks yang akan diskalakan berdasarkan vektor yang diberikan.

lihat konstanta ini

шабон< class S >constexpr const Matrix44 & amp;< S >& amp; s ) tidak kecuali ¶.

Skala matriks dengan s.

lihat konstanta ini

шабон< class S >constexpr const Matrix44 & setTranslasi ( const Vec3< S >& amp;

Mengatur matriks yang akan diterjemahkan oleh vektor yang diberikan.

lihat konstanta ini

Konsteks sebaris const Vec3< T >terjemahan ( ) const tidak kecuali ¶.

Mengembalikan komponen terjemahan.

шабон< class S >constexpr const Matrix44 & terjemahkan ( const Vec3< S >& amp;

Ubah matriks dengan t.

lihat konstanta ini

шабон< class S >constexpr const Matrix44 & setShear ( const Vec3< S >& amp;

Memotong matriks dengan vektor yang ditentukan h.

  • untuk setiap koordinat y geser x dengan faktor h[0].
  • untuk setiap koordinat z geser x sebanyak h[1].
  • Geser y sebanyak faktor h[2] untuk setiap koordinat z.

lihat konstanta ini

шабон< class S >constexpr const Matriks44 & setShear ( const Shear6< S >& amp;

Memotong matriks dengan faktor yang ditentukan.

  • untuk setiap koordinat y geser x dengan faktor h. xy.
  • untuk setiap koordinat z geser x dengan faktor h. xz.
  • adalah faktor h. yz yang memotong y untuk setiap koordinat z;
  • Untuk setiap koordinat x, geser y dengan faktor h. yx;
  • Untuk setiap koordinat x, geser koordinat z dengan faktor h. zx;
  • memotong z dengan faktor h. zy untuk setiap koordinat y.

lihat konstanta ini

шабон< class S >constexpr const Matriks44 & amp; geser ( const Vec3< S >& amp;

Memotong matriks dengan vektor yang diberikan.

  • untuk setiap koordinat y geser x dengan faktor h[0].
  • untuk setiap koordinat z geser x sebanyak h[1].
  • Geser y sebanyak faktor h[2] untuk setiap koordinat z.

lihat konstanta ini

шабон< class S >constexpr const Matriks44 & amp; geser ( const Shear6< S >& amp;

Memotong matriks dengan koefisien yang diberikan.

  • untuk setiap koordinat y geser x dengan faktor h. xy.
  • untuk setiap koordinat z geser x dengan faktor h. xz.
  • adalah faktor h. yz yang memotong y untuk setiap koordinat z;
  • Untuk setiap koordinat x, geser y dengan faktor h. yx;
  • Untuk setiap koordinat x, geser koordinat z dengan faktor h. zx;
  • memotong z dengan faktor h. zy untuk setiap koordinat y.

lihat konstanta ini

constex inline statis T baseTypeLowest ( ) kecuali ¶.

Nilai negatif maksimum.

constex inline statis T baseTypeMax ( ) kecuali ¶.

Nilai positif maksimum yang mungkin.

constex inline statis T baseTypeTerkecil ( ) kecuali ¶.

Nilai positif sekecil mungkin.

constex inline statis T baseTypeEpsilon ( ) kecuali ¶.

E terkecil sehingga 1+e != 1.

Tipe dasar: Dalam templat yang menerima parameter V (Warna4), T dapat disebut V::BaseType.

Tipe vektor dasar.

inline T * operator [] ( int i ) kecuali ¶.

inline const T * operator [] ( int i ) const nokecuali ¶.

шабон< class S >Matriks constexpr sebaris44< T >& amp; setNilai ( const Matrix44< S >& amp; v ) tidak kecuali ¶ templat< class S >Matriks constexpr sebaris44< T >& amp; setTheMatrix ( const Matrix44< S >& amp; v ) tidak kecuali ¶ templat< class S >Matriks konst sebaris44< T >& amp; setEulerAngles ( const Vec3< S >& amp; r ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp; setAxisAngle (konst Vec3< S >& amp; sumbu , sudut S ) kecuali ¶ templat< class S >Matriks konst sebaris44< T >& amp; memutar ( const Vec3< S >& amp; r ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp;< S >& amp; s ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp;< S >& amp; s ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp; set Terjemahan ( const Vec3< S >& amp; t ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp; terjemahkan ( const Vec3< S >& amp; t ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp;< S >& h ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& setShear ( const Shear6< S >& h ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp;< S >& h ) tidak kecuali ¶ templat< class S >inline constexpr const Matriks44< T >& amp; geser ( const Geser6< S >& amp;

fungsi statis publik

constex inline statis unsigned int dimensi ( ) kecuali ¶.

Mengembalikan jumlah dimensi baris dan kolom, yaitu 4.

шабон< class T >std :: ostream & Imath :: operator & m ) ¶

Keluaran aliran:

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

Hak Cipta © OpenEXR Serangkaian Proyek LF, LLC.