How to convert between orthogonal and oblique systems
Question:
I have a 2D coordinate system defined by two non-perpendicular axes. I wish to convert from a standard Cartesian (rectangular) coordinate system into mine. Any tips on how to go about it?
Answer:
Sure. Let's approach this in a very elementary way: with matrix algebra.
Suppose that our two new 'basis vectors' are given by and , e.g. and .
Then our goal is to find a linear combination of them such that we can express some given vector, which we will imaginatively denote as . In particular, this will allow us to find where a standard point is in our new, nonstandard coordinate system.
But this is nothing more than solving the system:
Is that what you were looking for?
I'll make the assumption that the oblique coordinate system with angle and the Cartesian system share an origin.
Consider the following diagram:
We have at once the relationship . The acute angle formed by the -axis and is , since alternate interior angles in a pair of parallel lines are congruent. We use trigonometry to deduce the relation . Eliminating gives the equation for : .
To find an expression for , we see that this length is equal to the length of the hypotenuse of the right triangle with legs and . This leads to the equation . Solving for gives the equation .
Thus, the conversion formulae from Cartesian to oblique coordinates with angle are
For completeness, the formulae for converting from oblique to Cartesian coordinates are
Let us denote by "old" the usual cartesian system with orthogonal axes and by "new" the system with the skew axes (expressed in the old system). An old vector can be expressed as a linear combination of the skew vectors:
In order to transform from the the old orthogonal system to new skew system we need to invert the above equation and we get:
The above invverse matrix should be computed once and then used for the
transformation of all needed points. The inversion is possible when the respective denominator is not zero, i.e. when the new skew axes are not parallel.
Jiri's answer is wonderful, but there is a missing minus sign in upper right element in the inverted matrix. – user106231 Nov 7 '13 at 19:50
|