Das stammt aus meiner Sammlung :
Delphi-Quellcode:
RVektor = record
x, y: Double;
end;
// WZ = Winkel
function Rotate(WZ : Double; Vektor : RVektor): RVektor;
begin
result.x := Vektor.x * cos(degtorad(WZ)) - Vektor.y * sin(degtorad(WZ));
result.y := Vektor.x * sin(degtorad(WZ)) + Vektor.y * cos(degtorad(WZ));
end;