逆时针输入设A(x1,y1),B(x2,y2),C(x3,y3) 由A–>B–>C–>A 按逆时针方向转。(行列式书写要求) 设三角形的面积为S ,则S=(1/2)*(下面行列式)
|x1 y1 1|
|x2 y2 1|
|x3 y3 1|
S=(1/2)(x1y21+x2y31+x3y11-x1y31-x2y11-x3y2*1)
即用三角形的三个顶点坐标求其面积的公式为: S=(1/2)*(x1y2+x2y3+x3y1-x1y3-x2y1-x3y2)。
#include <bits/stdc++.h>
using namespace std;
int main()
{
double x1, y1, x2, y2, x3, y3;
cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;
double area; //S=(1/2)*(x1y2+x2y3+x3y1-x1y3-x2y1-x3y2)
area = 0.5 * (x1 * y2 + x2 * y3 + x3 * y1 - x1 * y3 - x2 * y1 - x3 * y2);
cout << area <<endl;
return 0;
}