function
calculateDistance(point1, point2){
const dx = point1.x - point2.x;
const dy = point1.y - point2.y;
return
(dx * dx + dy * dy);
}
function
arePointsFormingSquare(point1,
point2, point3, point4){
const distances = [
calculateDistance(point1, point2),
calculateDistance(point2, point3),
calculateDistance(point3, point4),
calculateDistance(point4, point1),
calculateDistance(point1, point3),
calculateDistance(point2, point4),
];
distances.sort((a, b) => a - b);
return
(
distances[0] === distances[1] &&
distances[1] === distances[2] &&
distances[2] === distances[3] &&
distances[4] === distances[5] &&
distances[0] * 2 === distances[4]
);
}
const point1 = { x: 0, y: 0 };
const point2 = { x: 1, y: 0 };
const point3 = { x: 1, y: 1 };
const point4 = { x: 0, y: 1 };
const result = arePointsFormingSquare(
point1, point2, point3, point4);
console.log(result);