Я новичок в программировании графики. Я пытаюсь создать программу, позволяющую рисовать ориентированные графы. Для начала мне удалось нарисовать набор прямоугольников (представляющих узлы) и сделать возможности панорамирования и масштабирования, переопределив метод рисования в Java.
Все это, кажется, работает достаточно хорошо, пока узлов не слишком много. Моя проблема заключается в том, что я пытаюсь нарисовать точечную сетку. Сначала я использовал простой тестовый код, который накладывал точечную сетку с помощью двух вложенных циклов for:
int iPanX = (int) panX;
int iPanY = (int) panY;
int a = this.figure.getWidth() - iPanX;
int b = this.figure.getHeight() - (int) iPanY;
for (int i = -iPanX; i < a; i += 10) {
for (int j = -iPanY; j < b; j += 10) {
g.drawLine(i, j, i, j);
}
}
Это позволяет мне панорамировать сетку, но не масштабировать. Однако производительность при панорамировании ужасна! Я много искал, но чувствую, что упускаю что-то очевидное, потому что не могу найти ничего по этому вопросу.
Любая помощь или указатели будут очень признательны.
--Стивен