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
signature.asc
Description: Digital signature
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe