나는 뉴턴 물리학을 사용하여 매우 단순한 행성 중력 시뮬레이터를 완성합니다. 행성을 팬 및 줌에 맞게 변형 및 확장 할 수 있습니다. 이것은 잘 작동하고, 마우스 입력과 모든 것. 내가 가진 문제는 다른 어떤 것보다 더 미학적이다. 캔버스의 원점은 윈도우의 왼쪽 위 모서리 (JPanel 내, JFrame 내)에 있으므로 모든 점이 해당 점에 대해 비례합니다. 원점을 화면 중심으로 설정하거나 특정 지점에 대해 비율을 조정할 수있는 방법이 있는지 궁금합니다. AffineTransform.scale()이 하나의 생성자 만 가지고 있으며 scaleX와 scaleY를 args로 가진다. 캔버스의 경계를 다음과 같이 음수로 설정해 보았습니다.Java - 특정 점에 대한 캔버스 크기 조정
canvas.setBounds(-width/2, -height/2, width/2, height/2);
(너비와 높이가 화면 크기 임).
음수는 패널의 좌표 밖에 있으므로 분명히 작동하지 않습니다.
아무도이를 수행하는 방법을 알고 있습니까? 화면의 중심을 원점으로 설정하거나 원점이 아닌 특정 점을 기준으로 비율을 조정 하시겠습니까?