1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How do I transform value into screen coordinates

  1. Feb 25, 2013 #1
    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.

  2. jcsd
  3. Feb 25, 2013 #2


    User Avatar
    Science Advisor

    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.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook