向量的基本運用:
建立3d向量:
typedef struct d3dxvector3 : public d3dvector
; d3dxvector3( const float * );
d3dxvector3( const d3dvector& );
d3dxvector3( const d3dxfloat16 * );
d3dxvector3( float x, float y, float z );
// casting
operator float* ();
operator const float* () const;
// assignment operators
d3dxvector3& operator += ( const d3dxvector3& );
d3dxvector3& operator -= ( const d3dxvector3& );
d3dxvector3& operator *= ( float );
d3dxvector3& operator /= ( float );
// unary operators
d3dxvector3 operator + () const;
d3dxvector3 operator - () const;
// binary operators
d3dxvector3 operator + ( const d3dxvector3& ) const;
d3dxvector3 operator - ( const d3dxvector3& ) const;
d3dxvector3 operator * ( float ) const;
d3dxvector3 operator / ( float ) const;
friend d3dxvector3 operator * ( float, const struct d3dxvector3& );
bool operator == ( const d3dxvector3& ) const;
bool operator != ( const d3dxvector3& ) const;
} d3dxvector3, *lpd3dxvector3;
以上是3d向量在標頭檔案的宣告,有4個建構函式,有4種建立方式。
//建立示例
#include #include #include int winapi winmain(hinstance hinstance,hinstance hprevinstance,lpstr szcmdline,int icmdshow)
; d3dxvector3 v2(temp);
d3dxvector3 v3(1.0f, 2.5f, -0.4f);
d3dxvector3 v4(v2);
return 0;
}
向量間的運算:可以進行基本的運算,如標頭檔案所述。
還有一些3d向量的函式
//計算向量的長度
d3dxinline float d3dxvec3length
( const d3dxvector3 *pv )
//計算向量的點積
d3dxinline float d3dxvec3dot
( const d3dxvector3 *pv1, const d3dxvector3 *pv2 )
//計算向量的叉積,第乙個引數指定結果儲存的位址
d3dxinline d3dxvector3* d3dxvec3cross
( d3dxvector3 *pout, const d3dxvector3 *pv1, const d3dxvector3 *pv2 )
DirectX學習 數學基礎 2
矩陣的基本運用 矩陣的作用是對點和向量進行變換 例如平移之類的操作 directx使用4x4矩陣,因為通常在把向量和點擴充套件一維變成乙個4d向量 最後一維分別為0或1,0是向量,1是點 因為最後一維為0則,平移矩陣對向量影響為0,聯絡平移矩陣的特點容易得出該結論。建立並使用4 4矩陣 includ...
directx數學基礎
向量 也叫向量,英文叫vector 向量就是包含大小 長度 和方向的乙個量。向量有2維的,也有3維甚至4維的。在dx的所有結構體中,有乙個結構體是用來表示3維向量的,它就是d3dvector,這個結構體很簡單,只有三個成員 x y z。一般來說,如果不涉及到向量運算的話,用這個結構體來定義乙個向量就...
DirectX 渲染 學習筆記 1
在2d遊戲中乙個遊戲的渲染部分一般有如下共同的資訊 紋理貼圖和精靈 精靈是一種特殊的物件型別.一般是出現在螢幕上的2d和3d圖形元素。在2d遊戲中,精靈不僅僅表示角色,還可以表示背景,遊戲物件,和任何單個的元素,甚至是能夠繪製出來的項 頂點 定義在遊戲圖形中的形狀其實是一系列點以及它們之間相互連線的...