Я пытаюсь сделать карточную игру, где карты разветвляются. Прямо сейчас, чтобы отобразить его, я использую Allegro API, который имеет функцию:
al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X
,Y,DEGREES_TO_ROTATE_IN_RADIANS);
так что с этим я могу легко сделать эффект вентилятора. Проблема в том, что вы знаете, какая карта находится под мышью. Чтобы сделать это, я подумал о проведении теста столкновения полигонов. Я просто не уверен, как повернуть 4 точки на карте, чтобы составить многоугольник. Мне в основном нужно сделать ту же операцию, что и Аллегро.
Например, 4 пункта карты:
card.x
card.y
card.x + card.width
card.y + card.height
Мне нужна функция вроде:
POINT rotate_point(float cx,float cy,float angle,POINT p)
{
}
Спасибо