* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * * * * * * * * * * * * *} *} *При повороте на 90 градусов мы отмечаем, что cos 90 сворачивается в ноль, приводя к следующему простому преобразованию, где x ' и y' - ваши повернутые координаты, а x и y - предыдущие координаты.
x' = -y
y' = x
Применение этой простой замены в вашем примере приводит к следующему коду.Я также использовал сокращенное выражение инициализатора коллекции для дополнительной читаемости.
var points = new[]
{
new Point(-(int) top, (int) top),
new Point((int) -(top + HEIGHT), (int) top - WIDTH/2),
new Point((int) -(top + HEIGHT), (int) top + WIDTH/2)
};
paper.FillPolygon(normalBrush, points);
Я также рекомендую прочитать по линейной алгебре, используя, например, Антон Роррес, и др. .