Hello,
Sorry about this but my trig's been firing blanks lately:-
If I know the area of a triangle and its internal angles, can I work out the length of its sides?
Printable View
Hello,
Sorry about this but my trig's been firing blanks lately:-
If I know the area of a triangle and its internal angles, can I work out the length of its sides?
Yes, though it'd kind of be a pain.
If you have all the angles, you can guess the length of one side and use the law of sines to obtain the remaining sides. Once you have all the sides, you can use Heron's formula to calculate the area. This obviously won't match your specified area, but since area scales according to length squared, you can multiply your guess by the square root of the ratios of the areas, i.e. Lreal = Lguess*sqrt(Areal/Aguess).
Law of sines - Wikipedia, the free encyclopedia
Heron's formula - Wikipedia, the free encyclopedia
There's probably some way you can rearrange the stuff so that you're solving a system of equations as opposed to guessing, but I think guessing then scaling is pretty fast.
Okay yeah, since sin(a)/A = constant and so on, you can replace the sides with A = sin(a)/constant, and then solve for the constant, but you'd be solving a 4th order polynomial.
Yeah, I did think about doing it iteratively, but I feel that I would end up doing a thousand calculations coming up with something quite simple.
How about then, if:-
Constant area, as before;
I had the ratio of the length of the opposite and adjacent sides (e.g. 16:9);
The triangle will always be right angled;
I don't need to solve the length of the hypotenuse (unless it helps solve the other sides).
Would it be easier to get the actual lengths then?
The ratio could be interpreted as angles, that explains my earlier question.
(This is about scaling a custom coordinate system relative to screen aspect ratio, if you're interested)
The law I'm using:
Solve for a:Code:K = (a^2)(sinBsinC/sinA)/2
K = area
A, B, C = angles
Now just swap in respective values for each side:Code:K/(a^2) = (sinB*sinC)/(2*sinA) =
a^-2 = ((sinB*sinC)/(2*sinA))/(K) = (sinB*sinC)/(2*sinA*K)
a^2 = ((sinB*sinC)/(2*sinA*K))^-1 = (2*sinA*K)/(sinB*sinC)
a = sqrt((2*sinA*K)/(sinB*sinC))
Code:a = sqrt((2*sinA*K)/(sinB*sinC))
b = sqrt((2*sinB*K)/(sinA*sinC))
c = sqrt((2*sinC*K)/(sinA*sinB))
I still think User Name:'s method involves less steps though.
To reduce it based on what I've written (right-angled triangle, so sinC is always 1):-
Once you've found a, you can then switch to simpler terms:-Code:a = sqrt((2*sinA*K)/sinB)
And that's a and b! :DCode:K = (a*b)/2
b = (K*2)/a
I don't see how you derived those... When given sinC = 1, you can eliminate it from the multiplication in the equation, but you can't just throw out random stuff with it.
If you can simplify it more than that, please, show me.Code:a = sqrt((2*sinA*K)/(sinB))
b = sqrt((2*sinB*K)/(sinA))
c = sqrt((2*K)/(sinA*sinB))
EDIT: Oh... Epy linked to Heron's formula like five posts ago. That's the name of the law/formula I used. Also, once you've got one side, you can do simple algebra with the law of sines and cosines to find the rest. Be careful with law of sines though, in special cases, it can give some weird output.
This shouldn't be impossible?
Using the cosine law (don't know if sine's low would work in this equation, though):
c = Sqrt(a^2 + b^2 - 2abcos(v1))
b = Sqrt(a^2 + c^2 - 2abcos(v2))
a = Sqrt(b^2 + b^2 - 2abcos(v3))
3 equations, 3 unknowns.
Messy equations, though, true. But possible I would think.
Elysia, the Law of Cosines requires 2 given sides, he has no sides. Heron's formula(the one I used) is required to find at least one side. Once you have one side, you can use Law of Sines, which, although much more efficient, can have weird results, or you can use all 3 I derived above, which will give correct results in all cases.
I am aware of that.
I am also aware that this is an equation system.
2abcos(v1...v3) are merely constants since v1...v3 are known.
That leaves 3 unknowns and 3 equations which is enough to exactly solve the system.
The equations are not independent.
Just think about it logically. With just 3 angles, you can have infinitely many triangles.
*shrug*
Maybe you're right. I didn't get a chance to test it due to Wolfram and their bloody license nightmare.
Of course I am right :). No need for CAS. This is simple logic.
If you scale all the sides equally, the 3 angles will be maintained.
That's because the 3 angles are also not independent. The third angle is redundant information (180 - a - b). That's why we need another constraint - length of one of the sides.
CAS is good for checking for mistakes/errors.
So, two angles and, knowing the area, perhaps the Hedron formula (which, I never really knew existed)?
To solve for a triangle, you need 3 independent pieces of information -
3 sides, 2 sides + 1 angle, 1 side + 2 angles, but not 3 angles, because the third one becomes redundant.
2 sides + area also works because Heron's formula gives you the third side.
I'm not sure if 2 angles + area works. By this logic it should, but I can't think of how.
Infinitely many triangles with the same angles and area? I don't think so. Give me an example of 2 triangles with the same internal angles and area, but different sides. You can't.
Law of Cos gives you a third side. Heron's(which I just remembered isn't what I was using) depends on the length of the sides. The formula I used has no name, I got it out of my precal book. It works, there no reason debating it until you give an example where it doesn't.
>> I'm not sure if 2 angles + area works
Given 2 angles, you can always derive the 3rd. Just subtract the 2 from 180... From 3 angles and area, just use my formulas.
>> To solve for a triangle, you need 3 independent pieces of information -
3 angles, and area. area being dependent on angles and side length.
That's why I said it should be possible to solve for the triangle, but I don't know how.
I just showed you how!
Lowercase being sides and uppercase being their opposite angles.Code:a = sqrt((2*sinA*K)/(sinB*sinC))
b = sqrt((2*sinB*K)/(sinA*sinC))
c = sqrt((2*sinC*K)/(sinA*sinB))
Ah! ok. I'll admit I only skimmed the thread :D.