import math
import numpy as np
#逆时针旋转
def Nrotate(angle, valuex, valuey, pointx, pointy):
valuex = np.array(valuex)
valuey = np.array(valuey)
nRotatex = (valuex - pointx) * math.cos(angle) - (valuey - pointy) * math.sin(angle) + pointx
nRotatey = (valuex - pointx) * math.sin(angle) + (valuey - pointy) * math.cos(angle) + pointy
return round(nRotatex, 2), round(nRotatey, 2)
#顺时针旋转
def Srotate(angle, valuex, valuey, pointx, pointy):
valuex = np.array(valuex)
valuey = np.array(valuey)
sRotatex = (valuex - pointx) * math.cos(angle) + (valuey - pointy) * math.sin(angle) + pointx
sRotatey = (valuey - pointy) * math.cos(angle) - (valuex - pointx) * math.sin(angle) + pointy
return sRotatex, sRotatey
pointx = -1
pointy = 1
#参数(角度,要旋转的点,要绕的点)
sPointx, sPointy = Srotate(math.radians(90), pointx, pointy, 0, 0)
print(sPointx, sPointy)
Python 按指定点旋转坐标点
最新推荐文章于 2024-04-08 08:52:35 发布