Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graphics 我需要一个算法来渲染软画笔笔划_Graphics_Vector Graphics - Fatal编程技术网

Graphics 我需要一个算法来渲染软画笔笔划

Graphics 我需要一个算法来渲染软画笔笔划,graphics,vector-graphics,Graphics,Vector Graphics,我有一系列鼠标点、一个笔划宽度和一个柔软度。我能画柔和的圆圈和柔和的线条。绘制点阵列时应使用哪种算法?我希望交叉线和端点看起来都很漂亮 我想你可能在寻找样条线算法 以下是样条曲线教程,您可能会发现它非常有用: [ 大多数关于图形编程的书籍中也涉及到这一主题 干杯。我肯定会为此选择贝塞尔,特别是我将实现分段三次贝塞尔-它非常容易实现和掌握,3D Studio max和Photoshop广泛使用它 以下是一个很好的来源: 假设点之间有顺序,为设置四个控制点,应按如下步骤进行: 定义点p[I]和点p

我有一系列鼠标点、一个笔划宽度和一个柔软度。我能画柔和的圆圈和柔和的线条。绘制点阵列时应使用哪种算法?我希望交叉线和端点看起来都很漂亮

我想你可能在寻找样条线算法

以下是样条曲线教程,您可能会发现它非常有用:

[

大多数关于图形编程的书籍中也涉及到这一主题


干杯。

我肯定会为此选择贝塞尔,特别是我将实现分段三次贝塞尔-它非常容易实现和掌握,3D Studio max和Photoshop广泛使用它

以下是一个很好的来源:

假设点之间有顺序,为设置四个控制点,应按如下步骤进行:

定义点p[I]和点p[I+1]之间的切线

  • T1=(P[i+1]-P[i-1])
  • T2=(P[i+2]-P[i])
要在两点之间创建分段,我执行以下操作:

  • 控制点Q1:P[i]
  • 控制点Q2:从Q1=>Q1+0.3T1沿切线的点
  • 控制点Q3:沿与Q4相切的点=>Q4-0.3T2
  • 控制点Q4:P[i+1]
我选择0.3T的原因是任意的,为了给它足够的“强度”,但不要太多,你可以使用更详细的方法来处理加速度(C2连续性)


享受

我找到了它-使用一个非常柔和的渐变圆,反复绘制以形成一个笔划,使用乘法混合。

从古奇和古奇开始,你可能会发现范的工作很有用-请参阅解释算法

Tateosian有一个很好的例子,它用漂亮的图片详细解释了附加技术。单靠贝塞尔曲线绘制并不能产生你想要的效果(取决于你想要的效果)。然而,我肯定会从Paul的作品开始,看看用你的软笔刷来绘制是否足够好


请注意,此空间中有很多链接,叹气。

优秀的链接!评论文章特别有趣。PDF链接已失效(4月12日14)您的链接已失效,或已更改其安全访问权限。软意味着模糊边缘?