Yes. Consider the set of all 1-1 mappings between black and white points, and among all of these mappings take one that minimizes the sum of the lengths of the line segments. There can be no crossings in this mapping.

Proof: Suppose there was a crossing, i.e., (B1, W1) crosses (B2, W2) at the point X. We know from the triangle inequality that

length(B1, X) + length(X, W2) > length(B1, W2) and length(B2, X) + length(X, W1) > length(B2, W1)

The inequalities are strict since no three points are collinear. Adding the two inequalities, we get

length(B1, W1) + length(B2, W2) > length(B1, W2) + length(B2, W1)

which means that the mapping that takes B1 to W2 and B2 to W1 has less total length that the original mapping, contradicting our choice of the original mapping. Hence there can be no crossings in the original mapping.

lib/DbaDatabase.php:134: Warning: dba_replace() [<a href='function.dba-replace'>function.dba-replace</a>]: You cannot perform a modification to a database without proper access