The idea is based on aligning pieces such that their perimeters are tangent to each other at some point. The solver would compute the tangent of each point on the perimeter of each piece and try aligning all pairs of tangents together (removing rotation from the degrees of freedom).
Store the tangent (perhaps in the form of the normal vector to the perimeter) at each point on the perimeter of each piece. Then, for each point on piece A and B, align the pieces such that the points are touching and tangents are collinear, and evaluate some error function.
This solution has 2 degrees of freedom for a pair of pieces, whereas the curvature solver has 3.
The idea is based on aligning pieces such that their perimeters are tangent to each other at some point. The solver would compute the tangent of each point on the perimeter of each piece and try aligning all pairs of tangents together (removing rotation from the degrees of freedom).
Store the tangent (perhaps in the form of the normal vector to the perimeter) at each point on the perimeter of each piece. Then, for each point on piece A and B, align the pieces such that the points are touching and tangents are collinear, and evaluate some error function.
This solution has 2 degrees of freedom for a pair of pieces, whereas the curvature solver has 3.