Есть рекурсивный вариант: например
double area(ll xa, ll ya, ll xb, ll yb, ll xc, ll yc){ double res = abs(xa * (yc - yb) + xb * (ya - yc) + xc * (yb - ya)) / 2.0; return res;}
вот формула res = abs(xa * (yc - yb) + xb * (ya - yc) + xc * (yb - ya))
здесь xa, ya ... - координаты