计算几何(知三角形三点坐标,求三角形的面积)

<基础数学>已知三角形三点坐标, 求三角形的面积 在二维坐标系中,已知三角形的三个点A、B、C的坐标分别为(x1,y1),(x2,y2),(x3,y3)(x1,y1),(x2,y2),(x3,y3)(x1,y1),(x2,y2),(x3,y3),三角形的面积公式为: 法一:S=12∣x1(y2−y3)+x2(y3−y1)+x3(y1−y2)∣S=\frac12|x1(y2-y3)+x2(y3-y1)+x3(y1-y2)|S=21​∣x1(y2−y3)+x2(y3−y1)+x3(y1−y2)∣ 法二:已知三个点坐标,可得三角形三条边长度a、b、ca、b、c 阅读详情

转自:http://blog.sina.com.cn/s/blog_455b20c10100gdm6.html


[摘]已知三角形三点坐标,求三角形的面积。 (2009-12-10 22:14:58)转载▼
标签: 三角形 面积 叉乘 向量 海伦公式 it 分类: 程序设计
[来源:已知三角形三点坐标,求三角形的面积]
---------------------
    先介绍一下三维中的两点之间距离之式,和二维的几乎一样:
    d = sqrt((x0-x1)^2 + (y0-y1)^2 + (z0-z1)^2)
    再介绍叉乘,中心内容!叉乘在定义上有:两个向量进行叉乘得到的是一个向量,方向垂直于这两个向量构成的平面,大小等于这两个向量组成的平行四边形的面积。
 
    在直角座标系[O;i,j,k]中,i、j、k分别为X轴、Y轴、Z轴上向量的单位向量。设P0(0,0,0),P1(x1,y1,z1),P2(x2,y2,z2)。因为是从原点出发,所以向量P0P1可简记为P1,向量P0P2可简记为P2。依定义有:
           |i  j  k |
      P1×P2 = |x1 y1 z1|
           |x2 y2 z2|
展开,得到:
上式 = iy1z2 + jz1x2 + kx1y2 - ky1x2 - jx1z2 - iz1y2
   = (y1z2 - y2z1)i + (x2z1 - x1z2)j + (x1y2 - x2y1)k
按规定,有:单位向量的模为1。可得叉积的模为:
|P1×P2| = y1z2 - y2z1 + x2z1 - x1z2 + x1y2 - x2y1
     = (y1z2 + x2z1 + x1y2) - (y2z1 + x1z2 + x2y1)
 
    开始正式内容。我们设三角形的三个顶点为A(x0,y0,z0),B(x1,y1,z1),C(x2,y2,z2)。我们将三角形的两条边AB和AC看成是向量。然后,我们以A为原点,进行坐标平移,得到向量B(x1-x0,y1-y0,z1-z0),向量C(x2-x0,y2-y0,z2-z0)。
 
①在三维的情况下,直接代入公式,可得向量B和向量C叉乘结果的模为:
|B×C| = ((y1-y0)*(z2-z0) + (z1-z0)*(x2-x0) + (x1-x0)*(y2-y0)) -
     ((y2-y0)*(z1-z0) + (z2-z0)*(x1-x0) + (x2-x0)*(y1-y0))
     |  1     1     1  |
    = |x1-x0 y1-y0 z1-z0|
     |x2-x0 y2-y0 z2-z0|
它的一半即为所要求的三角形面积S。
 
    还有一种比较简单的写法。将向量AB和AC平移至原点后,设向量B为(x1,y1,z1),向量C为(x2,y2,z2),则他们的叉乘所得向量P为(x,y,z),其中:
    |y1 z1|     |z1 x1|     |x1 y1|
x = |     | y = |     | z = |     |
    |y2 z2|     |z2 x2|     |x2 y2|
然后用三维中的两点之间距离公式,求出(x,y,z)与(0,0,0)的距离,即为向量P的模,它的一半就是所要求的面积了。
以上公式都很好记:x分量由y,z分量组成,y分量由z,x分量组成,z分量由x,y分量组成,恰好是循环的。坐标平移一下就好了。
 
②在二维的情况下,我们可以取z = 0这个平面,即令z1 = z2 = 0,且
|P1×P2| = x1y2 - x2y1
      |x1 y1| 
     = |     |
      |x2 y2|
所以:      
|B×C| = (x1-x0)*(y2-y0)-(x2-x0)*(y1-y0)
     |x1-x0 y1-y0|
    = |           |
     |x2-x0 y2-y0|
它的一半即为所要求的三角形的面积S。
    注意,用行列式求出来的面积是带符号的。如果A,B,C是按顺时针方向给出,则S为负;按逆时针方向给出,则S为正。
 
以二维的情况为例,三维亦同:
A(0,0) B(0,1) C(1,0) (A,B,C按顺时针方向给出)
S = ((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))/2;
  = ((0 - 0)*(0 - 0)-(1 - 0)*(1 - 0))/2
  = -0.5
A(1,0) B(0,1) C(0,0) (A,B,C按逆时针方向给出)
S = ((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))/2;
  = ((0 - 1)*(0 - 0)-(0 - 1)*(1 - 0))/2
  = 0.5
如果你不需要符号的话,再求一下绝对值就好了。这样也不用去管给出的点的顺序了。
 
以上是利用叉乘。其实还有一招,那就是海伦公式:
    利用两点之间距离公式,求出三角形的三边长a,b,c后,令p = (a+b+c)/2。再套入以下公式就可以求出三角形的面积S :
    S = sqrt(p*(p-a)*(p-b)*(p-c))
看起来好像比上面的都要简单…… -.-b 各位看客不要打我!
 
推荐:在二维的时候使用叉乘公式,三维的时候使用海伦公式~~~不过如果是需要符号的情况时,就只能使用行列式的计算公式了。

道岔故障监测系统设计(源码+开题) 通过实时监控道岔的工作状态,系统能够及时发现异常情况,预防潜在的安全隐患,从而减少事故发生的概率。此外,监测系统还能够为维护人员提供详细的数据支持,帮助他们更准确地判断道岔的磨损程度和故障类型,优化维修计划,延长道岔的使用寿命。随着智能化、自动化技术的发展,道岔故障监测系统的设计与应用也将推动铁路行业的技术进步,为实现智能铁路和未来交通系统的构建奠定基础。因此,开展道岔故障监测系统的设计研究,不仅具有重要的工程实践价值,也有助于推动铁路运输行业向更高水平的发展。 阅读详情

相关推荐

Cass三角网法土方计算优化技巧:如何根据地形特点调整边界采样间距

本文深入探讨了Cass软件中三角网法(DTM法)土方计算的优化技巧,核心在于如何根据地形的复杂程度动态调整边界采样间距。针对平坦、复杂及人工构造物等不同地形特征,提供了具体的间距调整策略与精度验证方法,旨在帮助工程师在计算精度与效率间找到最佳平衡,实现精细化土方计算。

weixin_29294975的博客 523

知三角形三边和两点坐标计算另外一点的坐标

问题:已知三角形A、B点的坐标和三边长,求C点坐标,如图: 原理:方位角和三角函数关系 求解过程: 计算边AC和AB的夹角θ,即: 2. 计算边AB与x轴的夹角 根据方位角一般公式 ...

dvdstd的博客 9220

odoo19/18集成reportbro 打印插件 完美支持静默打印

ReportBro设计器 一个用于创建PDF和XLSX报告模板的javascript插件。ReportBro Designer可以轻松集成到您的Web应用程序中。每个人都可以设计和编辑文档模板,并直接在浏览器中预览它们。可以使用服务器上的 (有关完整的文档和演示,请参阅上的ReportBro项目网站。reportBro官方没有提供。测试环境:odoo17社区版。2.产品标签打印设计。

zxltwins的博客 2772

已知两点坐标和三边长度,求三角形第三点的坐标

已知两点坐标和三边长度,求三角形第三点的坐标 经验证,该方法在平面中通用。 基本思路或步骤如下: 计算边AB与Y轴正向的夹角,或者叫做向量AB的航向角; 计算出角CAB的角度; 计算边AC与Y轴正向的夹角,或者是向量AC的航向角; 根据三角形的一些算法,得到对应的C点坐标 引用自https://wenku.baidu.com/view/46038b2342323968011ca300a6c30c...

coder攻城狮的博客 1万+

OpenCV安装配置教程VS2022(超级顺利)

博主最开始没打算写这篇博客,只是想简单的在网上找一下最新版的OpenCV的安装配置教程,适用于VS2022的,但是我搜了一早上,也没搜到一个能让我成功安装配置的,看了很多很多文章,根本就没有几篇有用的。所以没办法了,只能自己研究了,于是就整理了这篇博客,希望能帮到和我一样的人,这就是博主一直信奉的利他精神!

weixin_47367099的博客 5万+

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 370

基于 FPGA Vivado 示波器设计(附源工程)

今天给大侠带来基于 FPGA Vivado 示波器设计,开发板实现使用的是Digilent basys 3,如有想要入手basys3开发板的,可以联系牛总:18511371833。话不多说,上货。 本篇掌握基于添加文件和IP的Vivado工程设计流程,掌握基于Tcl的Vivado工程设计流程,学习示波器的基本组成结构。获取本篇相关源工程代码,可在公众号内回复“示波器设计源工程”。 原理介绍 数字存储示波器能够将模拟信号进行采样、存储以及显示。本系统在DIGILENT ...

7386

已知三角形三点坐标, 求三角形的面积

已知三角形三点坐标, 求三角形的面积   发表时间:2004-8-10作者:未知[获得此文档时候没有作者记录,深感抱歉,本文档全为转载]   先介绍一下三维中的两点之间距离之式,和二维的几乎一样:d = sqrt((x0-x1)^2 + (

4651

【AutoSAR】【诊断栈】传输层CANTP

一、功能介绍 数据包发送放拆包分段发送 数据包接收方重组 流控 错误检测 二、参考协议 ISO 15765-2 三、数据帧格式 1、协议数据单元(PDU)格式 2、协议数据单元 - PCI格式 四、数据帧传输 1、单帧传输 CAN帧数据长度小于8字节(包括PCI信息) 无流控握手 PCI包含帧类型、数据长度和数据域 未使用字节填充 2、多帧传输 数据长度超过8字节 流控握手 定时控制 CAN帧类型包括: 首帧 流控帧 后继帧 3、多..

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 1554

ruoyi-nbcio基于ruoyi的flowable前端支持自定义表单组件的自动获取方法

ruoyi-nbcio基于ruoyi的flowable前端支持自定义表单组件的自动获取方法

宁波阿成的博客 607

matlab实现求平面或空间三点围成三角形的面积

原理简单讲解 我们知道三角形的面积=1/2×a×b×sinC,其中C为ab两边的夹角。 运用叉乘公式(matlab里用cross()函数实现),我们可以得到absinC,但这时候结果还是一个三维向量,用norm()函数取向量的模长即可。 求三角形面积函数 function s=area(A,B,C) if length(A)==2%输入三点是二维平面坐标,变成三维 AB=[B-A 1]; ...

Clover_pofu的博客 1万+

Verilog HDL 100道面试题及参考答案

在 Verilog HDL 中,参数(parameter)和宏定义(define)都可用于定义常量,但它们存在诸多不同之处。参数(parameter)是模块内部的常量定义,具有局部性。它在模块内部起作用,不同模块可以有同名的参数,且值可以不同。参数通常用于定义模块的一些配置信息,例如数据位宽、延迟时间等。参数的定义和使用是在模块的作用域内进行的,通过参数传递可以方便地对模块进行配置。endmodule在上述代码中,WIDTH是一个参数,用于定义加法器的位宽。通过改变WIDTH。

大模型大数据攻城狮的专栏 1734

三角形三点求面积

求由这三点围成的三角形面积。,求由这三点围成的三角形面积。,求由这三点围成的三角形面积。把上面的公式转换一下,就成了。

Charlie's Blog 1708

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

用C++完成 根据三点坐标求三角形面积 功能

一、要求: 已知平面直角坐标系中两点(x1,y1)和(x2,y2)之间的距离公式为 ,三角形面积的计算公式为。其中,a,b,c为三角形的三边长,s=(1/2)(a+b+c).是定义一个描述平面直角坐标系上点的类Point,利用友元函数求坐标系中由三个点构成的三角形面积。具体要求如下: (1)私有数据成员 float x,y;坐标系中的一个点坐标。 (2)公有数据成员 Point(dou...

webdev 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

使用Java,用三点坐标求三角形面积

编写 程序,提示用户输入三角形的三个点 (x1,y1) , (x2,y2) , (x3,y3) ,然后显示它的面积。 import java.util.Scanner; public class Home04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ...

qq_36549593的博客 5685

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

由在三点坐标求三角形面积

由在三点坐标求三角形面积 首先求三边边长: a b c 用海伦公式求面积: 三角形的面积 area=sqrt( p*(p- a) * (p - b) * (p - c) ) 其中p = (a + b + c) / 2;

xxm 的专栏 1759

已知三点的二维或者三维坐标,求三角形面积

1.利用海伦公式: 利用两点之间距离公式,求出三角形的三边长a,b,c后,令p = (a+b+c)/2。再套入以下公式就可以求出三角形的面积S : S = sqrt(p*(p-a)*(p-b)*(p-c)) 推荐:在二维的时候使用叉乘公式,三维的时候使用海伦公式~~~不过如果是需要符号的情况时,就只能使用行列式的计算公式了。 2.叉乘和行列式 先介绍一下三维中的两点之间距离之式,和二维的...

处女座绛翎儿 1万+

已知三角形三点坐标求其面积

已知三角形三点坐标求其面积 方法:叉乘,S=12absinθ=12(a⃗×b⃗)S=\dfrac{1}{2}absin\theta=\dfrac{1}{2}(\vec{a}\times\vec{b})S=21​absinθ=21​(a×b)。 #include<bits/stdc++.h> using namespace std; typedef long long ll; struct P{ double x,y; }a,b,c; double cross(P &a,P &b

Harris-H的博客 2311

简单理解利用向量叉积(行列式)求三角形面积

已知三个顶点坐标,若要求三点围成的三角形的面积,对计算机而言,我认为这个公式是最方便的:

aye_hh的博客 5万+

已知空间中的三点 求三角形面积_三角形的面积公式八叙

本文将给出一些使用解析几何和向量表达的三角形面积公式。我们将三角形放置在二维平面坐标系中, 并设其三点坐标为,,,如下图所示:我们采用构造已知图形面积的方法来求解未知图形面积的方法,所以我们在坐标系里对三角形ABC三个顶点做x轴和y轴的垂线,于是三角形ABC的面积可以看成是一个矩形面积减去三个周围的小三角形面积S1,S2,S3的差。即(S为虚线所示的矩形面积)矩形面积使用底乘高,三角形面积使用底乘...

weixin_39617702的博客 1万+

向量叉积求三角形面积与重心坐标

首先我们知道向量叉积的大小为其构成平行四边形的面积,那么1/2则为三角形的面积

qq_44790073的博客 2689

坐标系中求三角形面积的三种方法(鞋带公式、海伦公式、三角形面积公式)

力扣每日一题: 力扣https://leetcode.cn/problems/largest-triangle-area/ 一、鞋带公式 1.1 鞋带公式定义 Shoelace公式,也叫高斯面积公式,是一种数学算法,可求确定区域的一个简单多边形的面积。 该多边形是由它们顶点描述笛卡尔坐标中的平面。 用户交叉相乘相应的坐标以找到包围该多边形的区域,并从周围的多边形中减去该区域以找到其中的多边形的区域。 之所以称为鞋带公式,是因为对构成多边形的坐标进行恒定的交叉乘积,就像系鞋带一样。 1.

qq_41687938的博客 3万+

python求给定顶点坐标的三角形面积

这个公式是基于向量叉乘的原理。在平面直角坐标系中,两个向量的叉乘的模长等于以这两个向量为邻边的平行四边形的面积。而三角形的面积是这个平行四边形面积的一半。下面使用SymPy库来逐步推导三角形面积的公式,并与理论推导的结果进行对比。这里,我们将编写一个函数来计算给定三个顶点的三角形面积,其中一个顶点是坐标原点。运行这段代码,SymPy将计算出行列式,并给出未简化和简化后的面积公式。这个结果表明,这三个点是共线的,因此它们不能形成一个三角形。:叉乘的模长等于平行四边形的面积。计算三角形的面积,并返回结果。

T20151470的博客 1548
上一篇: Escape(匈牙利算法变形)
下一篇: Problem A Forever 0.5(推理构造)
林下的码路
博客等级 码龄12年 295粉丝 506原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值