В настоящее время я пытаюсь повернуть многоугольник, используя класс Affine Transform. Используя метод rotate, обновление графического представления многоугольника обновляется, но ограничивающий прямоугольник многоугольника не обновляется. Как я могу повернуть многоугольник в дополнение к обновлению его координат?Использование аффинного преобразования для поворота многоугольника
ответ
Создайте новую форму вместо того, чтобы просто поворачивать многоугольник, как ваша краска. Например:
Polygon shape = new Polygon();
shape.addPoint(...);
....
Rectangle bounds = shape.getBounds();
AffineTransform transform = new AffineTransform();
transform.rotate(Math.toRadians(angle), bounds.width/2, bounds.height/2);
Path2D path = (shape instanceof Path2D) ? (Path2D)shape : new GeneralPath(shape);
Shape rotated = path.createTransformedShape(transform);
System.out.println(rotated.getBounds());
Создание новой формы, казалось, сработало, давая мне обновленные координаты. Я не совсем получаю часть пути, однако ... Как полигон мог быть экземпляром Path2d? –
Это не так, поэтому код делает чек. В этом случае Polygon сначала преобразуется в GeneralPath, поэтому его можно вращать. (Я только что обновил код, чтобы вместо переменной «polygon», которую я изначально использовал, была использована переменная «shape». Надеюсь, это имеет смысл) – camickr
Хорошо, это действительно помогает! –
- 1. Решение для матрицы аффинного преобразования
- 2. аффинного преобразования в MATLAB
- 3. Реализация аффинного преобразования
- 4. Инвертирование аффинного преобразования - как обновить координату центра?
- 5. Получить реальный кадр после аффинного преобразования
- 6. Умножение матриц аффинного преобразования 4x3 в javascript
- 7. Точки преобразования многоугольника
- 8. Минимальное количество точек в поиске аффинного преобразования?
- 9. Как создать макет формы OpenCV [3,2] для аффинного преобразования?
- 10. Последовательность аффинного преобразования с кварцем 2D
- 11. Использование ImageMagick.NET для извлечения многоугольника
- 12. CSS-преобразования для поворота вокруг скошенного круга
- 13. Использование Leaflet.Path.Transform для поворота многоугольников в Mapbox
- 14. Использование glulookat для поворота камеры
- 15. Использование JQuery для поворота порядка
- 16. Как выполнить координаты аффинного преобразования с помощью python?
- 17. Как выполнить координаты аффинного преобразования с помощью python? часть 2
- 18. Ошибка при запуске аффинного преобразования в примере кода»
- 19. Как вычислить «половину» матрицы аффинного преобразования в MATLAB
- 20. Вычисление аффинного преобразования из 2-х наборов точек
- 21. Использование многоугольника для VoronoiDiagramBuilder.setClipEnvelope вместо прямоугольника
- 22. Использование буфера JSTS для идентификации самопересекающегося многоугольника
- 23. Пробелы SVG при использовании преобразования поворота
- 24. snapsvg - точка начала для масштабирования/поворота после преобразования
- 25. Алгоритм преобразования многоугольника с точками внутри
- 26. Использование функции поворота
- 27. запросов SQL поворота на дату преобразования
- 28. Как перевести изображение после этого преобразования поворота
- 29. OpenCV Применение аффинного преобразования для одиночных точек, а не для всего изображения
- 30. Позиция блока после поворота webkit-преобразования
Что вы подразумеваете под «ограничивающей коробкой» полигона? Вы сохраняете это как часть многоугольника? –