我想安全地改变枢轴"。当更改枢轴时,我希望绘图矩形保持在相同的位置,但是使枢轴(和它的XY位置)改变。
我的支点工作方式如下:PivotX=0 PivotY=0
位于左上角,PivotX=1 PivotY=1
位于矩形的右下角。
现在我的问题是代码:
public void ChangePivot(float pivotX, float pivotY)
{
float oldPivotX = PivotX; // PivotX is object's variable
float oldPivotY = PivotY; // PivotY is object's variable
PivotX = pivotX;
PivotY = pivotY;
X -= (oldPivotX - PivotX) * Width * (float)Math.Cos(Rotation * Math.PI / 180); // X and Rotation are object's variables
Y -= (oldPivotY - PivotY) * Height * (float)Math.Cos(Rotation * Math.PI / 180); // Y and Rotation are object's variables
}
枢轴更改在X轴上完美运行,但不在Y轴上。
编辑:我在Cos部分发现了问题
我一直在寻找"安全改变支点"式。我找不到一个,可能因为我无法用很少的关键词描述这个东西。所以这是我最好的解决方案。
感谢您的帮助!
作为一个数学菜鸟的Apollogies。 :d