一些改进

-重构
-改进了拖动替身的精确性。但是，现在还无法正确处理rotation != 0的情况。
现在可以正确的处理Rotation