Got it right now!
public static function cross(point1a:Point, point1b:Point,
point2a:Point, point2b:Point):Boolean{
var deltaXi:Number;
var deltaYi:Number;
var i2:Number;
var deltaXi2:Number;
var deltaYi2:Number;
var determ:Number;
var snijpunt:Boolean = false;
var lambda:Number;
var mu:Number;
deltaXi = point1a.x - point1b.x; //blauwxi - roodxi
deltaYi = point1a.y - point1b.y; //blauwyi - roodyi
//while(!snijpunt){
deltaXi2 = point2a.x - point2b.x; //blauwxi2 - roodxi2
deltaYi2 = point2a.y - point2b.y; //blauwyi2 - roodyi2
determ = deltaXi * deltaYi2 - deltaYi * deltaXi2;
trace("determ : " + determ);
if(determ != 0){
mu = ((point2b.x - point1b.x) * deltaYi
-(point2b.y - point1b.y) * deltaXi) / determ;
lambda = ((point2b.x - point1b.x) * deltaYi2
-(point2b.y - point1b.y) * deltaXi2) / determ;
trace("mu : " + mu);
trace("lambda : " + lambda);
if ((mu >= 0) && (mu <= 1) && (lambda >= 0) &&
(lambda <= 1)){
return true;
}
}
//}
return false;
}
lieven cardoen
indiegroup
interactive digital experience
engelse wandeling 2 k18
b8500 kortrijk
T +32 (0)56/361 197
// communicatie bij voorkeur op [EMAIL PROTECTED]
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Lieven
Cardoen
Sent: donderdag 6 april 2006 10:38
To: Flashcoders mailing list
Subject: [Flashcoders] Crossing of two lines
Does anybody have a piece of code to check whether two Lines cross with
each other.
At the moment I have this, but it doesn't seem to work :
public static function cross(point1a:Point, point1b:Point,
point2a:Point, point2b:Point):Boolean{
var deltaXi:Number;
var deltaYi:Number;
var i2:Number;
var deltaXi2:Number;
var deltaYi2:Number;
var determ:Number;
var snijpunt:Boolean = false;
var lambda:Number;
var mu:Number;
deltaXi = point2a.x - point1a.x;
deltaYi = point2a.y - point1a.y;
//while(!snijpunt){
deltaXi2 = point2b.x - point2a.x;
deltaYi2 = point2b.y - point2b.y;
determ = deltaXi * deltaYi2 - deltaYi *
deltaXi2;
trace("determ : " + determ);
if(determ != 0){
mu = ((point1b.x - point1a.x) *
deltaYi -(point1b.y - point1a.y) * deltaXi) / determ;
lambda = ((point1b.x - point1a.x) *
deltaYi2 -(point1b.y - point1a.y) * deltaXi2) / determ;
trace("mu : " + mu);
trace("lambda : " + lambda);
if ((mu >= 0) && (mu <= 1) && (lambda
>= 0) && (lambda <= 1)){
return true;
}
}
//}
return false;
}
lieven cardoen
indiegroup
interactive digital experience
engelse wandeling 2 k18
b8500 kortrijk
T +32 (0)56/361 197
// communicatie bij voorkeur op [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com