function heronMain(){this.version='0.61';w=600;h=280;var s='';s+='
';s+='
';s+='
';s+='
Heron\'s Formula
';s+='
Find a Triangle\'s Area from its Sides
';s+='
abc
';s+='
def
';s+='
';s+='
';s+='
Area is
';s+='
';s+='
© 2018 MathsIsFun.com v'+this.version+'
';s+='
';document.write(s);init();go();} function init(){var s='';s+=getFieldsHTML();var div=document.getElementById('heronflds');div.innerHTML=s;this.ans1=document.getElementById('heron1');this.ans2=document.getElementById('heron2');} function go(){var a=+document.getElementById('side0').value;var b=+document.getElementById('side1').value;var c=+document.getElementById('side2').value;this.ans1.innerHTML='';this.ans2.innerHTML='';if(validTriangleQ(a,b,c)){doAngles(a,b,c);heron(a,b,c);}else{document.getElementById('area').innerHTML='';document.getElementById('angle2').innerHTML='';document.getElementById('angle0').innerHTML='';document.getElementById('angle1').innerHTML='';}} function getFieldsHTML(){var s='';var xys=[[240,80,'a',3,340,60],[350,210,'b',4,400,170],[480,80,'c',5,280,170]];for(i=0;i<3;i++){var xy=xys[i];s+='
';s+=''+xy[2]+':';s+='';s+='test';s+='
';} return s;} function heron(a,b,c){var s1='Classic Heron\'s Formula:
';var s=(a+b+c)/2;s1+="s = (a+b+c)/2 = "+s+"
";var Area=Math.sqrt(s*(s-a)*(s-b)*(s-c));s1+="Area = √( s(s-a)(s-b)(s-c) )
";s1+="Area = "+Area;document.getElementById('heron1').innerHTML=s1;s2='Variation with less rounding error:
';var temp;if(a";area=(1/4)*Math.sqrt((a+(b+c))*(c-(a-b))*(c+(a-b))*(a+(b-c)));s2+="Area = √((a+(b+c))(c-(a-b))(c+(a-b))(a+(b-c)))/4
";s2+="Area = "+Area;document.getElementById('heron2').innerHTML=s2;area=area.toPrecision(7);document.getElementById('area').innerHTML=area;} function doAngles(a,b,c){var AngA=Math.acos((b*b+c*c-a*a)/(2*b*c))*180/Math.PI;var AngB=Math.acos((c*c+a*a-b*b)/(2*c*a))*180/Math.PI;var AngC=Math.acos((a*a+b*b-c*c)/(2*a*b))*180/Math.PI;document.getElementById('angle1').innerHTML=(Math.round(AngA*10000)/10000)+"°";document.getElementById('angle0').innerHTML=(Math.round(AngB*10000)/10000)+"°";document.getElementById('angle2').innerHTML=(Math.round(AngC*10000)/10000)+"°";} function validTriangleQ(a,b,c){var OKQ=true;if(a<0)OKQ=false;if(b<0)OKQ=false;if(c<0)OKQ=false;if(!OKQ){this.ans1.innerHTML="Not a Triangle if any side is less than 0";return false;} if(a>(b+c))OKQ=false;if(b>(a+c))OKQ=false;if(c>(a+b))OKQ=false;if(!OKQ){this.ans2.innerHTML="Not a Triangle when one side is bigger than the other two combined";return false;} return true;}