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