android 原笔迹,Android-原笔迹手写的探索与开发

本文探讨移动端原笔迹开发,利用B样条插值算法进行曲线拟合,实现笔迹光滑,结合梯形填充算法创造笔锋效果,提升平板书写体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

这篇文章主要是关于移动端原笔迹的开发,让平板上的手写效果达到笔迹光滑且有笔锋。

介绍关于原笔迹的算法思路。

项目github地址

算法思路分析

曲线拟合算法

利用曲线拟合算法增加虚拟的点,使得笔迹更加光滑,关于算法思想本文采用的是B样条插值算法。

采集点:获取笔输出的两个关键点a1、a2,以及a1和a2附近的几个点a3,a4;

拟合点:利用a1,a2,a3,a4计算出a1和a2之间曲线的步长,再根据步长计算出a1与a2之间所有的点,所

计算出的点即为曲线上的点;

简单图示:

466b232dfa8003a8ecb17aa158857fc9.png

梯形填充笔迹

利用梯形填充思想来实现笔锋的效果。

获取笔宽:获取到a1与a2两点笔的压力,转换成对应的宽度作为此段起点和终点的宽度d1,d2,以d1与、

d2差再除以a1与a2点之间的个数得到曲线点之间笔宽的差值,再计算出该段曲线上所有点a1,b1...bn,a2

对应的笔宽l1...ln;

计算梯形:利用曲线上相邻的点和对应的笔宽计算出梯形,利用图形模块的填充效果将梯形填充;

处理梯形连接处:对于每个梯形连接处,根据此处关键点特征区分为不做处理,画线以及画椭圆,并且

将连接处填充,即生成原笔迹效果;

简单图示:

cb3374e57e6e6be21210990677b042b6.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值