Дано частный случай "SSA" (две стороны и несмежный угол) при решении треугольников: какие условия приводят к неоднозначности (двум возможным треугольникам или отсутствию решения), как формально распознать и перечислить все возможные случаи
Коротко и формально. Обозначения: дан угол A∈(0,180∘) \,A\in(0,180^\circ)\,A∈(0,180∘) и стороны a>0\,a>0a>0 (напротив угла A\,AA) и b>0\,b>0b>0. По теореме синусов sinB=bsinAa.
\sin B=\frac{b\sin A}{a}. sinB=absinA.
Введём x=bsinAa,h=bsinA.
x=\frac{b\sin A}{a},\qquad h=b\sin A. x=absinA,h=bsinA. Классификация (неоднозначность, отсутствие или единственное решение): - Если x>1x>1x>1 (экв. a<ha<ha<h) — синуса >1, реального треугольника нет. - Если x=1x=1x=1 (экв. a=ha=ha=h) — кандидатом является B=90∘B=90^\circB=90∘. Этот кандидат даёт допустимый (ненулевой по площади) треугольник только если A<90∘A<90^\circA<90∘ (тогда единственный треугольник, прямой угол в BBB). Если A≥90∘A\ge 90^\circA≥90∘ тогда A+B≥180∘A+B\ge 180^\circA+B≥180∘ и нет невырожденного треугольника (вырожденный случай при A=90∘A=90^\circA=90∘ и a=ba=ba=b — угол C=0C=0C=0). - Если x<1x<1x<1 (экв. a>ha>ha>h) — возможно один или два решения: - вычислить B1=arcsin(x)B_1=\arcsin(x)B1=arcsin(x) (значение в интервале (0,90∘)(0,90^\circ)(0,90∘)); - второй кандидат B2=180∘−B1B_2=180^\circ-B_1B2=180∘−B1 (отличается от B1B_1B1 когда B1≠90∘B_1\ne 90^\circB1=90∘); - каждый кандидат принимается только если сумма углов остаётся <180∘180^\circ180∘, т.е. если A+Bi<180∘A+B_i<180^\circA+Bi<180∘. - Если AAA — острый (A<90∘A<90^\circA<90∘) и одновременно h<a<bh<a<bh<a<b (то есть bsinA<a<bb\sin A<a<bbsinA<a<b) — оба кандидата удовлетворяют A+Bi<180∘A+B_i<180^\circA+Bi<180∘ → два разных треугольника. - Если AAA — острый и a≥ba\ge ba≥b → только B1B_1B1 даёт A+B1<180∘A+B_1<180^\circA+B1<180∘ → единственный треугольник. - Если AAA — тупой (A>90∘A>90^\circA>90∘) — второй кандидат B2B_2B2 всегда даёт A+B2>180∘A+B_2>180^\circA+B2>180∘, поэтому при x<1x<1x<1 ровно одно решение (если x≤1x\le1x≤1 вообще допускает решение). Формальный алгоритм перечисления всех решений: 1. Проверить входные данные (AAA в градусах/радианах — единообразно, a,b>0\,a,b>0a,b>0). 2. Вычислить x=bsinAax=\dfrac{b\sin A}{a}x=absinA. 3. Если x>1x>1x>1 — нет решений. 4. Иначе вычислить B1=arcsin(x)B_1=\arcsin(x)B1=arcsin(x). Собрать список допустимых углов B: - добавить B1B_1B1, если A+B1<180∘A+B_1<180^\circA+B1<180∘; - если B1≠90∘B_1\ne 90^\circB1=90∘, проверить B2=180∘−B1B_2=180^\circ-B_1B2=180∘−B1 и добавить, если A+B2<180∘A+B_2<180^\circA+B2<180∘. 5. Для каждого принятого BBB получить C=180∘−A−B>0C=180^\circ-A-B>0C=180∘−A−B>0 и остальные стороны через теорему синусов, например c=asinCsinA.
c=\frac{a\sin C}{\sin A}. c=sinAasinC.
6. Полученный набор (углы A,B,C и стороны a,b,c) — все возможные невырожденные треугольники. Замечание: при практическом применении проще работать через xxx и явную проверку A+B<180∘A+B<180^\circA+B<180∘; частые краткие условия — для A<90∘A<90^\circA<90∘ два решения возможны только при bsinA<a<bb\sin A<a<bbsinA<a<b, в остальных случаях либо одно решение (a≥ba\ge ba≥b или A>90∘A>90^\circA>90∘ при a>ha>ha>h), либо ни одного (a≤ha\le ha≤h, с учётом вырожденного граничного случая).
Обозначения: дан угол A∈(0,180∘) \,A\in(0,180^\circ)\,A∈(0,180∘) и стороны a>0\,a>0a>0 (напротив угла A\,AA) и b>0\,b>0b>0. По теореме синусов
sinB=bsinAa. \sin B=\frac{b\sin A}{a}.
sinB=absinA . Введём
x=bsinAa,h=bsinA. x=\frac{b\sin A}{a},\qquad h=b\sin A.
x=absinA ,h=bsinA.
Классификация (неоднозначность, отсутствие или единственное решение):
- Если x>1x>1x>1 (экв. a<ha<ha<h) — синуса >1, реального треугольника нет.
- Если x=1x=1x=1 (экв. a=ha=ha=h) — кандидатом является B=90∘B=90^\circB=90∘. Этот кандидат даёт допустимый (ненулевой по площади) треугольник только если A<90∘A<90^\circA<90∘ (тогда единственный треугольник, прямой угол в BBB). Если A≥90∘A\ge 90^\circA≥90∘ тогда A+B≥180∘A+B\ge 180^\circA+B≥180∘ и нет невырожденного треугольника (вырожденный случай при A=90∘A=90^\circA=90∘ и a=ba=ba=b — угол C=0C=0C=0).
- Если x<1x<1x<1 (экв. a>ha>ha>h) — возможно один или два решения:
- вычислить B1=arcsin(x)B_1=\arcsin(x)B1 =arcsin(x) (значение в интервале (0,90∘)(0,90^\circ)(0,90∘));
- второй кандидат B2=180∘−B1B_2=180^\circ-B_1B2 =180∘−B1 (отличается от B1B_1B1 когда B1≠90∘B_1\ne 90^\circB1 =90∘);
- каждый кандидат принимается только если сумма углов остаётся <180∘180^\circ180∘, т.е. если A+Bi<180∘A+B_i<180^\circA+Bi <180∘.
- Если AAA — острый (A<90∘A<90^\circA<90∘) и одновременно h<a<bh<a<bh<a<b (то есть bsinA<a<bb\sin A<a<bbsinA<a<b) — оба кандидата удовлетворяют A+Bi<180∘A+B_i<180^\circA+Bi <180∘ → два разных треугольника.
- Если AAA — острый и a≥ba\ge ba≥b → только B1B_1B1 даёт A+B1<180∘A+B_1<180^\circA+B1 <180∘ → единственный треугольник.
- Если AAA — тупой (A>90∘A>90^\circA>90∘) — второй кандидат B2B_2B2 всегда даёт A+B2>180∘A+B_2>180^\circA+B2 >180∘, поэтому при x<1x<1x<1 ровно одно решение (если x≤1x\le1x≤1 вообще допускает решение).
Формальный алгоритм перечисления всех решений:
1. Проверить входные данные (AAA в градусах/радианах — единообразно, a,b>0\,a,b>0a,b>0).
2. Вычислить x=bsinAax=\dfrac{b\sin A}{a}x=absinA .
3. Если x>1x>1x>1 — нет решений.
4. Иначе вычислить B1=arcsin(x)B_1=\arcsin(x)B1 =arcsin(x). Собрать список допустимых углов B:
- добавить B1B_1B1 , если A+B1<180∘A+B_1<180^\circA+B1 <180∘;
- если B1≠90∘B_1\ne 90^\circB1 =90∘, проверить B2=180∘−B1B_2=180^\circ-B_1B2 =180∘−B1 и добавить, если A+B2<180∘A+B_2<180^\circA+B2 <180∘.
5. Для каждого принятого BBB получить C=180∘−A−B>0C=180^\circ-A-B>0C=180∘−A−B>0 и остальные стороны через теорему синусов, например
c=asinCsinA. c=\frac{a\sin C}{\sin A}.
c=sinAasinC . 6. Полученный набор (углы A,B,C и стороны a,b,c) — все возможные невырожденные треугольники.
Замечание: при практическом применении проще работать через xxx и явную проверку A+B<180∘A+B<180^\circA+B<180∘; частые краткие условия — для A<90∘A<90^\circA<90∘ два решения возможны только при bsinA<a<bb\sin A<a<bbsinA<a<b, в остальных случаях либо одно решение (a≥ba\ge ba≥b или A>90∘A>90^\circA>90∘ при a>ha>ha>h), либо ни одного (a≤ha\le ha≤h, с учётом вырожденного граничного случая).