Take a look at the Area class. Method
public void intersect(Area rhs) { curves = new AreaOp.IntOp().calculate(this.curves, rhs.curves); invalidateBounds(); }
You can examine the sources to understand how the intersection point is calculated.
Stanislavl
source share