я могу получить ограничительную рамку обрезного или повернутого прямоугольника, используя эту формулуПолучить ограничительную рамку стриженных и вращать прямоугольник
shearedW = Abs(Tan(shearX) * Height) + Width
shearedH = Abs(Tan(shearY) * Width) + Height
rotatedW = Abs(Cos(angle) * Width) + Abs(Sin(angle) * Height)
rotatedH = Abs(Sin(angle) * Width) + Abs(Cos(angle) * Height)
Но как совместить эти? Мне просто нужно знать ширину и высоту. Преобразование осуществляется сдвигом, а затем вращением формы.
Да, это не самый эффективный алгоритм с точки зрения количества операций для этого конкретного случая, но он прост и может быть легко обобщен на различные формы и преобразования. –
Ну, это будет работать, но мне нужно получить измерение, прежде чем делать трансформацию. Отредактировано, чтобы включить исправленную формулу. – user7583269
Вы считаете несколько повернутых параллелограммов. Обратите внимание, что две ножницы по двум осям эквивалентны сдвигу + масштабирование + вращение, поэтому стоит четко определить разрешенные преобразования и результирующие цифры. – MBo