【问题标题】:Algorithm for smooth plotting (Java2d)平滑绘图算法(Java2d)
【发布时间】:2010-12-10 22:07:57
【问题描述】:

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

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

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

结果并不可怕,还算可以,但我看到的更好。我认为问题是,即使我使用的是浮点坐标,我本质上是在绘制一个多边形,所以 Java2D 只能做这么多。

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

【问题讨论】:

  • 我们可以得到结果的屏幕截图吗? (否则很难说如何改进。)

标签: java graphics interpolation java-2d


【解决方案1】:

当我在大学学习计算机图形学时,我们做了一个基于“贝塞尔曲线”的课程。它可能是您正在寻找的算法。更多详情请看这里:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多