Я делаю настольное приложение в java swing. Я сделал 3D-изображение из своего 2D-изображения с помощью PointArray []. теперь я хочу повернуть изображение, используя MouseListener и MouseMotionListener. Я использовал объект MouseRotate для вращения myImage, но он не подходит для этого, MouseRotate поворачивает изображение с исходным кодом (0,0,0). но я хочу повернуть изображение, используя центральную точку изображения. означает поворот изображения, используя центральную точку, а не точку начала. Итак, как я могу это сделать?Как использовать MouseListener и MouseMotionListener в java3D для поворота 3D-объекта?
1
A
ответ
0
Хмм, сложно сказать без кода, но я думаю, вы можете просто настроить матрицу преобразования и повернуть ее с этим. Предполагая, что изображение обращена к передней части экрана, вы можете попробовать что-то вроде этого:
public void mouseDragged(MouseEvent e)
{
int dx = e.getX() - x; //x should be a global variable
int dy = e.getY() - y; //same applies here
x = e.getX(); //to set x for the next update loop
y = e.getY();
double rotation = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));
Transform3D transform = new Transform3D();
Matrix3d matrix = new Matrix3d();
transformG.getTransform(transform); //assuming the TransformGroup your image is in is transformG
transform.getRotationScale(matrix);
transform.rotZ(rotation);
transformG.setTransform(transform);
}
Вы можете настроить количество вращения по-другому, если вы хотите, но это должно дать вам представление о том
Смежные вопросы
- 1. Регистрация MouseListener и MouseMotionListener одновременно
- 2. Разница между mouseListener и mouseMotionListener в Java?
- 3. Класс, который реализует mouseLIstener и mouseMotionListener в java
- 4. Как совместить paintComponent (Graphics g) с MouseListener и MouseMotionListener
- 5. Как использовать событие MouseListener
- 6. Использовать MouseListener для рисования кругов?
- 7. MouseMotionListener в теме
- 8. MouseMotion и MouseMotionListener не работают
- 9. В Java, мой MouseMotionListener и MouseListener обнаруживает клики, но не движение
- 10. Почему MouseMotionListener не работает?
- 11. Как использовать таймер поворота?
- 12. Java3D Game Movement
- 13. Координаты Java3D и HexGrid
- 14. Как использовать MouseListener для поиска определенной ячейки в сетке
- 15. Как использовать mouseListener для добавления нового изображения в Slick2d
- 16. Как использовать два поворота
- 17. Java3d Поведение и движение
- 18. Как зарегистрировать MousemotionListener
- 19. Апплет MouseMotionListener и Itemlistener конфликтуют?
- 20. Java MouseMotionListener
- 21. Как можно использовать Mouselistener? переместить кнопки?
- 22. Как использовать RotateAnimation для поворота круга?
- 23. Как использовать AffineTransform.quadrantRotate для поворота растрового изображения?
- 24. MouseMotionListener показывает (х, у) смещение
- 25. Реализация MouseMotionListener в JPanel
- 26. Центральный MouseMotionListener в java
- 27. Использовать UIPanGestureRecognizer для поворота изображения
- 28. Как использовать UIViewPropertyAnimator для поворота 360º
- 29. Как написать MouseListener для JavaFX
- 30. Проблема с getX и getY в MouseListener