@mecodesta: Coordinate geometry has been a difficult topic for me too. Handling all those points and lines, finding intersections and areas, and simulating things in euclidean space; these had always been a hassle. Not to mention, the special cases when the line has infinity gradient, or those precision problems that keeps you stuck with RE and WA. Lets say I could easily solve geometry problem on pen and paper, but it was still a challenge to do it elegantly in the code.

Then one day, I realized, things are actually a lot simpler if I just use vector! Trust me, this thing totally changed my perspective. Instead of representing a line as y = mx + c or Ax + By = c, it is much more elegant to represent it as a parametric equation ( P.E ) v = v0 + st.

I first learned about parametric equations in CLRS. It has lots of advantages like, you can easily judge if an intersection between two line segments occurred between the segments or not by the value of t in the parametric equation.

Using P.E I can check if two lines are parallel or not by their cross product. I can check if they are perpendicular or not with dot product. I can rotate a vector 90 degree anti-clockwise with perp product.

Check out this site for more details on vector geometry and code : http://geomalgorithms.com/index.html

Here is a list of problems to solve: https://docs.google.com/spreadsheet/pub?key=0Avbf9q-07MMHdEI4RWhmeXRXQXJNQ09WVWl2TVptalE&output=html

If we can code elegantly, then our lives would be simpler. There are many tricks, formulas and theorems out there that will make things less difficult. We have to continue our search to find them.