Я пишу программу (.net) для создания макета в стиле стадиона, и мне нужно определить угол поворота для каждого многоугольника по сравнению с горизонтальным.
Это так, чтобы я мог создать содержимое многоугольника, а также правильно повернуть его, чтобы уместить его внутри.
Учитывая приведенное ниже изображение в качестве примера, чтобы смоделировать каждый вариант направления движения (обозначено красной линией), как я могу определить угол поворота, необходимый для того, чтобы форма имела красную линию сверху, как уже показано форма 5.
http://i40.tinypic.com/16ifhoo.gif
Я нашел логику для определения угла точек, составляющих красную линию, но мне также нужно знать угол поворота, чтобы вернуть его в горизонтальное положение.
Я не уверен, нужна ли мне какая-то центральная контрольная точка для всех полигонов, чтобы помочь.
Как мне лучше всего решить эту проблему?