Thanks for the help, i've managed to figure out a way of doing it using a similar matric, in this case just performng a rotation along each axis seperately.

However now i've got what i thought to be the simpler of the problems to figure out however my first method turned out to not be correct

In this case it is just a simple scaling between two points in a 3D space.

for example i have point A. with x,y,z corrdinates (54.44, -11.129, 4.884) and point B (53.823, -13.98, 9.326). These two points have a distance of 5.314156001 angstroms for example.

Now i pick a new set of coordinates for B say (48.623, -17.925, 23.662) which now has a disatnce of 20.79539935 angstroms from A.

Obviosuly now i want to reduce to the correct distance, however for the life of me i can't figure out how, i thought at first it was a simple scaling by the ratio of the two distances, i.e. a factor of 4.8088, for each coordinate however that doesn't work becuase i think it uses coord (0,0,0) as the origin and not point A.

I can't help but think it is something really simple to do, however i don't know

Any help is appreciated

Regards Wolfe

*edit*

NM lol i think i have it, take away point A's coordinates from point B's, then reduce by the ratio and then add on point A's coordinates again. i beleive thats it....