How do I transform value into screen coordinates

  • Thread starter tonytj
  • Start date
  • #1
1
0
How do I transform my x, y values into screen coordinates system

All values is in pixels
In my coordinate system origo is located in (40,495)
The display area that I can use is from X=40 to x=750 and
from y=495 to y=55
When you go down in the coordinate system the y value is increasing and when
you go to the right
the x value is increasing.
The y-axis is showing time from 12:00 to 20:00 and the x-axis is distance
showing from 0 to 800

So I can have values like
[13:10, 190]
[13:40, 240]
[14:25, 390]
[15:10, 431]
[16:10, 554]
[17:10, 643]
[18:10, 740]

I just wonder if someone has a algoritm that I can use to transform my
values into this coordinate system.


//Tony
 

Answers and Replies

  • #2
HallsofIvy
Science Advisor
Homework Helper
41,833
956
I assume you want a linear transformation (so that one part of the screen isn not "squeezed" or "stretched" more than another). You want x= 0 to correspond to screen coordinate, h= 40 and x= 800 to correspond to h= 750. A linear transformation is of the form h= Ax+ B. x=0, h= 40 tells you that 40= A(0)= B so B= 40. x= 800, h= 750 gives 750= 800A+ B= 800A+ 40. Solve that for A.

Similarly, in terms of "y" and vertical coordinates, you want v= Ay+ B. y= 12, at the bottom, corresponds to v= 495 so 495= 12A+ B. y= 20, at the top, corresponds to v= 55 so 55= 20A+ B. You can eliminate B from that by subtracting the two equations: 495- 55= 440= 8A. Solve that for A, the put that into either equation to solve for B.
 

Related Threads on How do I transform value into screen coordinates

Replies
3
Views
1K
Replies
7
Views
1K
  • Last Post
Replies
1
Views
2K
Replies
7
Views
4K
Replies
1
Views
825
Replies
5
Views
13K
Replies
7
Views
7K
Replies
1
Views
554
Replies
1
Views
291
Replies
2
Views
931
Top