public double IntersectTraverse(Basin3 otherBasin) { var otherQtraverseProjection = otherBasin.Q3.ProjectOn(TraverseCalm); var Qt = otherQtraverseProjection.ToVector3D(); Lambda_meridian = Qt.AngleTo(Q3.ToVector3D()).Radians; return(Triangles.SinusesTheorem( Math.PI / 2 + Delta_g_traverse, r, Lambda_meridian) - //r; otherBasin.r); //there's deformation //Qt.Length; }