Non c'è un metodo prefabbricato, però visto che è un problema comune, bastava fare una piccola ricerca in internet... ad esempio:
codice:
public Point2D.Float getIntersectionPoint(Line2D.Float line1, Line2D.Float line2) {
if (! line1.intersectsLine(line2) ) return null;
double px = line.getX1(),
py = line1.getY1(),
rx = line1.getX2()-px,
ry = line1.getY2()-py;
double qx = line2.getX1(),
qy = line2.getY1(),
sx = line2.getX2()-qx,
sy = line2.getY2()-qy;
double det = sx*ry - sy*rx;
if (det == 0) {
return null;
} else {
double z = (sx*(qy-py)+sy*(px-qx))/det;
if (z==0 || z==1) return null; // intersection at end point!
return new Point2D.Float(
(float)(px+z*rx), (float)(py+z*ry));
}
} // end intersection line-line
tratto da:
http://72.5.124.102/thread.jspa?messageID=10760328
4° risultato (su google) cercando: line2d intersection point