我试图在给定弧度角度的情况下绕原点旋转一系列点,但结果总是给出图形的倾斜版本。
这是我使用的方法,它是一个包含x和y值的熊猫数据帧:
df['x'] = df['x']*math.cos(math.radians(45))-df['y']*math.sin(math.radians(45))
df['y'] = df['x']*math.sin(math.radians(45))+df['y']*math.cos(math.radians(45))
我不明白它为什么要创建一个偏斜的图形。
df['x'] = df['x']*math.cos(math.radians(45))-df['y']*math.sin(math.radians(45))
df['x']
将被新值覆盖。
所以,第二行使用了新的df['x']
,但这是错误的。它应该使用旧值。
df['y'] = df['x']*math.sin(math.radians(45))+df['y']*math.cos(math.radians(45))
在临时使用应修复此问题:
dfx = df['x']*math.cos(math.radians(45))-df['y']*math.sin(math.radians(45))
df['y'] = df['x']*math.sin(math.radians(45))+df['y']*math.cos(math.radians(45))
df['x'] = dfx