as3 求三角形各個∠度數

求三角形的各個角的度數,主要是求角的數學公式:

cosB,cosC 同理。

對應的代碼如下:

/*
na表示角A,nb表示角B,nc表示C
*/
function getAngle(na:Point,nb:Point,nc:Point):void{	
	var a:Number=Math.sqrt(Math.pow((nc.x-nb.x),2)+Math.pow((nc.y-nb.y),2));
	var b:Number=Math.sqrt(Math.pow((nc.x-na.x),2)+Math.pow((nc.y-na.y),2));
	var c:Number=Math.sqrt(Math.pow((na.x-nb.x),2)+Math.pow((na.y-nb.y),2));
	var cosA:Number=(Math.pow(c,2)+Math.pow(b,2)-Math.pow(a,2))/(2*b*c);
	var cosB:Number=(Math.pow(a,2)+Math.pow(c,2)-Math.pow(b,2))/(2*a*c);
	var cosC:Number=(Math.pow(a,2)+Math.pow(b,2)-Math.pow(c,2))/(2*b*a);
	
	trace(Math.acos(cosC)*(180/Math.PI));//acos是反餘弦值
	trace(Math.acos(cosB)*(180/Math.PI));
	trace(Math.acos(cosA)*(180/Math.PI));
	trace((Math.acos(cosA)*(180/Math.PI)).toFixed(2));//toFixed 返回值是String
	var ja:Number=Number((Math.acos(cosA)*(180/Math.PI)).toFixed(2)) ;
	var jb:Number=Number((Math.acos(cosB)*(180/Math.PI)).toFixed(2)) ;
	var jc:Number=Number((Math.acos(cosC)*(180/Math.PI)).toFixed(2)) ;
	txta.text=ja.toString()+"°";
	txtb.text=jb.toString()+"°";
	txtc.text=jb.toString()+"°";
}

有參考的鏈接:http://www.hangge.com/blog/cache/detail_1087.html  涉及到atan,推測的acos的用法求角度,結果正確。

界面如下圖



有問題沒有問題都歡迎來討論~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章