Heron‘s formula

news2024/11/15 17:51:28

In geometry, Heron’s formula (or Hero’s formula) gives the area A of a triangle in terms of the three side lengths a, b, c. If {\textstyle s={\tfrac {1}{2}}(a+b+c)}{\textstyle s={\tfrac {1}{2}}(a+b+c)} is the semiperimeter of the triangle, the area is,[1]

{\displaystyle A={\sqrt {s(s-a)(s-b)(s-c)}}.}A={\sqrt {s(s-a)(s-b)(s-c)}}.
It is named after first-century engineer Heron of Alexandria (or Hero) who proved it in his work Metrica, though it was probably known centuries earlier.

在这里插入图片描述

A triangle with sides a, b, and c

Contents

  • 1 Example
  • 2 Alternate expressions
  • 3 History
  • 4 Proofs
    • 4.1 Trigonometric proof using the law of cosines
    • 4.2 Algebraic proof using the Pythagorean theorem
    • 4.3 Trigonometric proof using the law of cotangents
  • 5 Numerical stability
  • 6 Similar triangle-area formulae
  • 7 Generalizations
    • 7.1 Heron-type formula for the volume of a tetrahedron
    • 7.2 Heron formulae in non-Euclidean geometries
  • 8 See also

1 Example

Let △ABC be the triangle with sides a = 4, b = 13 and c = 15. This triangle’s semiperimeter is

{\displaystyle s={\frac {a+b+c}{2}}={\frac {4+13+15}{2}}=16}{\displaystyle s={\frac {a+b+c}{2}}={\frac {4+13+15}{2}}=16}
and so the area is

{\displaystyle {\begin{aligned}A&={\sqrt {s\left(s-a\right)\left(s-b\right)\left(s-c\right)}}={\sqrt {16\cdot (16-4)\cdot (16-13)\cdot (16-15)}}\&={\sqrt {16\cdot 12\cdot 3\cdot 1}}={\sqrt {576}}=24.\end{aligned}}}
\begin{align}
A &= \sqrt{s\left(s-a\right)\left(s-b\right)\left(s-c\right)} = \sqrt{16 \cdot (16-4) \cdot (16-13) \cdot (16-15)}\
&= \sqrt{16 \cdot 12 \cdot 3 \cdot 1} = \sqrt{576} = 24.
\end{align}
In this example, the side lengths and area are integers, making it a Heronian triangle. However, Heron’s formula works equally well in cases where one or more of the side lengths are not integers.

2 Alternate expressions

Heron’s formula can also be written in terms of just the side lengths instead of using the semiperimeter, in several ways,

{\displaystyle {\begin{aligned}A&={\tfrac {1}{4}}{\sqrt {(a+b+c)(-a+b+c)(a-b+c)(a+b-c)}}\[6mu]&={\tfrac {1}{4}}{\sqrt {2(a{2}b{2}+a{2}c{2}+b{2}c{2})-(a{4}+b{4}+c^{4})}}\[6mu]&={\tfrac {1}{4}}{\sqrt {(a{2}+b{2}+c{2}){2}-2(a{4}+b{4}+c^{4})}}\[6mu]&={\tfrac {1}{4}}{\sqrt {4(a{2}b{2}+a{2}c{2}+b{2}c{2})-(a{2}+b{2}+c{2}){2}}}\[6mu]&={\tfrac {1}{4}}{\sqrt {4a{2}b{2}-(a{2}+b{2}-c{2}){2}}}.\end{aligned}}}{\displaystyle {\begin{aligned}A&={\tfrac {1}{4}}{\sqrt {(a+b+c)(-a+b+c)(a-b+c)(a+b-c)}}\[6mu]&={\tfrac {1}{4}}{\sqrt {2(a{2}b{2}+a{2}c{2}+b{2}c{2})-(a{4}+b{4}+c^{4})}}\[6mu]&={\tfrac {1}{4}}{\sqrt {(a{2}+b{2}+c{2}){2}-2(a{4}+b{4}+c^{4})}}\[6mu]&={\tfrac {1}{4}}{\sqrt {4(a{2}b{2}+a{2}c{2}+b{2}c{2})-(a{2}+b{2}+c{2}){2}}}\[6mu]&={\tfrac {1}{4}}{\sqrt {4a{2}b{2}-(a{2}+b{2}-c{2}){2}}}.\end{aligned}}}
After expansion, the expression under the square root is a quadratic polynomial of the squared side lengths a2, b2, c2.

The same relation can be expressed using the Cayley–Menger determinant,

{\displaystyle -16A{2}={\begin{vmatrix}0&a{2}&b{2}&1\a{2}&0&c{2}&1\b{2}&c^{2}&0&1\1&1&1&0\end{vmatrix}}.}{\displaystyle -16A{2}={\begin{vmatrix}0&a{2}&b{2}&1\a{2}&0&c{2}&1\b{2}&c^{2}&0&1\1&1&1&0\end{vmatrix}}.}

3 History

4 Proofs

4.1 Trigonometric proof using the law of cosines

4.2 Algebraic proof using the Pythagorean theorem

4.3 Trigonometric proof using the law of cotangents

5 Numerical stability

6 Similar triangle-area formulae

7 Generalizations

7.1 Heron-type formula for the volume of a tetrahedron

7.2 Heron formulae in non-Euclidean geometries

8 See also

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/98692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

影视中学职场套路——《如懿传》中职场生存法则

目录 一、老板决定的事,赞成不赞成都要执行 二、居人之下,聪明劲儿别往外露 三、切忌大庭广众直接与上级冲突 四、取悦所有人,不如取悦最大的boss 五、再强的人,也需要团队作战 六、人善被人欺(首先要自保&#…

第三十一章 linux-模块的加载过程一

第三十一章 linux-模块的加载过程一 文章目录第三十一章 linux-模块的加载过程一sys_init_modulestruct moduleload_module模块ELF静态的内存视图字符串表(string Table)HDR视图的第一次改写find_sec函数ps:kernel symbol内核符号表,就是在内核的内部函数…

opencv图像去畸变

图像去畸变的思路 对于目标图像(无畸变图像)上的每个像素点,转换到normalize平面,再进行畸变变换,进行投影,得到这个像素点畸变后的位置,然后将这个位置的源图像(畸变图像)的像素值作为目标图像…

Visual Studio 2022安装与编译简单c语言以及C#语言(番外)

文章目录1 软件下载网站2 下载与安装3 创建并学习C语言4 创建并学习C#语言1 软件下载网站 Visual Studio官网 2 下载与安装 1、下载社区版即可。 2、下载得到安装文件,右键以管理员方式运行安装文件。 3、点击继续。 4、等待下载完成。 5、这里学习C选择使用…

SpringBoot文件上传同时,接收复杂参数

目录 环境信息 问题描述 错误分析 解决方法 简单参数 总结 环境信息 Spring Boot:2.0.8.RELEASE Spring Boot内置的tomcat:tomcat-embed-core 8.5.37 问题描述 收到文件上传的开发工作,要求能适配各种场景,并且各场景的请求…

C语言——操作符详解(上)

C语言——操作符详解(上) 操作符的分类 C语言中的操作符主要分为算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。我将分成三篇文章为大家详细介绍以上所…

[附源码]Python计算机毕业设计Django网约车智能接单规划小程序

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

[附源码]Python计算机毕业设计华夏商场红酒管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等…

AI绘画火爆,以昆仑万维AIGC为例,揭秘AI绘画背后的模型算法

AI绘画火爆,以昆仑万维AIGC为例,揭秘AI绘画背后的模型算法 一、前言 最近AI绘画让人工智能再次走进大众视野。在人工智能发展早起,一直认为人工智能能实现的功能非常有限。通常都是些死板的东西,像是下棋、问答之类的&#xff0…

mysql锁范围(一)表级锁变行级锁

文章目录行级锁1. 用两个连接connection登陆mysql2. 测试无索引情况1)机器1开启事务,执行更新北京仓数据sql,不提交事务2)机器2开启事务,先查询北京仓3)机器2开始更新上海仓数据4)机器1事务回滚…

【Spring Cloud】Nacos服务分级存储模型与负载均衡原理与实战

本期目录1. 服务分级模型介绍2. 服务分级模型的必要性3. 配置集群属性4. NacosRule负载均衡4.1 背景描述4.2 配置Nacos负载均衡策略4.3 根据权重负载均衡1. 服务分级模型介绍 为了提升整个系统的容灾性,Nacos 引入了地域 (Zone) 的概念,如上图中的北京、…

Reactor 和 Proactor 区别

Reactor 和 Proactor 区别 同步异步、阻塞非阻塞组合 同步 以read()函数为例,int n read(fd, buf. sz) 当采用同步的方式和阻塞io的方式时,buf就是从内核拷贝的数据,函数返回则可以马上知道 buf 中的数据。当采用同步的方式和非阻塞io的方式…

关于rabbitmq消息推送的小demo

目录 一.前言 1.1场景 1.2消息交换机三种形式 二.建设demo工程 2.1 依赖 2.2yml文件指定rabbitmq连接信息 2.3直连型消息链接 一.前言 1.1场景 在我们实际开发中到一个特定的时候是比如工作流到某个状态时, 我们会向某某单位发送消息, 这时就会用到我们的消息推送---ra…

javaee之Mybatis2

一、保存操作 在做这个方法之前,我们先把之前做的那个MybatisTest里面的每一个方法做成一个Test方法,也就是标注Test这个注解 这样便于我们测试接下来的每一个方法。仔细分析一下上面的代码,会发现,可重复性的地方太多。比如我们…

两台linux服务器rsync自动备份文件

检查rsycn是否安装 检查方法:rpm -qa rsync 出现rsync 包名就是安装了 安装rsycn rsync的安装可以使用yum直接安装:yum install rsync rsycn的服务端/文件接收端配置 1、先创建备份目录 mkdir /data/xsbak2、服务端需要开启rsyncd服务,添加…

接口测试(九)—— Git代码托管、jenkins 的持续集成

目录 一、持续集成 二、git 1、简介和安装 2、Gitee 2.1 git 和 gitee 管理代码工作原理 2.2 PyCharm 配置 Gitee 插件 3、PyCharm 与 Gitee 相关操作 3.1 将 Gitee的项目 Checkout到 Pycharm中 3.2 推送 PyCharm 新项目到 Gitee远程仓库 3.3 将 Pycharm代码 push到 …

React基础知识(组件实例三大核心属性state、props、refs)(二)

系列文章目录 第一章:React基础知识(React基本使用、JSX语法、React模块化与组件化)(一) 文章目录系列文章目录一、State1.1. state基本使用1.2 state的简写形式二、Props2.1 props的基本使用2.2 props属性值限制2.3 …

精品基于SSM的小学生课程资源网络云平台

《基于SSM的小学生课程资源网络云平台》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术: 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据…

redux

文章目录redux是什么redux使用情况redux工作原理redux安装redux的3个核心概念Action——形成动作Reducers——操作状态store——存储状态APIredux的响应式redux实现加减案例不使用ActionCreators实现使用ActionCreators实现异步Actionreact-redux使用容器组件创建修改App.jsx在…

干电池升压IC3.3V的电源芯片fs2111/FS2112

干电池升压3.3V的电源芯片FS2111/FS2112 FS2111/FS2112适用于一节干电池升压到3.3V,两节干电池升压3.3V的升压电路,FS2111/FS2112干电池升压IC。 FS2111/FS2112 干电池1.5V和两节干电池3V升压到3.3V的测试数据 两节干电池输出500MA测试: F…