洛谷 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
*/
参考文献
热门推荐
广东广州高考复读学校:精准施策,提升做题正确率的策略探析
2024年高考数学新课标Ⅰ卷、Ⅱ卷评析:新试卷 新结构 新风格 新定义
社交礼仪文化:构建和谐人际关系的艺术
妙佑医疗国际推荐:草酸盐结石新疗法
张弋医生详解:草酸钙结石患者饮食指南
数据库如何认证学校学生
美洲“迷你野猪”,长得和猪差不多却是不同物种!能不能吃?
29种你从未见过的奇特动物:动物界中的外星人,惊艳你的视觉!
卡尔迪传奇:埃塞俄比亚咖啡的历史与仪式
《哪吒2》IMAX特映场次爆满!观众直呼“值回票价”
《哪吒2》爆火全球,下一个登上银幕的中国神话角色会是谁?
如何调整电视机亮度和对比度(解决电视机亮度对比度低的问题)
《白发》中的容乐:权力、爱情与自我认同的多重困境
《白发》38集:权力与爱情的终极对决
探索古代神兽的奥秘:除了龙凤龟虎,还有哪些神秘生物?
苹果在英语中的正确发音是什么?
10个值得订阅的英语YouTube频道推荐(2025最新)
300元一斤的樟树港辣椒为何供不应求?
太空育种让樟树港辣椒更辣更香?
南京心血管健康双管齐下:鼓楼医院新中心+东总公益体检
南京鼓楼医院心血管医学中心:创新技术引领,打造国家级医疗新高地
江苏省人民医院心血管外科专家推荐:邵永丰教授团队
解忧公主:汉武帝赐婚西域的50年传奇
学历在职场:是金钥匙还是绊脚石?
2024摩托车驾驶证的新规定有哪些
如何选购适合家庭的电视尺寸与安装位置:关键因素全解析
了解发质类型:选择适合你的洗护产品
揭秘《酱油是什么》里的微生物奥秘!
智祥法师:用理性与智慧守护9000只流浪猫狗
《齐民要术》里的古法酱油秘技:从传统到现代的传承