Introduction

The Problem

Available solutions

Analytical Geometry methods

Writing your own using the available Open source tools

Conclusion