Я тестирую 2D -ходьбу определенных математических функций, используя Java Awt, и я нашел странные шаблоны. Ручная чертежа 2D Прогулка функций не показала никаких странных шаблонов, поэтому я начал проверять поведение Java AWT.
В конце я написал эту простую программу Java, которая должна нарисовать две линии. Обратите внимание, что одна линия, синяя, зазубрена, это проблема. Я пытался использовать разные настройки для renderingHints (), но ни один из них не работал:
Это упрощенный код:
Это упрощенный код:
public class Draw {
public static void main(String[] args) {
JFrame frame = new JFrame("Draw");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);
frame.add(new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.BLUE);
for (int i = 0; i < 200; i++) {
g.drawLine(i, i, i + 1, i + 1);//function driven 2d walk, replaced by diagonals for SO purpose
}
g.setColor(Color.GREEN);
g.drawLine(10, 0, 210, 200);//reference line
}
});
}
}
< /code>
В этом примере синяя линия должна иметь ту же форму, что и зеленая линия, но она зазубрена. Обратите внимание, что рендерингинты. Я также пытался использовать Java Swing, но у меня была такая же проблема. Я использую Java (TM) SE среды выполнения 18,9 в Windows 11.
Подробнее здесь: https://stackoverflow.com/questions/796 ... g-java-awt