Reasoning about linkages with dynamic geometry. (March 2020)