   what's the meaning of every row of matrix
  When I read other's source, there exist originsAndPhases[q].x = branchXforms._41;originsAndPhases[q].y = branchXforms._42;originsAndPhases[q].z = branchXforms._43;originsAndPhases[q].w = cosf(float(q*0.1f));where originsAndPhases is D3DXVECTOR4 and branchXforms  is D3DXMATRIX.what's the meaning of every row of a matrix in DirectX?  Thank you.   
  The rows of the matrix are the axes of the new coordinate system the matrix transforms into. If you transform the X-axis (coordinate [1, 0, 0, 0]) of the old coordinate system, the transformed X-axis is the X-axis in the new coordinate system, and is the first row of the matrix.   ;  Brother Bob, thank you.If the oldMatrix=1 0 0 0  0 1 0 0  0 0 1 0  0 0 0 1and the newMatrix=1 1 1 0   2 2 2 0    3 3 3 0   4 4 4 1The oldMatrix stands for the coordination system is x axis is(1,0,0),y axis is(0,1,0) and z axis is(1,0,0). The transformed new matrix denotes that the new coordination system's XYZ axis are changed into X=(1,1,1),Y=(2,2,2),Z=(3,3,3)? The capital xyz is the short name of x axis ,y axis and z axis.Is the fourth row stands for translation and the first three row stands for rotation and scaling?  I really dont know what the third row stands for.   ;  Yes, the fourth row contains the translation vector (X,Y,Z) that is applied after the rotation & scaling.When using D3DXMATRIX, the translation vector can be accessed through:D3DXVECTOR3 translation( matrix._41, matrix._42, matrix._43 );;  The fourth row is the coordinate of the fourth axis. In homogeneous coordinates it represents translations only if the W-component is 1. Consider a normal for example; even if there is a "translation part" of the matrix, the normal is not translated, because its W-coordinate is 0.   ;  In the source code, I don't know the fllowing meaning:D3DXVECTOR3 branchDir(matrix._31, matrix._32, matrix._33);what's the third row of a matrix stand for?   ;Quote:Original post by Brother BobThe rows of the matrix are the axes of the new coordinate system the matrix transforms into. If you transform the X-axis (coordinate [1, 0, 0, 0]) of the old coordinate system, the transformed X-axis is the X-axis in the new coordinate system, and is the first row of the matrix.As Brother Bob said, the first row contains the X-axis of the new coordinate system. The second row contains the Y-axis and the third row the Z-axis of the new coordinate system.Sorry about my misleading post before. I'm not that in to matrix maths, but I just assumed the last column will always be {0,0,0,1}, because this is stated somewhere in the msdn docs.   ;  SiS-Shadowman,Brother Bob, thank you.As you stated, the third row of the matrix stands for the transformed Z axis in the new coordination system.  Then the transformed matrix's first three row denote the new coordination system's origin(x,y,z axis) relative to the old coordination system. Right?   ;  That is correct.   ;Quote:Original post by SiS-ShadowmanSorry about my misleading post before. I'm not that in to matrix maths, but I just assumed the last column will always be {0,0,0,1}, because this is stated somewhere in the msdn docs.And the Allegro docs say something similar as well. That situation is in the case the matrix doesn't have a projection transformation if I recall correctly. So if a matrix only has either translations, rotations and/or scaling (the model transformation operations, c'mon), those values will be like that.   