平滑绘图算法(Java2d)

时间:2010-12-10 22:07:57

标签: java graphics interpolation java-2d

我试图为各种函数绘制y = f(x)的曲线,我希望绘图尽可能好。也就是说,出于性能原因,我宁愿避免在我的Java代码中渲染单个像素。

换句话说,我想尽可能多地从Java2D中榨取质量。

目前我正在计算x方向上每个像素的浮点数(x,y)。然后我通过在这些点之间绘制线来创建一个Shape(使用点坐标的浮点值)。我有双线性插值,抗锯齿和质量渲染的渲染提示。

结果并不可怕,只是差强人意,但我看得更清楚了。我认为问题是,即使我使用浮点坐标,我实际上是绘制一个多边形,所以Java2D只能做这么多。

我还能做些什么来改善这个?

1 个答案:

答案 0 :(得分:1)

当我在大学学习计算机图形学时,我们做了一个基于“BézierCurve”的课程。它可能是您正在寻找的算法。在这里查看更多细节:

http://en.wikipedia.org/wiki /Bézier_curve

基本上,这是一种如何用平滑曲线替换多边形的方法。