I'm not sure if this is called "Interpolating" or something, situation is that we have matrices 1 and 2 (position and rotation of 3D models), then we give these 2 matrix and value between 0..1 to a function that gives third matrix that is something between these 2. Very handy tool for animating stuff.
This is what i have done so far, and it works well only not looking good when 2 objects are more than 45 degrees in different angle.
Code:
procedure MatrixBlend(dest,m1,m2: PMatrix; s: single);
var i,j: integer;
begin
for i:=0 to 3 do
for j:=0 to 3 do
dest[i,j]:=m1[i,j]+s*(m2[i,j]-m1[i,j]);
for i:=0 to 2 do
Normalize(dest[i,0],dest[i,1],dest[i,2]);
end;
Is there another kind of way to get steps between 2 animation frames?
Bookmarks