我正在通过 Java GUI 编写图形计算器(是的,我知道已经有库),当用户输入函数 IE x^6 时,我希望绘图框根据最小值和最大值动态调整自身大小。
例如,如果用户从 -4 到 4 输入 x^2,我的最小值为 0,最大值为 16,所以我想在框中显示整个图表,并正确调整大小。现在图表非常小,如果我使用 x^6 作为多项式,它看起来非常局促。
这就是我所在的地方。
Graphics2D g2 = (Graphics2D) g;
double myStart1 = Double.parseDouble(myStart);
double myEnd1 = Double.parseDouble(myEnd);
g2.translate(getWidth() / 2, getHeight() / 2);
g2.scale(5.0, 5.0);
g2.draw(new Line2D.Double( -myStart1 * 100,0, -myEnd1 * 100,0));
if (min < 0) {
g2.draw(new Line2D.Double(0, -min * 100, 0, -max * 100));
} else {
g2.draw(new Line2D.Double(0, min * 100, 0, -max * 100));
}
g2.setColor(Color.RED);
for (int i = 0; i < x.length; i++) {
if (i + 1 < x.length) {
g2.draw(new Line2D.Double(x[i], -y[i], x[i + 1], -y[i + 1]));
} else {
break;
}
}
}