Associated Topics || Dr. Math Home || Search Dr. Math

### A Re-Framing Inversion: Transforming the Coordinates in Between

```Date: 03/27/2012 at 18:37:37
From: Terry
Subject: "Zoom" transformation of curve

Say I have a function that passes through (0, 0) to (1, 1). For example,
y = x^2.

Now, pick two points on that curve between (0, 0) and (1, 1). For example,
(1/4, 1/16) and (1/3, 1/9).

Transform the first point to (0, 0) and the second point to (1, 1).
Continuing my example,

(1/4, 1/16) -> (0,0)
(1/3, 1/9) -> (1,1)

What is the resulting function after transformation? In other words, what
does y = x^2 become?

If I only concerned myself with one point between (0, 0) and (1, 1) and
wanted to transform it to (0, 0), the resulting equation would involve two
parameters a and b, where

a is the change between the x coordinate of the point and x = 0
b is the change between the y coordinate of the point and y = 0

x<transformed to zero> = (x<point> - a) or (a - x<point>)
y<transformed to zero> = (y<point> - b) or (b - y<point>)

I am not sure which order the terms should go, or if there are additional
components that I do not know about.

Involving a second point between (0, 0) and (1, 1) that needs to be
simultaneously stretched to (1, 1) while the first point is being brought
to (0, 0) brings in two more parameters (c, d) that respectively represent
the change in x and y from 1. Terms like (1 - c) or (c - 1), (x - 1) or
(1 - x), (x - c) or (c - x), as well as the respective y and d
counterparts (y - d), are probably brought into play somehow.

I also imagine that the order (a - x) or (x - a) for the first point will
be the opposite for that of the second (x - c) or (c - x), since they are
heading in different directions.

Returning to my original example, I see an equation for y = x^2 with the
two points (a, b) and (c, d) being something like this:

[(x - a)(c - x)/(0 - a)(1 - c)]^2
y = -----------------------------------
(y - b)(d - y)/(0 - b)(1 - d)

But I don't think this is correct; it's all a bit beyond me. Sadly, I
would still be in trouble if I only concerned myself with the
transformation of one coordinate.

I asked the linear algebra teacher at my college, and he gave me

x' = (x - a)/(1 - a)
y' = y/b

When I plugged this into y = x^2, the resulting curve did not go between
(0, 0) and (1, 1). In addition, I guess he did not pay attention to the
fact that I mentioned a second point, as well.

He is sort of my only reference at my college, so I am out of options.

This transformation would GREATLY help me with a program that I am writing
for my own project.

Thank you in advance for any help!

```

```
Date: 03/27/2012 at 19:08:53
From: Doctor Peterson
Subject: Re:

Hi, Terry.

Just to make sure I've got it right, and to help in labeling things,
here's a picture of what we're doing:

1 +..............................................o
|                                             o:
|                                            o :
|                                           o  :
|                                          o   :
|                                         o    :
|                                       o      :
|                                    o         :
y_b|.......D------------------------B             :
|       |                   o    |             :
|       |              o         |             :
|       |           o            |             :
|       |         o              |             :
y|.......R........P               |             :
|       |       o:               |             :
|       |      o :               |             :
|      Y|     o  :               |             :
|       |   o    :               |             :
|       | o      :               |             :
y_a|.......A--------Q---------------C             :
|     o :    X   :               :             :
|  o    :        :               :             :
0 o----------------------------------------------+
0      x_a       x              x_b            1

We've got fixed points A(x_a, y_a) and B(x_b, y_b), and want to transform
them to a new set of coordinates X and Y in which A is (0, 0) and B is
(1, 1). I'll assume that x_b > x_a and y_b > y_a, which will be true if your
function is always increasing.

Our coordinate X is the ratio AQ:AC, and Y is the ratio AR:AD.

Thus, for point P(x,y), we have

AQ     x - x_a            AR      y - y_a
X = -- = -----------      Y = -- = ------------
AC   x_b - x_a            AD    y_b - y_a

To express your function in terms of X and Y, we have to invert the
formula for X:

(x_b - x_a)X = x - x_a
x = (x_b - x_a)X + x_a

Given any function y = f(x), we have

y = f(x) = f((x_b - x_a)X + x_a)

Therefore,

f((x_b - x_a)X + x_a) - y_a
Y = ---------------------------
y_b - y_a

Let's apply it to your example, where f(x) = x^2, A is (1/4, 1/16), and B
is (1/3, 1/9):

f((1/3 - 1/4)X + 1/4) - 1/16   ((1/3 - 1/4)X + 1/4)^2 - 1/16
Y = ---------------------------- = -----------------------------
1/9 - 1/16                      1/9 - 1/16

You wouldn't need to do this in your program, but this simplifies to

(X/12 + 1/4)^2 - 1/16   (X + 3)^2 - 9
Y = --------------------- = -------------
7/144                 7

As a check,

when X = 0, Y =  (9 - 9)/7 = 0
when X = 1, Y = (16 - 9)/7 = 1

This is just as you wanted.

- Doctor Peterson, The Math Forum
http://mathforum.org/dr.math/

```

```
Date: 03/27/2012 at 20:45:12
From: Terry
Subject: Thank you ("Zoom" transformation of curve)

Wow! Thank you kindly. That helped immensely!!

Terry
```
Associated Topics:
High School Linear Algebra

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