Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Function TMyStrategy.GetCoordinateTangleObject(Obj:TUnit):CoorTangleObject;
- VAR IncCoorObj,NewCoorObj:CoorTangleObject; //координаты приращения, новые координаты
- VAR cosAngle, sinAngle, ObjAngle:double; //косинус синус и угол
- VAR tESTvAR:double;
- VAR ObjX, ObjY:Double; //координаты центра
- Begin
- ObjAngle:=Obj.GetAngle;
- ObjX:=Obj.GetX;
- ObjY:=Obj.GetY;
- cosangle:= cos(ObjAngle);
- sinAngle:= sin(ObjAngle);
- //получение приращения координат
- IncCoorObj[1][1] := +Obj.GetWidth/2; //A
- IncCoorObj[1][2] := -Obj.GetHeight/2;
- IncCoorObj[2][1] := -Obj.GetWidth/2; //B
- IncCoorObj[2][2] := -Obj.GetHeight/2;
- IncCoorObj[3][1] := -Obj.GetWidth/2; //C
- IncCoorObj[3][2] := +Obj.GetHeight/2;
- IncCoorObj[4][1] := +Obj.GetWidth/2; //D
- IncCoorObj[4][2] := +Obj.GetHeight/2;
- //получение новых координат с учетом угла
- NewCoorObj[1][1] := ObjX + IncCoorObj[1][1] * cosAngle - IncCoorObj[1][2] * sinAngle;
- NewCoorObj[1][2] := ObjY + IncCoorObj[1][1] * sinAngle + IncCoorObj[1][2] * cosAngle;
- NewCoorObj[2][1] := ObjX + IncCoorObj[2][1] * cosAngle - IncCoorObj[2][2] * sinAngle;
- NewCoorObj[2][2] := ObjY + IncCoorObj[2][1] * sinAngle + IncCoorObj[2][2] * cosAngle;
- NewCoorObj[3][1] := ObjX + IncCoorObj[3][1] * cosAngle - IncCoorObj[3][2] * sinAngle;
- NewCoorObj[3][2] := ObjY + IncCoorObj[3][1] * sinAngle + IncCoorObj[3][2] * cosAngle;
- NewCoorObj[4][1] := ObjX + IncCoorObj[4][1] * cosAngle - IncCoorObj[4][2] * sinAngle;
- NewCoorObj[4][2] := ObjY + IncCoorObj[4][1] * sinAngle + IncCoorObj[4][2] * cosAngle;
- Result:= NewCoorObj;
- end;
Advertisement
Add Comment
Please, Sign In to add comment