Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 4 of 4
  1. #1
    Senior Coder
    Join Date
    Dec 2005
    Location
    Slovenia
    Posts
    1,959
    Thanks
    120
    Thanked 76 Times in 76 Posts

    cartesian coordinate system, calc change in position

    Need to know if an object moved, from x1 to x2, for how much and in which direction
    For our case say that y = 0.

    examples

    Code:
    x1   x2     expected  result
    1    -1              -2
    1     2                1 
    -1   -2              -1
    -1   -3              -2
    6     7                1
    7     6               -1
    etc
    The simplest way to calc that ?
    Last edited by BubikolRamios; 05-30-2011 at 02:02 PM.
    Found a flower or bug and don't know what it is ?
    agrozoo.net galery
    if you don't spot search button at once, there is search form:
    agrozoo.net galery search

  • #2
    Regular Coder BWiz's Avatar
    Join Date
    Mar 2006
    Location
    Sol System
    Posts
    471
    Thanks
    7
    Thanked 21 Times in 21 Posts
    Well if y is always zero, then the distance traveled will always be x_final - x_initial. The sign of the answer will tell you whether your moved in the +x direction or the -x direction.

    If your y changes, however, you'll have to use the distance formula to calculate the MAGNITUDE of the distance. To get the direction and magnitude, I would use vectors, and their respective operations.
    BWiz :: Happy Coding!
    2006
    2007 2008 2009
    2010 2011
    Irrational numbers make no sense.

  • #3
    Regular Coder bobleny's Avatar
    Join Date
    May 2007
    Posts
    258
    Thanks
    3
    Thanked 11 Times in 11 Posts
    If both your Y and X coordinates change, you can just use the Pythagorean theorem (a2 + b2 = c2) where the difference in X is your a and the difference in Y is your b. Then solve for c and you have your distance between the two points.

    Code:
    Point 1 (-1, 0)
    Point 2 (2, 4)
    
    |-1 - 2| = a = 3
    |0 - 4| = b = 4
    
    a squared = 9
    b squared = 16
    
    9 + 16 = c = 25
    
    The square root of 25 = 5
    The distance between Point 1 and Point 2 is 5.
    --www.firemelt.net--
    * No good deed goes unpunished.
    * Cheer up, the worst has yet to come...

  • #4
    Banned
    Join Date
    Feb 2011
    Posts
    2,699
    Thanks
    13
    Thanked 395 Times in 395 Posts
    Quote Originally Posted by BubikolRamios View Post
    Need to know if an object moved, from x1 to x2, for how much and in which direction
    For our case say that y = 0.

    examples

    Code:
    x1   x2     expected  result
    1    -1              -2
    1     2                1 
    -1   -2              -1
    -1   -3              -2
    6     7                1
    7     6               -1
    etc
    The simplest way to calc that ?
    deltaX = x2 - x1 where deltaX is the distance moved on the x axis.

    Bear in mind that subtracting a negative number is the same as adding the absolute value of that number.

    If you take the highlighted xample:

    deltaX = x2 - x1 = -3 - (-1) = -3 + 1 = -2

    If deltaX is negative (less than 0), the object moved in the negative direction on the x axis. If deltaX is positive, the object moved in the positive direction on the x axis.

    If the object moves on the y axis as well, then as bobleny described, you can use Pythagoras' Theorem to solve for the straight line distance between 2 points.

    distance = sqrt(deltaX^2 + deltaY^2)

    In bobleny's example there needs to be a minor correction

    Code:
    9 + 16 = c^2 = 25
    Last edited by bullant; 05-31-2011 at 02:10 AM.


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •