![]() |
1
2
很好地处理这种形式的线合成会很慢(您必须使用延迟渲染方法考虑影响每个像素的所有线)。我怀疑有很多(如果有的话)图书馆会为你做这件事。 最快和最简单的方法(可能也是唯一现实和成本效益高的解决方案),这将与几乎任何绘图库一起使用,将其超级采样-以更高的分辨率绘制到屏幕外位图(例如,4倍的宽度和更高,宽度为4像素的线条。在绘制此图时禁用抗锯齿,因为它只会减慢速度),然后使用双线性过滤缩小结果。主要的缺点是它使用了大量的内存用于屏幕外位图。 |
![]() |
2
1
如果您需要一个现有的系统,使抗锯齿线“视觉上正确”,您可以尝试使用几个现有的renderman兼容的三维渲染器之一。许多渲染器使用的reyes算法,通过将原语分解成微多边形,然后在每个像素内的几个随机点位置对它们进行采样来工作。因此,即使你有一百万条线共同遮挡了50%的像素,结果图像值将显示大约50%的覆盖率。(例如,这就是在许多动画电影中,数百万的抗锯齿头发是如何绘制在角色上的。) 当然,使用成熟的三维渲染器绘制二维线就像用大锤敲打钉子一样。您需要一个相当病态的场景,以便3d渲染器比使用传统的2d渲染器进行超级采样更有效。 |
![]() |
3
0
听起来你想要一个预先制作好的绘图库,我不知道。 然而,要回答你的问题,知道任何方法将工作,你可以考虑一个像素是一个正方形。然后,可以将绘制的任何形状近似为与像素框相交的多边形。通过将这些多边形对像素框进行剪裁并对彼此进行剪裁,可以很好地估计与每个颜色相关的区域,这些区域与像素相交,以便进行精确的抗锯齿处理。当然,这是非常慢的计算,不适合交互式绘图。 |
![]() |
user1424739 · 如何获得子地块的绘图区域大小? 2 年前 |
![]() |
Nor-s · 如何使用ASIMP正确加载模型? 2 年前 |
![]() |
Makogan · 3D纹理大小影响程序输出,不会引发错误 6 年前 |
![]() |
Karsten W. · 底部R中的旋转箭头 6 年前 |
|
168grani · Matplotlib图形的线条平滑 6 年前 |