我需要绘制给定起点和终点的多项式。我已经看过使用paincomponent来做这件事,但我感到困惑,因为原点在左上角,我需要我的网格线是动态的。
我如何制作它以便创建动态比例以及最适合用于绘制函数的java类?
例如,如果用户输入-2 2 x ^ 2,则绘图仪需要创建一个网格,从-2到中间为0,右边为2,为x坐标。但是,如果用户输入x ^ 3,我们在y平面上有负坐标,我需要将包含x坐标的直线滑动到适应位置。
谢谢!
答案 0 :(得分:0)
如果您知道要绘制的区域的大小,则转换y坐标应该不会太困难。但说实话,为什么不使用JFreeChart之类的绘图库?...
答案 1 :(得分:0)
我认为你可以做到这一点(我可能错了)的方法是绘制图形的y线和x线,并使用drawString在正确的位置标记x和y的值。 为了说明这一点,我为你做了这个例子:
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
Point2D.Double from = new Point2D.Double(300, 100);
Point2D.Double to = new Point2D.Double(300, 300);
Line2D.Double line = new Line2D.Double(from, to);
g2.draw(line);
Point2D.Double from2 = new Point2D.Double(150, 200);
Point2D.Double to2 = new Point2D.Double(450, 200);
Line2D.Double line2 = new Line2D.Double(from2, to2);
g2.draw(line2);
g2.drawString("-1", 290, 215);
}
drawString方法会在0以下绘制“-1”。所以你可以使用相同的东西在-1以下绘制-2等等。
我知道这听起来效率低下,但这是我能想到的唯一方法。
希望其他人能为您提供更好的解决方案。