Допустим, есть у меня процедура скейла спрайта условная SpriteScale(*img, X,Y, zoom)
Как корректнее подготовить параметры X, Y, Zoom для имитации поворота камеры на 360 градусов, а также перемещения еë в пределах одной плоскости (входящие параметры camPosX, camPosY, camAngle). В общем, как в вульфе/думе, только без учëта рендеринга стен, интересуют исключительно спрайты. Алгоритм сортировки не важен.
Желательно пояснение высокоуровневым псевдо-кодом.