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

Revision ru3, by CrazzyBeer, 2015-07-29 18:36:24

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

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

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

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

UPD!!! Решение такое. 1. Читаем координаты первого треугольника 1. Вычисляем d1 (расстояние между 1 точкой и 2), d2 ( 2-3 ), d3 (1-3). 1. Вставляем в вектор эти расстояния (предполагаем, что порядок точек по часовой стрелке) 1. Вычисляем ориентированную площадь, если она меньше нуля, мы ошиблись, порядок против часовой, так что меняем местами vector[0] и vector[2]. 1. Делаем тоже самое для второго треугольника. 1. Перебираем все сдвиги первого вектора на равенство со вторым (если находим равенство — ответ "ДА"), если равенство не нашли — "НЕТ".

History

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