洛谷 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年大豆行业发展现状分析:大豆行业累计进口数量为9941万吨
什么是车载导航功能
走进潮州古城:领略千年历史的风采
长沙电力职业技术学院:电力人才培养的摇篮
长沙电力职业技术学院:95.52%就业率背后的“秘密武器”
从大兴机场出发,必打卡故宫与长城
电线L和N代表什么意思
秋冬养生新选择:蒜苔的营养与食谱全攻略
秋冬囤货指南:蒜苔如何鲜嫩如初?
西双版纳热带植物园:遇见植物的美
探访湘阴刘氏宗祠:乾隆古碑见证家族辉煌
渣滓洞:重庆红色旅游打卡地
醉在异乡,诗在心头:李白与杜甫的诗酒人生
如何以小奖励让泰迪犬保持安静?(培养良好的行为习惯)
食品专家教你健康吃红烧肉!
红烧肉这样做,肥而不腻!
沙子岭猪遇上毛氏红烧肉:从“舌尖美味”到“产业振兴”
东坡肉又火了!揭秘东坡肉与上海本帮红烧肉的美味之争
冬日打卡:南市食品街的天津美食之旅
2024:网络青年创作群体在崛起
湖南省电力环保智慧监管平台上线:大数据助力蓝天保卫战
国网湖南电力:大数据+卫星监测+无人机,打造立体化防山火体系
湖南电力“除冰机器人”:科技破冰护航供电
湖南如何破解电力供应难题?新能源+储能成关键
国网湖南电力:助力经济发展跑出“加速度”
为啥医生会说:只通过晒太阳补钙,补充维生素D,并不靠谱
维生素D滴剂可以空腹用药吗
恩施美食全攻略:从街头小吃到特色餐厅
打卡恩施大峡谷和清江蝴蝶崖,五日游攻略出炉!
中国心血管研究突破:从脂代谢调控到新型降脂药物