Given a set of 4 vertices defined by vectors X and Y, return true if the vertices form a rectangle and false otherwise.
X and Y are not necessarily in sorted order, but you may assume that X(i) is paired with Y(i).
Also, if computing distances in your solution (e.g. with pdist), it is recommended that you round to three decimal places.
Most current solutions will fail if the four points fall on a circle but don't form a rectangle. Try adding X=[0 sqrt(2)/2 sqrt(2)/2 0]', Y=[1 sqrt(2)/2 -sqrt(2)/2 -1]'
Jon, I updated the test suite to include parallelograms that are not rectangles. While it does not include the specific example you gave, I think it takes care of the problem. Let me know if you think there is still an issue.
Matt, Jon's example can 'kill' some approaches, that check for trapezoids. X=[-1 -0.5 0.5 1]; Y=[0 sqrt(3)/2 sqrt(3)/2 0]; can eliminate those solutions which check only for 3 unique distances between points. It would be beneficial, to try some trapezoids, as well as kites or rhombi. Anyway, great problem!
Ah yes, I agree. Test suite updated again.
Time to work on plan B; pdist isn't valid in Cody. :-(
This one should not pass, it checks for parallelograms.
Thanks for bringing this to my attention Jan. Test suite has been updated.