Well if you have idea about math, You can write the implementation itself by using the angles and the functions "sin , cos , tan etc. " Provided in the c++ math library.

And if you wish to get yourself a algorithm i suggest you try googling it up.

You could use <cmath> with sin/cos/tan and implement normal mathematics, just remember that the sin/cos/tan function in cmath are written in Radians :)

You are aware that tan(90) [in degree] is infinity, and obviously, so is tan(pi/2) [in radians] as pi/2 radians == 90degrees.

That is easy to see if you consider that tan is the ration of the length of the two shorter sides on a right angled triangle. Ie by the time the angle nearly 90 degrees the other angle in the triangle is very small. Try drawing that and you will see that you are rapidly getting to LOTS/(Near Zero).

Here is a sample of my code where I retrieve a fingerprint template stored in mysql database. I have stored the fingerprint template as BLOB type. I have a table ...