Как оптимизировать отрисовку этих маркеров? - PullRequest
0 голосов
/ 08 января 2019

Я сейчас работаю над графической программой на Java / Swing. В настоящее время я сделал JPanel с топорами и маркерами на нем.

Мой вопрос: как объединить циклы для рисования отрицательных и положительных маркеров?

В настоящее время я сделал что-то вроде этого:

 private void DrawAxisMarkers(Graphics g) {

    //X  MARKERS
    g.setColor(Color.red);
    for (int xI = 0; xI <= this.getWidth(); xI += MatherProperties.SCALE) {
        g.drawLine(xI * MatherProperties.SCALE+ origin.x, markerSize + origin.y, xI * MatherProperties.SCALE + origin.x, -markerSize + origin.y);
    }
    for (int xI = 0; xI <= this.getWidth(); xI += MatherProperties.SCALE) {
        g.drawLine(-xI * MatherProperties.SCALE + origin.x, markerSize + origin.y, -xI * MatherProperties.SCALE + origin.x, -markerSize + origin.y);
    }

    //Y MARKERS
    g.setColor(Color.blue);
    for (int yI = 0; yI <= this.getHeight(); yI += MatherProperties.SCALE) {
        g.drawLine(markerSize + origin.x, yI * MatherProperties.SCALE + origin.y, -markerSize + origin.x, yI * MatherProperties.SCALE + origin.y);
    }
    for (int yI = 0; yI <= this.getHeight(); yI += MatherProperties.SCALE) {
        g.drawLine(markerSize + origin.x, -yI * MatherProperties.SCALE + origin.y, -markerSize + origin.x, -yI * MatherProperties.SCALE + origin.y);
    }
}

У меня нет идей, как их объединить: \ Также источник этих осей находится посередине, но пользователь сможет изменить происхождение.

График:

image

...