洛谷 B2031:计算三角形面积的向量叉积解法
创作时间:
作者:
@小白创作中心
洛谷 B2031:计算三角形面积的向量叉积解法
引用
CSDN
1.
https://blog.csdn.net/hnjzsyjyj/article/details/145344955
洛谷B2031题目要求计算给定三个顶点坐标的三角形面积。本文将介绍一种基于向量叉积的简洁算法来解决这个问题。
题目描述
平面上有一个三角形,它的三个顶点坐标分别为 ((x_1, y_1)),((x_2, y_2)),((x_3, y_3)),那么请问这个三角形的面积是多少。
输入格式
输入仅一行,包括 6 个双精度浮点数,分别对应 (x_1),(y_1),(x_2),(y_2),(x_3),(y_3)。
输出格式
输出也是一行,输出三角形的面积,精确到小数点后两位。
输入样例
0 0 4 0 0 3
输出样例
6.00
算法分析
本题有多种解法,如基于“海伦公式”的解法。下面给出基于“向量叉积”的解法,更简洁。
- 向量叉积:(\mathbf{a} \times \mathbf{b} = |\mathbf{a}||\mathbf{b}|\sin\theta),其中 (\theta) 为向量 (\mathbf{a}) 与向量 (\mathbf{b}) 的夹角。
- 向量叉积的绝对值是以两个向量 (\mathbf{a}) 与 (\mathbf{b}) 为邻边的平行四边形的面积。
在下图中,若设 ((x_1,y_1)) 到 ((x_2,y_2)) 的向量为 (\mathbf{a}),((x_1,y_1)) 到 ((x_3,y_3)) 的向量为 (\mathbf{b}),(dx=x_2-x_1),(dy=y_2-y_1),(du=x_3-x_1),(dv=y_3-y_1),则向量 (\mathbf{a}) 与向量 (\mathbf{b})的叉积的绝对值为 (|dx \cdot dv - du \cdot dy|)。
算法代码
#include <bits/stdc++.h>
using namespace std;
int main() {
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double dx = x2 - x1, dy = y2 - y1, du = x3 - x1, dv = y3 - y1;
double s = abs(dx * dv - du * dy) / 2.0;
printf("%.2lf", s);
return 0;
}
/*
in:
0 0 4 0 0 3
out:
6.00
*/
参考文献
热门推荐
【PMSM弱磁控制与现代控制理论】:融合创新,开启控制新篇章
特氟龙PTFE花篮在半导体显影工艺中的关键作用
开轿车舒适还是开 SUV 舒适?老司机:跑一趟高速后,您就不会再问了
怎么润茶,冲泡茶叶时为什么要洗茶、润茶?该怎么做?
长期这样吃饭的人,全身炎症上升,痴呆风险增加88%!却还不自知
拥有最强消耗能力的召唤物型法师婕拉,大乱斗玩明白了真的恶心人
网口为什么叫RJ45接口,名字的由来?
哪些茶适合老人喝?夏天养生喝茶,老人喝茶需要注意哪些方面?
紫微星在父母宫:解析影响与关系
睡觉有这个习惯的人,老得更快!2 个方法帮你避免……
千年修行经典《六妙门》,全文短小却威力无穷,现代人修习可获内心宁静与智慧
面对敌意,不要正面硬钢,巧用几个心理学技巧让对方自食其果!
企业经营效能提升六大策略
樱花绽放正当时:详解樱花开花时间与品种差异
富士山还不喷发,如果要引爆需要几颗原子弹?会影响到我国吗?
轮胎加宽,有什么利弊?
欧美高利率或持续更久!经济学家:长期中性利率走高的五大因素
菊苣的功效和作用(有没有副作用)
美国研究团队发现火星地表下或有大量液态水,“水量可覆盖整个火星”
如何分辨心脏痛与肋间神经痛
病危通知书意味着什么
提醒中老年人:为了预防心血管疾病,日常务必要坚持这4个习惯
美军探索新型起重无人机:载重31.8吨,是CH-53K直升机两倍
变革之年,世界格局加速演变,科技革命迅猛发展——十大关键词回眸2024年国际热点
8种多肉植物养护指南:从土壤到光照全方位解析
95岁老人重获新生,光华医院成功为其植入心脏起搏器
最容易入门的气功功法:“走路气功法”详解
及笄礼流程:古代女子成年礼的仪式步骤
Excel销售明细表制作指南:从基础数据到数据分析
高铁勾勒八桂大地同心圆