Re: Re: task
- To: mathgroup at smc.vnet.net
- Subject: [mg26781] Re: [mg26766] Re: [mg26731] task
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Wed, 24 Jan 2001 04:18:28 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
When I saw this message I assumed that some one is trying to get us to do his school homework for him and since I would not feel very happy about my students doing this sort of thing I hesitated to offer my help. But since Daniel Lichblau has already answered this I feel free to point out that one does not need to use such a high powered tool as Groebner Basis (of which I am a great fan) or even the ability to solve systems of non-linear equations to deal with what is an elementary trigoneometry problem (except its final stage!). Let's denote the angles at the base by alpha nad beta. The we obviously have: d == h(Cot[alpha] +Cot[beta]) Since by similar triangles Cot[alpha]==d/Sqrt[a^2-d^2] and Cot[beta]==d/Sqrt[b^2-d^2] we get the equation 1==h(1/Sqrt[a^2-d^2]+1/Sqrt[b^2-d^2]) Now, to solve this for d does indeed need Mathematica, (so I suspect there might have been a mistake in the picture) , but in any case one can get a (horrible looking) answer with Solve[1==h(1/Sqrt[a^2-d^2]+1/Sqrt[b^2-d^2]),h] -- Andrzej Kozlowski Toyama International University JAPAN http://platon.c.u-tokyo.ac.jp/andrzej/ http://sigma.tuins.ac.jp/ on 1/22/01 5:09 PM, Daniel Lichtblau at danl at wolfram.com wrote: > Alexey Kolenko wrote: >> >> Please help me. >> Need solve this geometry task in symbolically form. >> Need find "d" via "a", "b", "h". >> >> Picture at address: >> http://denix.org/picture.gif >> >> Bye. >> Alexey. > > I'll annotate your picture. Let x be the left side vertical, y be the > right side vertical. Split side a into a1 and a2 with a2 northwest of > a1. Split b into b1 and b2 with b1 southwest of b2. Split d into d1 and > d2 with d1 left of d2. With this, we will get nine equations in nine > unknowns (we regard a, b, and h as known parameters). As we only care > about getting a relation between d and these parameters, we can > eliminate everything else. > > In[1]:= polys = {x^2+d^2-a^2, y^2+d^2-b^2, a1+a2-a, b1+b2-b, d1+d2-d, > d1^2+h^2-b1^2, d2^2+h^2-a1^2, d1*y-h*d, d2*x-h*d}; > > In[2]:= InputForm[Timing[poly = First[GroebnerBasis[polys, d, > {x,y,a1,a2,b1,b2,d1,d2}, > MonomialOrder->EliminationOrder, > CoefficientDomain->RationalFunctions]]]] > > Out[2]//InputForm= > {0.42999999999999994*Second, -d^9 + d^7*(2*a^2 + 2*b^2 - 4*h^2) + > d^5*(-a^4 - 4*a^2*b^2 - b^4 + 6*a^2*h^2 + 6*b^2*h^2) + > d^3*(2*a^4*b^2 + 2*a^2*b^4 - 2*a^4*h^2 - 8*a^2*b^2*h^2 - 2*b^4*h^2) + > d*(-(a^4*b^4) + 2*a^4*b^2*h^2 + 2*a^2*b^4*h^2 - a^4*h^4 + > 2*a^2*b^2*h^4 - > b^4*h^4)} > > Now Solve poly==0 for d to get a lengthy radical solution. > > You could instead do > > sol = Solve[polys==0, d, {x,y,a1,a2,b1,b2,d1,d2}] > > which can be less efficient (but works fine in this case). > > > Daniel Lichtblau > Wolfram Research > >