
On Mon, Aug 27, 2007 at 11:04:58AM +1000, Tony Morris wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I went camping on the weekend and a friend of mine who is a builder asked me many questions on geometry as they apply to his every day work - - most of which I could answer.
However, there was one that I couldn't and I am having trouble googling a solution (for lack of keywords?). I'm hoping a fellow Haskeller could help me out (in Haskell of course).
The problem is finding the unknown x from the two knowns a and b in the given image below (excuse my Microsoft Paintbrush skills). I may have misunderstood his problem (we were drawing in dirt) and actually, it is the straight line between the two points on the circumference that are known and not the specified 'b', but I figure I could derive one solution from another if I have misunderstood him.
Here is my image: http://tinyurl.com/2kgsjy
This is a fairly simple exercise in trigonometry. Call the angle subtended by b, θ. Then: b = a sin(θ/2) a - x = a cos(θ/2) by the relation between circles and trig functions. From this we can (algebraicly) derive: sin(θ/2) = b / a x = a - a cos(θ/2) x = a - a (1 - b² / a²)^½ (nb, I'm assuming θ is less than 180° here) And as you request: problem a b = a - a * sqrt (1 - b*b / a*a) Stefan