用Java绘制十进制值的点

时间:2010-01-28 14:52:58

标签: java graphics

我在java中创建图形绘图软件。 如果方程是形式的,则作为过程的一部分 y = Sin(x)* Cos(x)

然后在那种情况下,y的值是小数值的点。 但在Java中,我们只允许绘制整数点。 有没有办法用任何包???

绘制十进制格式的点

可以使用的另一种策略是将十进制值转换为相应的整数值。 但是那个算法不会给我一个平滑的曲线......

Thanx提前......

3 个答案:

答案 0 :(得分:2)

如果您使用Graphics类绘制图片,请使用XXXX2D类而不是XXXX类和Graphics2D。例如:

Graphics2D g=(Graphics2D)g1;
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.draw(new Line2D.Double(1.000,1.22,78.98098,3.098));
(...)

答案 1 :(得分:1)

我认为绘图的整数x,y是它们应该去的像素。

如果你无法通过缩放值来获得漂亮的曲线,你应该考虑在内存中创建一个更大的图像(可能是y尺度的两倍)并在其上绘画,然后使用它将图像缩放回GUI使用提示SampleModel.getScaledInstance在缓冲的图片上获取存储空间SCALE_SMOOTH

虽然皮埃尔所说的可能更好。

答案 2 :(得分:1)

可以在非整数位置绘制点。您可以使用 Point2D.Double Point2D.Float 。有关详细信息,请参阅http://java.sun.com/docs/books/tutorial/2d/geometry/primitives.html