一种动态调整线条首尾粗细的方案的制作方法

本发明涉及计算机图形处理,特别涉及一种动态调整线条首尾粗细的方案。
背景技术:
1、在计算机图形处理领域,用户在屏幕上书写或绘图时,系统需要实时收集并处理离散点以构造线条,线条的粗细不仅影响视觉效果,还关系到用户的书写体验和艺术表现力;
2、现有的计算机图形处理方法通常采用固定线条宽度的策略,即线条的粗细在整个绘制过程中保持不变,这种方法虽然简单直接,但在某些应用场景中缺乏表现力和灵活性,例如,在数字绘画中,艺术家可能希望线条的粗细能够随着笔触的变化而变化,以模拟真实的绘画效果;
3、因此现有技术在处理用户书写时的线条粗细变化方面存在以下问题:缺乏动态性:线条的粗细变化通常是固定的,无法根据用户的实时书写动态调整,如果书写粗线条,则从笔触生成的线条就是粗的,感官不太自然效率低下,在实时处理大量离散点时,现有的方法可能导致重复计算和资源浪费,影响处理效率。
技术实现思路
1、本发明的目的在于至少解决现有技术中存在的技术问题之一,提供一种动态调整线条首尾粗细的方案,能够解决现有技术在处理用户书写时的线条粗细变化方面存在以下问题:缺乏动态性:线条的粗细变化通常是固定的,无法根据用户的实时书写动态调整,如果书写粗线条,则从笔触生成的线条就是粗的,感官不太自然效率低下,在实时处理大量离散点时,现有的方法可能导致重复计算和资源浪费,影响处理效率的问题。
2、为实现上述目的,本发明提供如下技术方案:一种动态调整线条首尾粗细的方案,包括输入模块、缓冲模块和处理模块,输入模块与缓冲模块信号传输连接,所述缓冲模块还包括决策时间后移、上下文信息利用、动图调整能力功能;
3、其中,输入模块用来负责实时收集用户在屏幕上书写的离散点;
4、缓冲模块用于存储收集到的离散点,形成缓冲区域;
5、处理模块根据缓存区域中的点,动态调整线条的粗细。
6、优选的,所述输入模块通过触摸屏或数字笔实时收集用户书写数据经过加工处理,得到一个坐标和压力参数的离散点,并将这些点传递给缓存模块。
7、优选的,所述缓冲模块接收来自输入模块的离散点,并将其存储在缓冲区域中,缓冲区域的大小可以根据实际需求进行调整,以确保有足够的点用于后续处。
8、优选的,所述处理模块根据缓存区域中的点,动态调整线条的粗细。具体步骤如下:
9、步骤一,点分析:分析缓存区域中的点,提取关键参数,如书写速度、压力变化等;
10、步骤二,粗细调整:根据提取的参数,动态调整线条的粗细,调整算法可以采用自适应算法,根据不同的参数值调整线条的宽度;
11、步骤三,路径构造:根据调整后的线条宽度,构造线条路径。
12、优选的,所述输入模块的实现方案为用户在屏幕上书写,输入模块可以收到触摸事件,将这些事件转换成我们自己的数据结构;
13、其中至少包含了以下成员:点坐标,原始压力系数(表示当前点坐标的真实粗细程度),修复的压力系数(根据上下文,对点坐标的系数进行调整)将这个点数据传入缓冲模块缓冲模块的实现方法。
14、优选的,所述缓冲模块首先划分了一块固定的内存区域,用来存放固定数量的点数据,当点数据未充满此区域时,数据按照顺序向此区域推入数据,当填充满后,按照先进先出的逻辑,将最先推入的点数据推出,可参阅图1;
15、整个缓冲区的数据将作为决策每个点数据的上下文,在这个前提下我们可以对缓冲区内的点数据做出更平滑的调整。
16、优选的,所述处理模块的实现方案:首先,处理模块基于缓冲模块的数据结构,依赖输入模块提供的点数据,(以缓冲区大小5,线条粗细最小值为1为例);
17、当输入模块传入点数据后,首先向缓冲区推入这个点数据,根据是开头的锥度/尾部锥度,构造出从细到粗/从粗到细的线条变化;
18、计算出粗细变化的步长:
19、(最后推入点数据粗细-线条粗细最小值)/缓冲区大小;
20、头部缓冲区点数据的粗细为:线条粗细最小值+(步长*序列);
21、尾部缓冲区点数据的粗细为:最后一个确定的点-(步长*序列);
22、这样假设头部的粗细为3,头部缓冲区的限制粗细如下:
23、步长:0.4;
24、第一个点的粗细不能超过1.0,第二个点的粗细不能超过1.4,第三个点的粗细不能超过1.8,第四个点的粗细不能超过2.2,第五个点的粗细不能超过2.6最后从缓冲区推出时,恢复其粗细为3;
25、这样将前面几个点的粗细限制在一个锥形范围内,完成了从细到粗的变化。
26、优选的,所述尾部锥度的步长是由确定的点集合中最后一个点来确定的,假设这个点的粗细为4,尾部缓冲区的限制粗细如下:
27、步长:0.6;
28、第一个点的粗细不能超过3.4,第二个点的粗细不能超过2.8,第三个点的粗细不能超过2.2,第四个点的粗细不能超过1.6,第五个点的粗细不能超过1.0这样就完成了尾部锥度的处理;
29、由于用户一直在书写,因此点集合一直在追加,最后一个点一直在变化,尾部的锥度也跟随用户的书写在变化,因此每个点都经历了从细到粗的变化,视觉上模拟了在纸上书写时,笔墨晕染的效果;
30、同时由于带来了大量的计算,我们通过引入了缓冲区,将大量的计算限制在了缓冲区有限的控件内,而不会影响到确定的点集合,这样大大提升了在处理尾部锥度时的计算效率。
31、优选的,所述缓冲区域,为系统提供了更多的决策时间和上下文信息,从而增强了系统的灵活性和决策能力,具体优势如下:
32、决策时间后移:引入缓冲点集合后,将点参数的确定时间从收集到点的时刻,后移到了缓冲区满/满足确定条件。
33、上下文信息利用:缓存区域中的点可以利用更多的上下文信息,如用户书写速度、压力变化等,从而更准确地调整线条的粗细变化。
34、动态调整能力:缓冲区域使得系统能够根据实时书写情况动态调整线条的粗细,实现更加自然和灵活的书写体验。
35、与现有技术相比,本发明的有益效果是:
36、(1)、该动态调整线条首尾粗细的方案,动态调整线条粗细:根据用户的实时书写,动态调整线条的粗细,实现从细到粗的视觉变化,提高处理效率,通过引入确定点集合和缓冲点集合的概念,减少重复计算和资源浪费,提高图形处理的效率,通过上述方法,本发明能够为用户提供更加自然和灵活的书写体验,同时提高图形处理的效率和性能。
37、(2)、该动态调整线条首尾粗细的方案,决策时间后移:引入缓冲点集合后,将点参数的确定时间从收集到点的时刻,后移到了缓冲区满/满足确定条件;
38、上下文信息利用:缓存区域中的点可以利用更多的上下文信息,如用户书写速度、压力变化等,从而更准确地调整线条的粗细变化;
39、动态调整能力:缓冲区域使得系统能够根据实时书写情况动态调整线条的粗细,实现更加自然和灵活的书写体验。
技术研发人员:孙树康,康登波
技术所有人:合肥栈顶信息科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
