var Vec2D = toxi.geom.Vec2D,
Line2D = toxi.geom.Line2D;
void setup() {
size(640,480);
smooth();
textSize(9);
}
void draw() {
background(240);
Line2D l=new Line2D(new Vec2D(250,50), new Vec2D(450,350));
Line2D m=new Line2D(new Vec2D(450,200), new Vec2D(mouseX,mouseY));
Line2D.LineIntersection isec=l.intersectLine(m);
if (isec.getType()== Line2D.LineIntersection.Type.INTERSECTING) {
Vec2D pos=isec.getPos();
stroke(255,0,192);
fill(255,0,192);
ellipse(pos.x,pos.y,5,5);
textAlign(pos.x>width/2 ? RIGHT : LEFT);
text("{x: "+pos.x.toFixed(2)+", y: "+pos.y.toFixed(2)+" }",pos.x,pos.y-10);
} else {
stroke(0);
}
line(l.a.x,l.a.y,l.b.x,l.b.y);
line(m.a.x,m.a.y,m.b.x,m.b.y);
}