Okay, this is something that should be a simple matrix question, but my understanding of matrices is somewhat limited. Here\'s the scenario: I have a 1px by 1px sprite tha
What you need to do is do each transformation one step at a time. Do the scaling first draw it. Is it where you expect it. Then throw in the the rotate, and then the translate. This will help uncover incorrect assumptions.
You can also draw in temporary lines to help figure where the coordinates are. For example if you do your stretching and rotation and expect your end point to be at 0,0. Drawing a another line with one endpoint at 0,0 will serve as a double check to see if that really the case.
For your specific problem the problem may be with the rotation. After you have scaled and rotate the line is now off center causing you problems when you are translating.
The general solution is to move the line back to the origin do any operations that involve changing it shape or orientation. Afterward because you are at a known good location you can translate to your final destination.
RESPONSE TO COMMENTS
If translation is an issue and you are transforming the coordinate system then you will need to write a conversion function to convert between the old system and the new.
For example if you are rotating 45 degrees. Before the rotation you could translate by 0,1 to move up 1 inch. After rotation you will have to translate by roughly -.70707, .070707 to move up 1 inch relative to the original coordinate system.