CN102332173B - 一种基于向量代数的简明软笔效果生成方法 - Google Patents

一种基于向量代数的简明软笔效果生成方法 Download PDF

Info

Publication number
CN102332173B
CN102332173B CN 201110269267 CN201110269267A CN102332173B CN 102332173 B CN102332173 B CN 102332173B CN 201110269267 CN201110269267 CN 201110269267 CN 201110269267 A CN201110269267 A CN 201110269267A CN 102332173 B CN102332173 B CN 102332173B
Authority
CN
China
Prior art keywords
point
pen
intermediate point
wide
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201110269267
Other languages
English (en)
Other versions
CN102332173A (zh
Inventor
刘鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Wanpeng Digital Intelligence Technology Co ltd
Original Assignee
ZHEJIANG WANPENG NETWORK TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZHEJIANG WANPENG NETWORK TECHNOLOGY Co Ltd filed Critical ZHEJIANG WANPENG NETWORK TECHNOLOGY Co Ltd
Priority to CN 201110269267 priority Critical patent/CN102332173B/zh
Publication of CN102332173A publication Critical patent/CN102332173A/zh
Application granted granted Critical
Publication of CN102332173B publication Critical patent/CN102332173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种基于向量代数的简明软笔效果生成方法。本发明方法首先对原始输入的点序列进行移除近似重复点操作,得到采样点序列,根据相邻采样点坐标位置的距离计算并修正得到每个中间点
Figure 2011102692677100004DEST_PATH_IMAGE002
的笔宽;基于向量代数计算中间点
Figure 295152DEST_PATH_IMAGE002
的切矢量
Figure DEST_PATH_IMAGE004
、法矢量
Figure DEST_PATH_IMAGE008
,并计算的对应点
Figure DEST_PATH_IMAGE010
的对应点
Figure DEST_PATH_IMAGE012
,如果存在退化问题,则只计算结束点
Figure DEST_PATH_IMAGE014
的;如有退化问题,对点集S进行退化问题的处理得到点集C,如无退化问题,由点集S直接得到点集C;将点集C中的各点作为控制点用二次B样条曲线进行平滑拟合,绘制并填充该B样条曲线,得到最终的模拟效果。本发明方法无需额外数据的支持,从而最大程度的对数据进行压缩,获得更好的网络传输效率,取得更好的流畅性和笔锋笔润效果。

Description

一种基于向量代数的简明软笔效果生成方法
技术领域
本发明属于计算机图形学几何算法领域,涉及一种基于向量代数的简明软笔效果生成方法。
背景技术
软笔的线条粗细富于变化,运笔流畅有动感,相对于硬笔单调的笔宽,具有更生动的表现力。
软笔模拟的实现分为两个大的方向,一个是面向真实感的仿真,力求实现和真实软笔一样的效果,比如毛笔书法艺术中的顿笔、压笔、笔杆转动和诸如枯笔、飞白与渗透等水墨特效。这个方向的研究需要建立非常复杂的模型,多应用于毛笔字书法和艺术的学术研究;另一个方向是面向非真实感的简明软笔效果模拟,主要是模拟软笔的动感特性和几何变化,比如线条粗细过渡,笔锋、笔润的简明效果实现等。由于简明软笔效果的模拟实现模型简单,因此在各个领域中都有着广泛的应用,特别是在手写输入,网络会议,远程教育,电子白板中,是非常重要的书写沟通和绘制工具。本发明属于后面这个方向。
对于简明软笔效果模拟,鼠标和触控技术是最常用的交互输入设备,我们以鼠标为例进行说明。传统的实现模型如下,仅对关键步骤做描述:
步骤一,计算线条粗细。鼠标的移动速度与线条的粗细成反比,用解析几何的方法计算笔宽。因为线条粗细的计算依赖鼠标的移动速度,而速度为相邻鼠标点坐标值的距离与时间差的比值,因此要保存额外的计算数据;另外用解析几何的方式进行计算,算法实现的稳定性较差。
步骤二,与“纸面”的接触面可认为为圆形,由于鼠标的移动过程中,计算机只能取得一系列的不连续点和当时的画笔宽度,因此需要对连续的点进行平滑处理。
步骤三,最终用直线和圆弧进行绘制。
使用该模型实现的效果不好,最终绘制的软笔线条不流畅,笔锋笔润表现力不强。此外还需要保存额外的计算数据。
发明内容
本发明的主要目的是针对现有技术的不足,提供了一种基于向量代数的简明软笔效果生成方法,该方法能够取得更好的软笔效果,同时最大程度的对数据进行压缩,从而获得更好的网络传输效率和视觉效果。
本发明方法的具体步骤为:
步骤(1)对原始输入的点序列进行移除近似重复点的操作,去除坐标位置近似重复的点,得到采样点序列;采样点序列的起始点为Ps、结束点为Pe、中间点为Pi,i为中间点的序号,1≤i≤u,u为中间点的个数;
步骤(2)根据相邻采样点之间坐标位置的距离计算每个中间点Pi的笔宽Wpi,具体方法是:
根据需要,预设最大笔宽Wmax,
计算中间点Pi与前驱点Pi-1(与中间点Pi相邻的前一个点)的距离D,
D=‖Pi–Pi-1
设定Wnormal=Wmax-1
Wt = Wnormal × ( D - 1 ) 2 × W max + 1
Wr=Wnormal-Wt
Wnormal、Wt、Wr为中间值
Wr = 1 Wr = 1 Wnormal Wr ≥ Wnormal
Wp i = W max D &le; 1 1 Wt &GreaterEqual; Wnormal - 1 Wr Wt < Wnormal - 1
步骤(3)根据前驱点Pi-1修正后的笔宽Wpi-1′修正中间点Pi的笔宽Wpi,其中第一个中间点P1不作修正,直接作为修正第二个中间点P2的笔宽Wp2的依据;
具体方法是:
如果K>Ku,则Wpi′=Wpi-1′×Ku
如果K≤Ku,则Wpi′=Wpi
其中K为相邻两中间点笔宽比,K=Wpi/Wpi-1
Ku为修正系数,Ku=1.05~1.15
Wpi′为修正后的中间点Pi的笔宽
步骤(4)基于向量代数计算中间点Pi的切矢量Tpi、两个法矢量Npi和Mpi
Tpi=Pi–Pi-1
令‖Npi‖=‖Mpi‖=Wpi
计算Npi的对应点Sni和Mpi的对应点Smi
Sni=Pi+Npi
Smi=Pi+Mpi
对于只有起始点Ps和结束点Pe而没有中间点为Pi情况(退化问题),则计算结束点Pe的切矢量Tpe、两个法矢量分别Npe和Mpe,以及Npe的对应点Sne和Mpe的对应点Sme,计算方法同上。
步骤(5)对于存在对于只有起始点Ps和结束点Pe而没有中间点Pi的情况(退化问题),则对点集S进行退化问题的处理得到点集C;此时S={Ps,Pe},定义点Cn1=(Ps+Sne)/2
点Cm1=(Ps+Sme)/2
C={Ps,Cn1,Pe,Cm1}
对于除起始点Ps和结束点Pe外,还有中间点Pi的情况,由点集S直接得到点集C,其中S={Ps,Sn1,Sn2,…,Snu,Pe,Smu,Smu-1,…,Sm2,Sm1},
C={Ps,Cn1,Cn2,…,Cnu,Pe,Cmu,Cmu-1,…,Cm2,Cm1},
Cni=Sni、Cmi=Smi
步骤(6)将点集C中的各点作为控制点用二次B样条曲线进行平滑拟合,绘制并填充该B样条曲线,得到最终的模拟效果,该方法为成熟技术。
本发明方法的优点是:根据采样点的坐标位置的疏密间距来计算笔宽,无需额外数据的支持,从而最大程度的对数据进行压缩,可以获得更好的网络传输效率;使用本发明提供的计算公式和计算步骤,软笔模拟可以获得更好的流畅性和笔锋笔润效果。
附图说明
图1为本发明的流程图;
图2为切向量和法向量计算示意图;
图3为Sni点和Smi点计算示意图;
图4为对S点集进行退化问题处理的示意图;
图5为当S点集的点个数等于4时的处理示意图;
图6为当S点集的点个数等于6时的处理示意图;
图7为一具体的计算结果示意图;
图8为另一具体的计算结果示意图;
图9为又一具体的计算结果示意图;
图10为一个具体的填充效果。
具体实施方式
如图1,一种基于向量代数的简明软笔效果生成方法,具体步骤为:
步骤(1)对原始输入的点序列进行移除近似重复点的操作,去除坐标位置近似重复的点,得到采样点序列;采样点序列的起始点为Ps、结束点为Pe、中间点为Pi,i为中间点的序号,1≤i≤u,u为中间点的个数;
步骤(2)根据相邻采样点之间坐标位置的距离计算每个中间点Pi的笔宽Wpi,具体方法是:
根据需要,预设最大笔宽Wmax,
计算中间点Pi与前驱点Pi-1的距离D,D=‖Pi–Pi-1‖(1)
设定Wnormal=Wmax–1(2)
Wt = Wnormal &times; ( D - 1 ) 2 &times; W max + 1 - - - ( 3 )
Wr=Wnormal-Wt(4)
Wnormal、Wt、Wr为中间值
Wr = 1 Wr = 1 Wnormal Wr &GreaterEqual; Wnormal - - - ( 5 )
Wp i = W max D &le; 1 1 Wt &GreaterEqual; Wnormal - 1 Wr Wt < Wnormal - 1 - - - ( 6 )
步骤(3)根据前驱点Pi-1修正后的笔宽Wpi-1′修正中间点Pi的笔宽Wpi,其中第一个中间点P1不作修正,直接作为修正第二个中间点P2的笔宽Wp2的依据;
具体方法是:
如果K>Ku,则Wpi'=Wpi-1'×Ku
如果K≤Ku,则Wpi'=Wpi(7)
其中K为相邻两中间点笔宽比,K=Wpi/Wpi-1'(8)
Ku为修正系数,Ku=1.05~1.15(9)
Wpi'为修正后的中间点Pi的笔宽
步骤(4)基于向量代数计算中间点Pi的切矢量Tpi、两个法矢量Npi和Mpi
Tpi=Pi–Pi-1(10)
令‖Npi‖=‖Mpi‖=Wpi'(11)
计算Npi的对应点Sni和Mpi的对应点Smi
Sni=Pi+Npi(12)
Smi=Pi+Mpi(13)
对于只有起始点Ps和结束点Pe而没有中间点为Pi情况(退化问题),则计算结束点Pe的切矢量Tpe、两个法矢量分别Npe和Mpe,以及Npe的对应点Sne和Mpe的对应点Sme,计算方法同上。
步骤(5)根据前面的计算,一般的,可以得到点集S={Ps,Sn1,Sn2,…,Snu,Pe,Smu,Smu-1,…,Sm2,Sm1}。
当点集的个数为2时,属于退化问题,此时S={Ps,Pe}。
定义点Cn1=(Ps+Sne)/2(14)
定义点Cm1=(Ps+Sme)/2(15)
得到点集C={Ps,Cn1,Pe,Cm1}(16)
当S点集的点个数等于4时,此时S={Ps,Sn1,Pe,Sm1}
定义点Cn1=Sn1
定义点Cm1=Sm1
得到点集C={Ps,Cn1,Pe,Cm1}
当S点集的点个数等于6时,此时S={Ps,Sn1,Sn2,Pe,Sm2,Sm1}
定义点Cn1=Sn1
定义点Cn2=Sn2
定义点Cm1=Sm1
定义点Cm2=Sm2
得到点集C={Ps,Cn1,Cn2,Pe,Cm2,Cm1}
依次类推,一般的,最终我们可以得到点集C={Ps,Cn1,Cn2,…,Cnu,Pe,Cmu,Cmu-1,…,Cm2,Cm1}。此时Cni=Sni、Cmi=Smi
步骤(6)利用现有技术,将点集C中的各点作为控制点用二次B样条曲线进行平滑拟合,绘制并填充该B样条曲线,得到最终的模拟效果。
图2为切向量和法向量计算示意图。切向量为Tpi,计算公式为式(10)。法向量为Npi和Mpi,其中向量模的计算参见式(11),其方向垂直于切向量Tpi
图3为Sni点和Smi点计算示意图。计算公式参见式(12)(13)。
图4为对S点集进行退化问题处理的示意图。此时需要计算结束点Pe的笔宽和相关数据,计算方法同图2和图3。然后参见式(14)(15)(16)构造点集C。
图5为当S点集的点个数等于4时的处理示意图。此时,点集C的取值为{Ps,Cn1,Pe,Cm1}。
图6为当S点集的点个数等于6时的处理示意图。此时,点集C的取值为{Ps,Cn1,Cn2,Pe,Cm2,Cm1}。
图7为一具体的计算结果示意图。这是用鼠标作为输入设备生成的结果,书写了汉字“浙江”。该示意图中有采样点的数据和切矢量的数据。
图8为另一具体的计算结果示意图。这是用鼠标作为输入设备生成的结果,书写了汉字“浙江”。该示意图中有采样点的数据、点集C和法矢量的数据。
图9为又一具体的计算结果示意图。这是用鼠标作为输入设备生成的结果,书写了汉字“浙江”。该示意图中有采样点的数据、点集C和拟合而成的二次B样条曲线。
图10为一个具体的填充效果。这是用鼠标作为输入设备生成的结果,书写了汉字“浙江”。

Claims (1)

1.一种基于向量代数的简明软笔效果生成方法,其特征在于该方法的具体步骤是: 
步骤(1)对原始输入的点序列进行移除近似重复点的操作,去除坐标位置近似重复的点,得到采样点序列;采样点序列的起始点为Ps、结束点为Pe、中间点为Pi,i为中间点的序号,1≤i≤u,u为中间点的个数; 
步骤(2)根据相邻采样点之间坐标位置的距离计算每个中间点Pi的笔宽Wpi,具体方法是: 
根据需要,预设最大笔宽Wmax,计算中间点Pi与前驱点Pi-1的距离D, 
D=‖Pi–Pi-1‖ 
设定Wnormal=Wmax-1 
Figure FDA00002368739900011
Wr=Wnormal-Wt 
Wnormal、Wt、Wr为中间值 
Figure FDA00002368739900012
步骤(3)根据前驱点Pi-1修正后的笔宽Wpi-1′修正中间点Pi的笔宽Wpi,其中第一个中间点P1不作修正,直接作为修正第二个中间点P2的笔宽Wp2的依据; 
具体方法是: 
如果K>Ku,则Wpi′=Wpi-1′×Ku 
如果K≤Ku,则Wpi′=Wpi
其中K为相邻两中间点笔宽比,K=Wpi/Wpi-1′ 
Ku为修正系数,Ku=1.05~1.15 
Wpi′为修正后的中间点Pi的笔宽 ;
步骤(4)基于向量代数计算中间点Pi的切矢量Tpi、两个法矢量Npi和Mpi; 
Tpi=Pi–Pi-1
令‖Npi‖=‖Mpi‖=Wpi′ 
计算Npi的对应点Sni和Mpi的对应点Smi, 
Sni=Pi+Npi
Smi=Pi+Mpi
对于只有起始点Ps和结束点Pe而没有中间点为Pi情况,则计算结束点Pe的切矢量Tpe、两个法矢量分别Npe和Mpe,以及Npe的对应点Sne和Mpe的对应点Sme,计算方法同上; 
步骤(5)对于存在对于只有起始点Ps和结束点Pe而没有中间点Pi的情况,则对点集S进行退化问题的处理得到点集C;此时S={Ps,Pe},定义点Cn1=(Ps+Sne )/2 
点Cm1=(Ps+Sme)/2 
C={Ps,Cn1,Pe,Cm1
对于除起始点Ps和结束点Pe外,还有中间点Pi的情况,由点集S直接得到点集C,其中S={Ps,Sn1,Sn2,…,Snu,Pe,Smu,Smu-1,…,Sm2,Sm1}, 
C={Ps,Cn1,Cn2,…,Cnu,Pe,Cmu,Cmu-1,…,Cm2,Cm1}, 
Cni=Sni、Cmi=Smi
步骤(6)将点集C中的各点作为控制点用二次B样条曲线进行平滑拟合,绘制并填充该B样条曲线,得到最终的模拟效果。 
CN 201110269267 2011-09-13 2011-09-13 一种基于向量代数的简明软笔效果生成方法 Active CN102332173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110269267 CN102332173B (zh) 2011-09-13 2011-09-13 一种基于向量代数的简明软笔效果生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110269267 CN102332173B (zh) 2011-09-13 2011-09-13 一种基于向量代数的简明软笔效果生成方法

Publications (2)

Publication Number Publication Date
CN102332173A CN102332173A (zh) 2012-01-25
CN102332173B true CN102332173B (zh) 2013-03-27

Family

ID=45483935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110269267 Active CN102332173B (zh) 2011-09-13 2011-09-13 一种基于向量代数的简明软笔效果生成方法

Country Status (1)

Country Link
CN (1) CN102332173B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104680147B (zh) * 2015-03-09 2018-04-03 浙江万朋教育科技股份有限公司 一种基于鼠标和触控设备的特需几何图形的快速识别方法
CN108228057B (zh) * 2018-02-11 2021-03-02 海信视像科技股份有限公司 一种触控拐点的修正方法、装置及触控屏

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208355B1 (en) * 1998-04-07 2001-03-27 Adobe Systems Incorporated Sketch-based editing of curves
CN100520692C (zh) * 2007-01-17 2009-07-29 北京书生国际信息技术有限公司 一种实现笔锋效果的手写输入方法
CN100590659C (zh) * 2007-09-14 2010-02-17 广东威创视讯科技股份有限公司 一种笔锋即时实现方法
CN101393643B (zh) * 2007-09-21 2012-01-18 华东师范大学 计算机笔划变形系统和方法
CN101373539B (zh) * 2008-10-07 2010-10-27 广东威创视讯科技股份有限公司 毛笔笔迹的书写方法及书写装置
CN101697234A (zh) * 2009-09-25 2010-04-21 华南理工大学 一种基于笔画分段建模的手写汉字隶书美化方法

Also Published As

Publication number Publication date
CN102332173A (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
CN102520849B (zh) 电子毛笔书写方法及系统
CN102521858B (zh) 电子毛笔书写笔迹生成方法
Cheng et al. Loop subdivision surface based progressive interpolation
CN103065348A (zh) 基于骨骼动作库的二维动画自动生成方法
CN104123747A (zh) 多方式触控三维建模方法和系统
WO2014043846A1 (zh) 求解二维黎曼问题模拟亚音速无粘流的数值方法
CN102521857B (zh) 电子毛笔书写笔形角度控制方法
Li et al. Global behavior of a vibro-impact system with asymmetric clearances
CN101281699A (zh) 地理要素实例符号化方法
CN103559732A (zh) 一种生成毛笔笔迹的方法
CN102332173B (zh) 一种基于向量代数的简明软笔效果生成方法
CN1975784A (zh) 基于骨骼线体网格的质点弹簧形变仿真方法
CN100429677C (zh) 由数据驱动的基于草图的三维人体动作的创作和编排方法
CN103489209A (zh) 一种基于流体关键帧编辑的可控流体动画生成方法
CN104867172A (zh) 一种实现刚体运动的方法
CN101625765B (zh) 一种旋转椭圆弧的绘制方法
CN100583160C (zh) 一种基于细节编码及重构的物理变形方法
CN102521856B (zh) 电子毛笔书写笔形变形方法
CN101635063A (zh) 一种椭圆截面弹性柱体自由扭转/变形的模拟方法
Lee et al. Interactive 3D fluid jet painting
CN105224726B (zh) 结构网格动网格技术用于非结构网格流场求解器的方法
CN103345773B (zh) 一种基于力反馈技术的毛笔建模方法
CN103279357A (zh) 计算机图形界面中实现滑动轮盘控件功能的系统及其方法
CN103677540B (zh) 一种3d虚拟现实翻页实现方法
CN103425849B (zh) 一种动态障碍物影响下流体的仿真方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: ZHEJIANG WINUPON EDUCATIONAL TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: ZHEJIANG WINUPON NETWORK TECHNOLOGY CO., LTD.

CP03 Change of name, title or address

Address after: Xihu District Hangzhou City, Zhejiang Province, 310013 West Road Wensan No. 118 Hangzhou electronic commerce building room 1406

Patentee after: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.

Address before: The electronic commerce building, No. 118 Hangzhou West Road, Zhejiang province 310013 city 15 Floor

Patentee before: ZHEJIANG WANPENG NETWORK TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 310051 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK Co.,Ltd.

Address before: Xihu District Hangzhou City, Zhejiang Province, 310013 West Road Wensan No. 118 Hangzhou electronic commerce building room 1406

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee after: Zhejiang Wanpeng Digital Intelligence Technology Co.,Ltd.

Address before: 12 / F, building 8, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province, 310051

Patentee before: ZHEJIANG WANPENG EDUCATION SCIENCE AND TECHNOLOGY STOCK CO.,LTD.