とりあえず方針だけ。

4点ABCDが凹多角形かを調べるには、
たとえばA点がBCDの内部にあるかどうかを判定する場合
三つの内積 BA・BC、CA・CD、DA・DB の正負が一致しているかを見る。 
一致していればAは内部にある。これをB,C,Dにも同様にやれば凹多角形か判定できるはず。

ヘロンの公式をコーディングする場合
sqrt((s*(s-a)*(s-b)*(s-c))をsqrt(2αβ+2βγ+2γα-α^2-β^2-γ^2)/4 (ただしα=a^2 β=b^2 γ=c^2)
とすれば αβγは普通にピタゴラスの定理で出るし
誤差とかも少ないかと