gpt4 book ai didi

algorithm - 模拟自然铅笔需要画线算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:52 25 4
gpt4 key购买 nike

我正在编写一个使用压力敏感表进行输入的绘图程序。我希望能够模拟许多其他艺术程序(例如 Paint Tool SAI、Art Rage)所具有的软铅笔效果。我目前使用的技术是实用的,但缺少我在更专业的程序中看到的清洁度。

目前我的算法是这样工作的:

  • 创建代表画笔头的位图。这只是一个透明位图,上面画了一个黑色圆圈。该圆的内半径为纯黑色,外半径为黑色。当您从内半径移动到外半径时,黑色会从不透明线性淡化为透明。
  • 从我的平板电脑捕获输入事件。每个点包含一个 (x, y) 坐标以及一个压力值
  • 对于第一个点之后的每个点,从前一个点到当前点画一条线。这是通过在两点之间多次绘制(涂抹)画笔位图来完成的。选择每个涂抹之间的步长,以便后续涂抹之间存在重叠。

这工作得相当好,但结果是一条有点 Blob 和锯齿状的线。

  • 我需要做的一件事是以某种方式平滑输入点,使整个笔画平滑。
  • 我需要做的另一件事是弄清楚如何沿着这条路径“拖动”刷头来进行描边。如果间距太远,笔画看起来像一行圆圈。如果靠得太近,笔划会自行堆积并变得非常暗。 (我试图通过按间距衰减画笔来解决这个问题。这确实使事情更加一致,但阻止了笔划完全不透明)。

无论如何,我希望已经对此进行了大量研究,只要我知道去哪里找就好了。如果有更好的铅笔画算法,请告诉我。

最佳答案

不是在已经绘制的内容上绘制新圆,而是使用标准混合函数(以便重叠区域获得更高的不透明度),您需要保持目前的最大不透明度。

只有在您建立了完整的笔画之后(如在白纸上),您才能将其混合到现有的艺术线条中。

图片说明了混合和保持最大不透明度之间的区别。 enter image description here

关于algorithm - 模拟自然铅笔需要画线算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26472948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com