procedure TForm1.Button1Click(Sender: TObject);
function RotatePoint(const P, baseP: TPoint; angle: integer): TPoint;
var x,y: double;
begin
x:=p.x-baseP.x;
y:=p.y-BaseP.y;
result.x:=Round(BaseP.x+x*Cos(Angle*pi/180)-y*Sin(Angle*pi/180));
result.y:=Round(BaseP.y+x*Sin(Angle*pi/180)+y*Cos(Angle*pi/180));
end;
var P1,P2,P3:TPoint;
begin
P1:=Point(100,100);
P2:=Point(100,200);
P3:=RotatePoint(P2,P1,-90); //-为逆时针,
ShowMessage(Format('%d,%d',[P3.X,P3.Y])); //
end;