
-----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 Thanks for any tips or keywords with which to google! - -- Tony Morris http://tmorris.net/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG0iM6mnpgrYe6r60RAqfDAJ4gFAdr7zP1ehLl8H2MaCzCNfAvhQCgmL8D 4nrxrK13O9EBNv/ojPIMJXI= =eaxX -----END PGP SIGNATURE-----

Hi Tony, x is called the sagitta. At least when making a telescope mirror it is[1]. By bisecting your angle with another radius, you'll see that you have a right triangle with hypotenuse a, and legs of length (b/2) and (a-x). Then sagitta a b = a - sqrt (a*a - b*b/4) Considered as a function of half the angle subtended by the points on the circumference, this is called the versine. http://en.wikipedia.org/wiki/Versine [1] http://www.stellafane.com/atm/atm_grind/atm_measure_sag.htm

You've got a which is the radius of the circle, and b which is the length of the arc, thus you've got the angle between the two red radiuses : u = b / a So with basic trigonometry, we can deduce a - x = a * cos(u/2) x = a *( cos(u/2) - 1) -- Jedaï

2007/8/27, Chaddaï Fouché
You've got a which is the radius of the circle, and b which is the length of the arc, thus you've got the angle between the two red radiuses : u = b / a So with basic trigonometry, we can deduce a - x = a * cos(u/2) x = a *( cos(u/2) - 1)
-- Jedaï
Actually that would be x = a * (1 - cos (b/(2a))) Ooops o_O -- Jedaï

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

On Mon, 27 Aug 2007 11:04:58 +1000, you 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
Thanks for any tips or keywords with which to google!
So a is the radius of the circle, and b is half the length of the chord. From basic trigonometry: b = a * sin @ where @ is half of the angle between the two radii as drawn in the picture. Then: x = a * (1 - cos @) Using the trigonometric identity sin^2 @ + cos^2 @ = 1 and rearranging, we get: x = a - sqrt(a^2 - b^2) I don't know offhand if there's a straightforward way to arrive at this result without using trigonometry. By the way, I found http://www.1728.com/circsect.htm by Googling height chord. Steve Schafer Fenestra Technologies Corp. http://www.fenestra.com/

On Sun, 26 Aug 2007 21:30:30 -0400, you wrote:
I don't know offhand if there's a straightforward way to arrive at this result without using trigonometry.
Duh. Of course there is.... Steve Schafer Fenestra Technologies Corp. http://www.fenestra.com/

Steve Schafer wrote:
x = a - sqrt(a^2 - b^2)
I don't know offhand if there's a straightforward way to arrive at this result without using trigonometry.
Here you go, though with a slightly different result (same as Joel Koerwer): a^2=(b^2)/4+(a-x)^2 (Pythagoras) solving x: --> x(1,2) = a +/- sqrt (a^2 - b^2/4) (I) Did anyone compare the answers? (I) aai a b = (x1,x2) where x1 = a + sqrt disc x2 = a - sqrt disc disc = a^2-b^2/4 Others: schafer a b = a - sqrt(a^2 - b^2) jedaï a b = a * (1 - cos (b/(2*a))) stefan a b = a - a * sqrt (1 - b*b / a*a) joel a b = a - sqrt (a*a - b*b/4) Assume a and b are given: a=10; b=8 Results: *Main> aai 10 8 (19.165151389911678,0.8348486100883203) the answer is the smaller value the other value = the diameter of the circumference minus x (0.00 secs, 523308 bytes) *Main> schafer 10 8 4.0 (0.01 secs, 524924 bytes) *Main> jedaï 10 8 0.789390059971149 (0.01 secs, 524896 bytes) *Main> stefan 10 8 NaN (0.00 secs, 524896 bytes) *Main> stefan 10 8 4.0 (0.01 secs, 524896 bytes) *Main> joel 10 8 0.8348486100883203 (0.01 secs, 524896 bytes) Where do I go wrong (I)? Thanks @@i

On Mon, 27 Aug 2007 19:05:06 +0200, you wrote:
Where do I go wrong (I)?
b is defined to be _half_ of the chord (the "semichord," I suppose). You're assuming it to be the entire chord. Steve Schafer Fenestra Technologies Corp. http://www.fenestra.com/
participants (7)
-
Arie Groeneveld
-
Chaddaï Fouché
-
Joel Koerwer
-
Peter Verswyvelen
-
Stefan O'Rear
-
Steve Schafer
-
Tony Morris