AS3图形基础:画各种三角形
图形算法,看似没什么用,其实如果能把这些基础的算法都烂熟于胸,举一反三,在开发游戏或高级应用时,可以让你受到极大启发。
?
?
?
一、根据三个顶点画出三角形
?
package com.king{/*author: ShangBin FengQQ: 334973991*/import flash.display.Sprite;import flash.geom.Point;public class testTriangle extends Sprite{ public function testTriangle(){ //已知条件 var a:Number=100; var A:Number=90*2*Math.PI/360; var B:Number=30*2*Math.PI/360; //画三角形 var b:Number=a*Math.sin(A)/Math.tan(B)+a*Math.cos(A); graphics.lineStyle(1, 0xff0000, 1); graphics.moveTo(0,0); graphics.lineTo(a,0); graphics.lineTo(b*Math.cos(A),b*Math.sin(A)); graphics.lineTo(0,0); }}}2、已知两边和此两边的夹角package com.king{ import flash.display.Sprite;import flash.geom.Point;public class testTriangle extends Sprite{ public function testTriangle(){ //已知条件 var a:Number=100; var b:Number=200; var A:Number=90*2*Math.PI/360; //画三角形 graphics.lineStyle(1, 0xff0000, 1); graphics.moveTo(0,0); graphics.lineTo(a,0); graphics.lineTo(b*Math.cos(A),b*Math.sin(A)); graphics.lineTo(0,0); }}}3、已知三条边长,最大边和最小边之差不能大于第三边package com.king{ import flash.display.Sprite;import flash.geom.Point;public class testTriangle extends Sprite{ public function testTriangle(){ //已知条件 var a:Number=100; var b:Number=200; var c:Number=250; //画三角形 var x=(a*a+b*b-c*c)/(2*a); var y=Math.sqrt(b*b-x*x); graphics.lineStyle(1, 0xff0000, 1); graphics.moveTo(0,0); graphics.lineTo(a,0); graphics.lineTo(x,y); graphics.lineTo(0,0); }}}??
?
?
?