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?

Thanks.
```

```
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
http://mathforum.org/dr.math/
```

```
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.

Thanks.
```

```
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?

```

```
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
http://mathforum.org/dr.math/
```

```
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

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
Math Forum Home || Math Library || Quick Reference || Math Forum Search