Computer monitors, the old CRT kind, scan from top to bottom like a TV. Before computers, that didn’t cause any problems but when people started accessing the screen, a new coordinate system (variation) was born. It was the “inverted” Cartesian coordinate system.

Well, I don’t think that there was ever some official rule that dictated the positive and negative coordinate directions but there has been a mathematical convention that always has Y getting positive as it goes up and X getting positive as it goes right.

The Linkage program used the computer oriented coordinate system at first. I recently changed to it meet the needs of a user. It also makes the program seem a bit more refined which will be helpful if I ever demo it as part of a job interview.

Now do I place 0,0 in the lower left of the screen and do I force it there when the Window is resized instead of keeping 0,0 centered? It’s a toss up as to the benefit of this since the user can pan the initial window to get 0,0 anywhere they want.

image

Status Bar Shows Mouse Position

The image shows the mouse pointer at -50,-50. Although the dimensions would show positive even if the coordinates were reversed, moving the mouse showed that the coordinates are working correctly.

One problem with the coordinate system change was that incrementing angles to make things move clockwise then made things move counter-clockwise. Drawing arcs, like used to show solid links, was also broke after the change as were numerous other small details.

I am at a loss for what feature to add next. I think that a testing plan and some testing might be the best thing to do now that a large change has been made. But maybe allowing the user to set the grid size would be in order.