|
var Arr:Array=new Array(); Arr.push({m_type:null});//0 Arr.push({m_type:"point",m_x:100,m_y:100});//1 Arr.push({m_type:"point",m_x:200,m_y:200});//2 Arr.push({m_type:"point",m_x:100,m_y:200});//3 Arr.push({m_type:"point",m_x:200,m_y:100});//4 Arr.push({m_type:"line2",m_p1:1,m_p2:2}); //5 Arr.push({m_type:"line2",m_p1:3,m_p2:4}); //6 //以上是两条直线的数组表示,如何求出以上两条直线的交点坐标呢? //调用下面的函数,求编号为5,6的两直线交点。 p_l_l(5,6); function p_l_l(line1:Number,line2:Number){
var line1_p1=Arr[line1].m_p1; var line1_p2=Arr[line1].m_p2; var line2_p1=Arr[line2].m_p1; var line2_p2=Arr[line2].m_p2; var line1_p1_x=Arr[line1_p1].m_x; var line1_p1_y=Arr[line1_p1].m_y; var line1_p2_x=Arr[line1_p2].m_x; var line1_p2_y=Arr[line1_p2].m_y; var line2_p1_x=Arr[line2_p1].m_x; var line2_p1_y=Arr[line2_p1].m_y; var line2_p2_x=Arr[line2_p2].m_x; var line2_p2_y=Arr[line2_p2].m_y; var line1_k=(line1_p1_x-line1_p2_x)/(line1_p1_y-line1_p2_y); var line1_b=line1_p1_y- line1_k*line1_p1_x; var line2_k=(line2_p1_x-line2_p2_x)/(line2_p1_y-line2_p2_y); var line2_b=line2_p1_y- line2_k*line2_p1_x; node_x=(line1_b-line2_b)/(line2_k-line1_k); node_y= (line2_k*line1_b-line1_k*line2_b)/(line2_k-line1_k); trace(node_x,node_y); } 此信息来自〖闪无忧〗 查看原网址:http://www.5uflash.com/Html/as3/22394078.html
|