基于Bezier曲线的手绘图
【摘要】:
在计算机动画造型中,平面曲线图设计一直没有很好地与手绘结合起来,这主要在于手绘曲线拟合的算法不精确,模型单一,人工交互能力较弱,以及数字曲线的数据点一般较多,为数据存储和处理带来了极大负担。
现有的手绘平面曲线图的修正拟合方法,以使用多边形逼近法、少数圆弧逼近法,以及多边形和圆弧二者结合起来的方法为主,其共同点是选择原数字曲线上的点作为逼近多边形。
手绘曲线是一种特殊的数字曲线,它的数据点与日常图像边缘检测得到的点有一定的区别,因为后者相对较稠密,而确定手绘曲线的数据点相对稀疏。不过,它们都是数字曲线,有许多相似之处,从而有相似的处理方法。手绘曲线可以画出需要的曲线(图形),这为某些仿真试验、异形设计等带来了极大的方便。但它往往比较粗糙,噪声较大,与目标曲线有一定的差别。因此,希望建立某种方法对手绘曲线进行处理,使得到的曲线既去除了噪声,又能抓住原曲线的特征;同时表达该曲线的数据点较少。
本文从数据点的选取入手,按手绘曲线的时间顺序,随时计算曲线曲率等特征,根据手绘速度及曲线特征(如曲率)变化取得数据点,基于由此得到的数据点,适当选取控制顶点绘制Bezier曲线图,从全局逼近手绘曲线。这一方法得到的控制点不一定在原曲线上,其优点在于能抓住原手绘曲线的特征,去除了原曲线的噪声,反应绘图的愿望,并且确定该主曲线的数据点较少。