MATLAB Answers


Morphing 2D cartesian coordinates, from one shape to another

Asked by Right Grievous on 21 Oct 2014
Latest activity Commented on by Right Grievous on 23 Oct 2014
Hi All,
I have a slight problem for which I'm sure there must be a Matlab function but I can't work out what it is. I have a load of 2d cartesian coordinates which all fall within a rectangular box (A), I need to morph these coordinates to fill a different box (B) which has the same dimensions but is rotated to a different angle. I need to morph the coordinates, not rotate them (I can do that already).
I have been looking at various functions but they all seem to be related to images, not coordinate data, although many of them take a series of coordinates on which to base their morphing, which is why I think Matlab must be able to morph the coordinates themselves...
Any help would be greatly appreciated,


The most straightforward solution would be to rotate box A to be the same orientation as box B, and then translate the rotated box to match the position of box B, no?
Yes, I have done this already, I can rotate the coordinates fine. But I don't want to rotate them now, now I want to morph the first set of coordinates to fit box B, there is a difference.
i.e. Lets say box A is a vertically oriented rectangle and box B is a horizontally oriented rectangle. Now lets say there are a bunch of coordinates at the top right corner of box A. If I rotate the coordinates to fit box B they will now fall in the bottom right corner (because they have been rotated 90 degrees clockwise). However, what I want to do is morph them so that they will still be at the top right corner in box B; all of the coordinates will be stretched in the horizontal plane and squeezed in the vertical plane to fill a horizontal box instead. This wouldn't be too difficult to do, except that my boxes are all rotated at odd angles to each other.
I hope this clarifies things.

Sign in to comment.

0 Answers