as3求两直线交点坐标

 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/flashjiaocheng/Flash-as3-jiaocheng/1952.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值