Как определить, являются ли 8 точек квадратом?

794af0e92b864eb9ae8bb848af0b92f8.png

Есть координаты (i, j) 8 точек (красные), как определить что этот набор является квадратом?
И также как вычислить координату синей точке, если этот набор всё же является квадратом?
  • Вопрос задан
  • 466 просмотров
Пригласить эксперта
Ответы на вопрос 2
@lyeskin
Быстрое раздумье дало такой вариант - точки у нас в формате (x,y) выбираем плоскость, по которой будем группировать плоскости , например y.
Группируем точки:
{
    y1 : [ y1x1, y1x2, y1x3],
    y2 : [ y2x1, y2x2],
    y3 : [y3x1, y3x2, y3x3]
}


В вашем случае это будет

{
    2 : [2, 3, 4],
    3 : [2, 4],
    4 : [2, 3, 4]
}

Теперь есть следующие правила - минимальный и максимальный элемент в массиве должны быть равны y1 и y3 соответственно: т.е. в каждом массиве (по индексу 2, 3 и 4) минимальный элемент будет равен 2, а максимальный 4. И еще одно правило - должно быть всего 3 y-ключа (2 по 3 элемента и 1 на 2 элемента). Думаю примерно мысль объяснил, но не претендую на верное решение
Ответ написан
@dmitryKovalskiy
программист средней руки
Я надеюсь вы не прогуливали школьный курс геометрии и умеете считать скалярное произведение векторов, а так же вычисление длины отрезков по координатам. Вычисление координат синей точки - это задача нахождения середины отрезка между двух противоположных точек.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы