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

方法:叉乘, S = 1 2 a b s i n θ = 1 2 ( a ⃗ × b ⃗ ) S=\dfrac{1}{2}absin\theta=\dfrac{1}{2}(\vec{a}\times\vec{b}) S=21absinθ=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,P &c){
	return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
int main(){
	scanf("%lf%lf%lf%lf%lf%lf",&a.x,&a.y,&b.x,&b.y,&c.x,&c.y);
	printf("%.3f\n",0.5*cross(a,b,c));
	return 0;
}