Геометрия (треугольники)

Правка ru4, от CrazzyBeer, 2015-07-29 18:37:15

Даны два треугольника (координаты трех точек) . Координаты не идут в какой-то особой последовательности.

Вопрос Можно ли нарисовать второй треугольник, используя как шаблон первый? При это треугольник не разрешается отрывать от доски, но можно крутить и перемещать.

EX: Вот пример, в котором ответ будет "НЕТ", ибо треугольник нужно сначала оторвать от доски, перевернуть, а потом вернуть на доску.

Сравнивать площадь и углы мало (пример выше тому доказательство), может нужно как-то по-особенному использовать ориентированную площадь?

UPD!!! Решение такое. 1. Читаем координаты первого треугольника

  1. Вычисляем d1 (расстояние между 1 точкой и 2), d2 ( 2-3 ), d3 (1-3).

  2. Вставляем в вектор эти расстояния (предполагаем, что порядок точек по часовой стрелке)

  3. Вычисляем ориентированную площадь, если она меньше нуля, мы ошиблись, порядок против часовой, так что меняем местами vector[0] и vector[2].

  4. Делаем тоже самое для второго треугольника.

  5. Перебираем все сдвиги первого вектора на равенство со вторым (если находим равенство — ответ "ДА"), если равенство не нашли — "НЕТ".

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru5 Русский CrazzyBeer 2015-07-29 18:37:40 2 Мелкая правка: 'е такое.\n1. Читае' -> 'е такое.\n\n1. Читае'
ru4 Русский CrazzyBeer 2015-07-29 18:37:15 10
en4 Английский CrazzyBeer 2015-07-29 18:36:53 10
ru3 Русский CrazzyBeer 2015-07-29 18:36:24 577
en3 Английский CrazzyBeer 2015-07-29 18:31:29 20
en2 Английский CrazzyBeer 2015-07-29 18:30:22 609
ru2 Русский CrazzyBeer 2015-07-29 16:25:48 2 Мелкая правка: 'а доску.\n![ ](htt' -
ru1 Русский CrazzyBeer 2015-07-29 16:25:08 670 Первая редакция перевода на Русский
en1 Английский CrazzyBeer 2015-07-29 16:19:09 718 Initial revision (published)