# rotate ($x, $y, $angle_in_radians) => ($new_x, $new_y) sub rotate { my ($x, $y, $angle) = @_; my $len = sqrt($x*$x + $y*$y); $angle += atan2($y, $x); return $len * cos($angle), $len * sin($angle); }