Для выполнения задания мне нужно сделать «куклу» на Java, где вы можете перемещать ее и вращать руками и ногами, чтобы делать смешные / крутые позы. Кроме того, ноги должны иметь возможность вытягиваться (но не становиться шире, это важно).
Я хотел справиться с растяжением ноги, чтобы инвертировать вращение, сделанное с ногой, чтобы вернуть его в нейтральное прямое положение, масштабировать его в направлении y, а затем повторить вращение. Тем не менее, кажется, что масштабирование всегда будет в направлении y, поэтому после его поворота нога станет шире. Он будет выглядеть так, как должен, если его вернуть прямо и стоять.
Код, который я сейчас имею, выглядит примерно так:
leg.transform(AffineTransform.getRotateInstance(legAngle,pivot.getX(),pivot.getY()).createInverse());
leg.transform(AffineTransform.getScaleInstance(1,scaleFactor);
leg.transform(AffineTransform.getRotateInstance(legAngle,pivot.getX(),pivot.getY()));
Как сделать так, чтобы масштабирование оставалось относительно изображения после поворота?