实现了某点按照中心点(n/2, m/2)旋转
def rotatecordiate(angle,rect):
angle=angle*math.pi/180
n=1600
m=1200
def onepoint(x,y):
# X = x*math.cos(angle) - y*math.sin(angle)-0.5*n*math.cos(angle)+0.5*m*math.sin(angle)+0.5*n
# Y = y*math.cos(angle) + x*math.sin(angle)-0.5*n*math.sin(angle)-0.5*m*math.cos(angle)+0.5*m
X = x * math.cos(angle) - y * math.sin(angle) - 0.5 * n * math.cos(angle) + 0.5 * m * math.sin(angle) + 0.5 * n
Y = y * math.cos(angle) + x * math.sin(angle) - 0.5 * n * math.sin(angle) - 0.5 * m * math.cos(angle) + 0.5 * m
return [int(X),int(Y)]
newrect=[]
for i in range(4):
point=onepoint(rect[i*2],rect[i*2+1])
newrect.extend(point)
newrect.extend([1])
print(newrect)
return newrect
参考:https://blog.csdn.net/u011489887/article/details/81014623