Archived

This topic is now archived and is closed to further replies.

ludo8x

Matrix bones

Recommended Posts

I''d read somewhere that bones are represent by matrix.. but now, if i have start and end point of a bone, how can i represent it like a matrix ?? I want to moltiply the bone matrix to a vector vertex to move this vertex in the space.. how can i do it ?

Share this post


Link to post
Share on other sites
Bones aren''t represented by a matrix, the orientation of the bone is represnted by the matrix.

Share this post


Link to post
Share on other sites
But if i have the start and the end point of a bone in two different key frames, how can i associate a matrix to this generic trasformation ?

Share this post


Link to post
Share on other sites
Bones are described by two properties, their position, and their rotation. Now how you move between two key frames is you interpolate between the positions to get your current position, and to get your rotation you interpolate between the rotations.

Now you can convert the rotation (which is probably in a quaternion) to a matrix and then take your position and convert it to a matrix and multiply it with your rotation.

final matrix=rotation matrix*position matrix;

Remember matrix multiplication is not communicative so you need to multiply in that order.

If you''re using direct3d, I think there are direct3dx functions that interpolate, and convert to matrix for you.

Goodluck!

~Wave

Share this post


Link to post
Share on other sites