The Math Forum

Ask Dr. Math - Questions and Answers from our Archives
Associated Topics || Dr. Math Home || Search Dr. Math

2D Coordinate System

Date: 05/13/99 at 01:27:18
From: Ilya Burda
Subject: Coordinate transform

I have two 2D coordinate systems S1 and S2 arbitrarily positioned on a 
plane. I also have two points A and B with known coordinates in the S1
system. I have angles between S2 coordinate axes and lines connecting 
the S2 origin with points A and B. Is this enough data to determine 
the relative position of S2 and S1, or I need one more point?

This is actually a simplified version of the ultimate problem in 3D.
How many points do I need for 3D? 


Date: 05/13/99 at 08:08:04
From: Doctor Jerry
Subject: Re: Coordinate transform

Hi Ilya,

Except in degenerate cases, the the lines from the origin of S2 to the 
points A and B will intersect at a point (h,k) relative to S1. This is 
the origin of the S2 system (if I understand your problem properly). 
From the angles you can figure out the rotation of S2 relative to S1.  
I think, therefore, that you have enough information. Before I could 
offer an answer for the 3D part of your question, I'd have to spend 
more time than I can offer, given the number of questions we have.

- Doctor Jerry, The Math Forum   

Date: 05/15/99 at 00:38:21
From: Ilya Burda
Subject: Re: Coordinate transform

Hello Dr. Math,

I think it's a little more complicated than it seems at the beginning.
Here is where I get stuck. Let's call the axes of S1 X1 and Y1, its
origin O1, and X2, Y2 and O2 the same for S2. We have the positions of 
points A and B defined in S1 as A(X1a,Y1a) and B(X1b,Y1b). Since the 
lines connect O2 with A and B we can write their equations in S2 as:

Y2 = alpha*X2    alpha is a slope of line O2A
Y2 = betta*X2    beta is a slope of line O2B

If we call the rotation angle between S2 and S1 theta then the same 
two lines could be rewritten in S1 as:

Y1 = (theta+alpha)*X1+Ca
Y1 = (theta+betta)*X1+Cb

Ca and Cb are some offsets since those lines don't cross O1. For X1,Y1 
in those equations we can substitute X1a, Y1a, X1b and Y1b.

We get

Y1a = (theta+alpha)*X1a+Ca;
Y1b = (theta+betta)*X1b+Cb;

two equations with three unknowns: theta, Ca and Cb. Even if I bring a 
third point C(X1c,Y1c) it does not solve the problem by introducing 
one more unknown Cc.


Date: 05/15/99 at 08:36:59
From: Doctor Jerry
Subject: Re: Coordinate transform

Hi Ilya,

I don't think that you can add a slope and an angle.  


If I understand your original statement, then we are given (a1,a2), 
(b1,b2), alpha, beta, and theta.  Relative to the (x,y)-system, with 
(h,k) unknown, we see that

(b2-k)/(b1-h) = tan(beta+theta)

(a2-k)/(a1-h)= tan(alpha+theta).

This is a system of two equations in two unknowns.  You can solve for 
h and k. 

If theta is not known, then I believe that another point is needed. 

Date: 05/15/99 at 09:00:34
From: Ilya Burda
Subject: Re: Coordinate transform

Yes. That is the whole idea that Theta is NOT known. I treat slopes 
and angles the same because I can always find one from another. I 
think dealing with slopes simplifies equations. (It gets rid of 
tan()). I don't think another point can help. Can you please show me 
how a third point resolves the problem?

Thanks again for your time.

Date: 05/16/99 at 06:36:04
From: Doctor Jerry
Subject: Re: Coordinate transform

Hello Ilya,

I gave the equations

(b2-k)/(b1-h) = tan(beta+theta)

(a2-k)/(a1-h)= tan(alpha+theta)

in my last message. They are two equations in the three unknowns h, k, 
and theta. If we use a third point (c1,c2) and assume the angles 
between the line from (c1,c2) to the origin (h,k) of the second system 
and the axes of the second system are known (as before), then we will 
have a third equation

(c2-k)/(c1-h) = tan(gamma+theta)

So, now we have three equations in the three unknowns h, k, and theta.  
Of course, I have used the geometry of the figure


Actually, I think one can approach this a little differently, to 
avoid the special features of the figure. Suppose {cos(t),sin(t)} and 
{-sin(t),cos(t)} are vectors in the directions of the axes of the 
second system. The angle t is not known. Also not known are the 
coordinates (h,k) of the origin of the second system. Given a point 
(a1,a2) we know that the vector from (a1,a2) to (h,k) makes a known 
angle t1 with the vector {cos(t),sin(t)}. So, we can write

{cos(t),sin(t)} dot {h-a1,k-a2} 
   = |{cos(t),sin(t)}|*|{h-a1,k-a2}|*cos(t1)

This can be rewritten as

(h-a1)*cos(t)+(k-a2)*sin(t) = sqrt((h-a1)^2+(k-a2)^2)*cos(t1).

This is one equation in the unknowns h, k, and t.

With each of two other points we can form a similar equation in the 
same unknowns.  So, we have three equations in three unknowns. 
However, the equations are not easy.

- Doctor Jerry, The Math Forum   

Date: 05/16/99 at 21:30:28
From: Ilya Burda
Subject: Re: Coordinate transform

Thank you, Dr. Math.

That is precisely what I was looking for. I'll try not bother you 
with 3D for a while and give it a try on my own. Thanks again for 
your time and effort.

Ilya Burda.
Associated Topics:
High School Coordinate Plane Geometry
High School Geometry

Search the Dr. Math Library:

Find items containing (put spaces between keywords):
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

Math Forum Home || Math Library || Quick Reference || Math Forum Search

Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.