给定三角形三边,如何判断该三角形的形状

  • 1、前言
  • 2、公式介绍
  • 3、公式推导

1、前言

我们都知道,三角形可分为直角三角形、锐角三角形、钝角三角形三种形状,而判断一个三角形具体为哪种形态,可以通过分析三角形中三个角中最大的角度得出。

假设这个最大的角度为∠C,则有

  • 若∠C = 90°,该三角形为直角三角形
  • 若∠C < 90°,该三角形为锐角三角形
  • 若∠C > 90°,该三角形为钝角三角形

2、公式介绍

但如果我们不知道三角形三个角的角度情况,而只有三角形三边的数据,如何通过这三条边来判断三角形的形状呢?

其中一种可行的方案是,通过如下所示的公式来计算:

a2+b2−2abcosC=c2(1)a^{2} + b^{2}-2abcosC=c^{2} \tag{1} a2+b2−2abcosC=c2(1)

其中,边a、b为三角形三边中较小的两边,边c为三角形三边中较大的那条边,而C为边c在三角形中所对应的夹角

由于三角形中最大的边对应最大的角(因为a: b :c = sinA : sinB : sinC, 其中0° < A,B,C < 180°),故有:

  • 当∠C = 90°时,cosC=0cosC=0cosC=0,由公式(1)有a2+b2=c2a^2+b^2=c^2a2+b2=c2,该三角形为直角三角形
  • 当∠C < 90°时,cosC>0cosC>0cosC>0,由公式(1)有a2+b2>c2a^2+b^2>c^2a2+b2>c2,该三角形为锐角三角形
  • 当∠C > 90°时,cosC<0cosC<0cosC<0,由公式(1)有a2+b2<c2a^2+b^2<c^2a2+b2<c2,该三角形为钝角三角形

换句话,也就是说,给定了三角形的三边,我们假设其中最大的边为c,较小的两边分别为a,b,我们只要比较a2+b2a^2+b^2a2+b2与c2c^2c2的大小,即可判断该三角形的形状

3、公式推导

但问题是,公式(1)究竟是如何来的呢?

为了回答这个问题,我们首先需要知道勾股定理a2+b2=c2a^2+b^2=c^2a2+b2=c2是如何证明的,这里我给出比较通俗的一种证明方法:

如上图所示,用三边均为a,b,c的四个全等的直角三角形(斜边为c)围成一个内含边长为c的小正方形的大正方形。

由正方形面积公式有:

(a+b)2=4∗12∗a∗b+c2(a+b)^2=4*\frac{1}{2}*a*b+c^2 (a+b)2=4∗21​∗a∗b+c2
化简后即有:

a2+b2=c2a^2+b^2=c^2a2+b2=c2

证明了勾股定理后,在证明公式(1)时勾股定理就可以拿来用了,下面给出公式(1)的证明过程:

如上图所示,在△ABC中,三边分别为a,b,c,其中c为最大的边,a,b为较小的边,∠C为边c对应的夹角,作AD⊥BD于点D.令CD=m,AD=n,以得到△ABD、△ACD共两个直角三角形。

在△ACD中,由余弦值定义有:
cos(π−C)=m/bcos(π-C)=m/bcos(π−C)=m/b
由诱导公式有:
cos(π−C)=−cosCcos(π-C)=-cosCcos(π−C)=−cosC
从而有:
−cosC=m/b(i)-cosC=m/b \tag{i}−cosC=m/b(i)
由于b≠0,对(i)式变形得:
m=−bcosC(ii)m=-bcosC\tag{ii}m=−bcosC(ii)
由勾股定理有:
n2+m2=b2(iii)n^2+m^2=b^2\tag{iii}n2+m2=b2(iii)

在△ABD中,由勾股定理得:
(a+m)2+n2=c2(a+m)^2+n^2=c^2(a+m)2+n2=c2
             ⇒a2+n2+m2+2am=c2\Rightarrow a^2+n^2+m^2+2am=c^2⇒a2+n2+m2+2am=c2

将(iii)式代入,有:
a2+b2+2am=c2a^2+b^2+2am=c^2a2+b2+2am=c2

将(ii)式代入上式,有:
a2+b2−2abcosC=c2a^2+b^2-2abcosC=c^2a2+b2−2abcosC=c2

从而公式(1)得证…

(虽说该证明过程中给出的△ABC为一个钝角三角形,像是未考虑锐角三角形。但对于锐角三角形,其证明情况也是基本一致的,感兴趣的同学不妨可以试一试…)

给定三角形三边,如何判断该三角形的形状相关推荐

  1. 根据给定的三边,判断能否则组成一个三角形若能用这三个数作为边长组成三角形( 任意两边之和大于第三边),能组成三角形计算并输出该三角形的面积,否则输出Can‘t。 (提示:Can‘t输出直接放到双引号中

    一.题目背景 求三角形面积 题目描述: 根据给定的三边,判断能否则组成一个三角形若能用这三个数作为边长组成三角形( 任意两边之和大于第三边),能组成三角形计算并输出该三角形的面积,否则输出Can't. ...

  2. 输入三角形三边边长,求三角形的面积

    输入三角形三边边长,求三角形的面积 #include<stdio.h> #include<math.h> int main() { double a,b,c,s,area; s ...

  3. PyThon根据三角形三边值判断三角形的种类

    首先获取三角形三边的长度 a = input("请输入第一条边的长度:") b = input("请输入第二条边的长度:") c = input("请 ...

  4. 判断三角形 java_java中判断是否三角形的方法

    java中判断是否三角形的方法: package Angle; import java.util.Scanner; public class Angle { //判断是否能构成三角形 public s ...

  5. 【软件工程】McCabe方法,输入三角形三边,判断三角形性状,画出流程图和环图,计算环形复杂度,要求有判断是否能构成三角形的条件。

    话不多说,直接上图解,知识点在最后. 流程图 环图 环形复杂度 整合 知识点 环型复杂度的三种计算方法 V(G) = 流图中的区域数 V(G) = 流图中的判定数 + 1 V(G) = E - N + ...

  6. java构成三角形的条件_java输入三角形的三个边判断能否构成三角形。并判断构成三角形的类别(等边,等腰,普通)...

    匿名用户 1级 2011-03-04 回答 import java.util.Scanner; public class Trigon { private double a; private doub ...

  7. java 三角形三边求三角_java通过三边长度判断是否是三角形

    java通过三边长度判断是否是三角形 发布时间:2020-06-23 20:02:42 来源:亿速云 阅读:75 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java通过三边长度判断是否是三角 ...

  8. 根据三角形三边长度,判断为直角三角形、钝角三角形还是锐角三角形

    (1)首先输入三角形三边: (2)判断是否构成三角形(任意两边和大于第三边):如果不是则输出不是三角形: (3)如若是三角形判断为何种三角形:任意一边平方等于其余两边的平方和为直角三角形,任意一边平方 ...

  9. 输入三角形的三边,判断能否构成三角形,若可以则输出三角形的类型

    //输入三角形的三边,判断能否构成三角形,若可以则输出三角形的类型 //2019.12.25 #include <stdio.h> int main() { int a,b,c; prin ...

最新文章

  1. 功能实现了软件就做好了吗?
  2. Hadoop集群安装-CDH5(5台服务器集群)
  3. notebook中kiil进程从而释放显存的方法
  4. JavaFX技巧30:带有DropShadow的ScrollPane
  5. linux 复制文件或者文件
  6. java 不执行构造函数_函数作为构造函数执行,但不作为函数执行
  7. 自己动手为Spark 2.x添加ALTER TABLE ADD COLUMNS语法支持
  8. 在openGL中绘制图形
  9. 是什么浪费了运维的工作时间?
  10. Android中实现两次点击返回键退出本程序
  11. MySQL数据库学习
  12. python大神年薪_python年薪
  13. SQLite的使用------图片存储
  14. 三相永磁同步电机无速度传感器控制(基于扩展反电动势)
  15. ChatGPT版必应疑似「发疯」?微软紧急限制回答数目
  16. Java Exer0907 工作量计算器
  17. sqlserver数据库清理(收缩文件)
  18. 基于单片机太阳能自动双轴追光电路仿真系统(毕设课设)
  19. win10系统docker安装kafka
  20. Floyd最小环算法

热门文章

  1. 【ROS学习】ROS分布式通信
  2. /usr/bin/ld:cannot find -lxxx通用解决办法
  3. MFC使用OpenCV两种版本实现mp4文件的播放
  4. 新闻分类任务(LDA模型,多项分布朴素贝叶斯)
  5. Deepin升级内核后无法启动的问题
  6. js的lambda表达式
  7. 开发一个渐进式Web应用程序(PWA)前都需要了解什么?
  8. linux机械硬盘提速,这几招提升机械硬盘速度的技巧连老师傅都不一定知道
  9. js实现时间每秒更新
  10. excel拆分单元格,然后每个拆分出的单元格沿用原未拆分单元格内容