一种三阶贝塞尔曲线的绘制方法及其相关设备技术

技术编号:36200411 阅读:16 留言:0更新日期:2023-01-04 11:54
本发明专利技术涉及图像渲染领域,公开了一种绘制三阶贝塞尔曲线的方法及其相关设备。该方法包括:将三阶贝塞尔时间参数t代入预置的参数方程进行计算处理,得出所述三阶贝塞尔曲线的坐标点Pi,对所述坐标点Pi进行绘制处理,得到前置曲线;将所述三阶贝塞尔时间参数t代入预置的切线方程进行计算处理,得出所述坐标点Pi的切向量,将所述切向量进行预置旋转处理,得到法向量;将所述坐标点Pi和所述法向量代入预置的直线方程进行计算处理,得出所述坐标点Pi的可变换坐标,对所述坐标点Pi中的P0和P3进行坐标变换处理,配合所述坐标点Pi中的P1和P2,得到后置曲线;将所述前置曲线和所述后置曲线进行输出处理,得到三阶贝塞尔曲线。得到三阶贝塞尔曲线。得到三阶贝塞尔曲线。

【技术实现步骤摘要】
一种三阶贝塞尔曲线的绘制方法及其相关设备


[0001]本专利技术涉及图像渲染领域,尤其涉及一种三阶贝塞尔曲线的绘制方法及 其相关设备。

技术介绍

[0002]现有的2D矢量绘制技术方案,几乎都是采用扫描线算法,然后在CPU 上进行光栅化来完成的,在CPU上绘制成了一张图片,此时,如果想要对曲 线做一些定制化处理,就会很难,甚至根本做不到。原因是曲线已经被光栅 化成了图片,无法再对曲线上的每个点做单独的控制。比如说对曲线做生长 动画;把曲线从中心分开成两半,然后分别填充不同的颜色,或者只要其中 的一半;把曲线变成是有立体感的;或者沿曲线方向做渐变等等。因此,需 要一种技术解决当前贝塞尔曲线绘制填充颜色较为繁琐的问题。

技术实现思路

[0003]本专利技术的主要目的在于当前贝塞尔曲线绘制填充颜色较为繁琐的技术问 题。
[0004]本专利技术第一方面提供了一种三阶贝塞尔曲线的绘制方法,所述三阶贝塞 尔曲线的绘制方法包括:
[0005]将三阶贝塞尔时间参数t代入预置的参数方程进行计算处理,得出所述三 阶贝塞尔曲线的坐标点Pi(i=0,1,2,3),其中,所述参数方程具体为B(t) =(1

t)3P0+3(1

t)2tP1+3(1

t)t2P2+t3P3,所述时间参数t的取值范围设定为0和 1;所述P0和P3是曲线的起点和终点,所述P1和P2是曲线的控制点,所述 B(t)具体为参数方程中关于t的函数;
[0006]对所述坐标点Pi(i=0,1,2,3)进行绘制处理,得到前置曲线;
[0007]将所述三阶贝塞尔时间参数t代入预置的切线方程进行计算处理,得出所 述坐标点Pi(i=0,1,2,3)的切向量,其中,所述切线方程具体为T(t)=3(1
ꢀ‑
t)2(P1

P0)+6(1

t)t(P2

P1)+3t2(P3

P2),所述T(t)具体为切向量关于t的函数;
[0008]将所述切向量进行预置旋转处理,得到法向量;
[0009]将所述坐标点Pi(i=0,1,2,3)和所述法向量代入预置的直线方程进 行计算处理,得出所述坐标点Pi(i=0,1,2,3)的可变换坐标,其中,所 述直线方程具体为Pi+N*strokeSize*0.5,所述strokeSize具体为曲线的描边宽 度,所述N为法向量;
[0010]对所述坐标点Pi(i=0,1,2,3)中的P0和P3进行坐标变换处理,配 合所述坐标点Pi(i=0,1,2,3)中的P1和P2,得到后置曲线;
[0011]将所述前置曲线和所述后置曲线进行输出处理,得到三阶贝塞尔曲线。
[0012]可选的,将所述前置曲线和所述后置曲线进行输出处理,得到所述三阶 贝塞尔曲线包括:
[0013]将所述前置曲线和所述后置曲线进行相连处理,得到第一交点;
[0014]根据所述前置曲线的顶点与所述第一交点,获取所述前置曲线的切向量 CT;
[0015]根据所述后置曲线的顶点与所述第一交点,获取所述后置曲线的切向量 NT;
[0016]将所述切向量CT和所述切向量NT进行计算处理,得到所述切向量CT 和所述切向量NT的夹角;
[0017]判断所述夹角是否等于预置的角度;
[0018]若等于预置的角度,则判定所述三阶贝塞尔曲线不存在曲线与曲线的连 接。
[0019]可选的,判断所述夹角是否等于预置的角度包括:
[0020]判断所述夹角大于或小于预置的角度;
[0021]若大于预置的角度,则判定所述夹角处于所述三阶贝塞尔曲线的左侧;
[0022]若小于预置的角度,则判定所述夹角处于所述三阶贝塞尔曲线的右侧。
[0023]可选的,判断所述夹角大于或小于预置的角度包括:
[0024]将前置曲线的切向量CT代入预置的直线方程进行计算处理,得到前置曲 线顶点的坐标,其中,所述直线方程具体为U=Pi+s*CT*strokeSize*0.5,所述 U具体为前置曲线的顶点,所述s具体为方程参数,所述s的取值范围设定为 1和

1;
[0025]将后置曲线的切向量NT代入预置的直线方程进行计算处理,得到后置曲 线顶点的坐标,其中,所述直线方程具体为V=Pi+s*NT*strokeSize*0.5,所述 V具体为后置曲线的顶点,所述s具体为方程参数,所述s的取值范围设定为 1和

1;
[0026]判断所述前置曲线顶点、所述后置曲线顶点和第一交点能否相连接;
[0027]若能相连接,则将所述前置曲线顶点、所述后置曲线顶点和所述第一交 点进行连接处理,形成一个三角形带。
[0028]可选的,判断所述前置曲线顶点、所述后置曲线顶点和所述第一交点能 否相连接之后,还包括:
[0029]若不能相连接,则判断所述前置曲线顶点、所述后置曲线顶点和所述第 一交点能否进行绘制处理;
[0030]若能进行绘制处理,则以所述第一交点为圆心,以所述前置曲线顶点和 所述后置曲线顶点连接的直线为半径,在直线上进行圆弧绘制处理,形成一 个圆弧形带;
[0031]若不能进行绘制处理,则基于切向量CT,过所述前置曲线顶点设立直线 L1,基于切向量NT,过所述后置曲线顶点设立直线L2;
[0032]获取所述直线L1和所述直线L2的第二交点,根据所述第一交点,计算 所述第二交点与所述第一交点的距离;
[0033]判断所述距离是否大于预置的miterLimit,其中,所述miterLimit具体为 尖角限量;
[0034]若大于预置的miterLimit,则将所述直线L1、所述直线L2、所述第一交 点和所述第二交点相连的直线进行连接处理,形成第二三角形带;
[0035]若不大于预置的miterLimit,则将所述第一交点、所述前置曲线顶点、所 述后置曲线顶点和第二交点进行组合处理,形成四角形带。
[0036]可选的,将所述前置曲线和所述后置曲线进行输出处理,得到三阶贝塞 尔曲线之后,还包括:
[0037]判断所述三阶贝塞尔曲线是否闭合;
[0038]若闭合,则判定所述三阶贝塞尔曲线无需进行曲线末端处理;
[0039]若未闭合,则对所述三阶贝塞尔曲线中尚未闭合的曲线进行曲线末端绘 制处理。
[0040]可选的,则对所述三阶贝塞尔曲线中尚未闭合的曲线进行曲线末端绘制 处理包括:
[0041]判断所述三阶贝塞尔曲线是否匹配预置的曲线末端绘制处理;
[0042]若匹配预置的曲线末端绘制处理,则对所述三阶贝塞尔曲线的末端进行 半圆绘制处理和矩形绘制处理,得到可填充的三阶贝塞尔曲线。
[0043]本专利技术第二方面提供了一种三阶贝塞尔曲线的绘制装置,包括:
[0044]第一计算模块,用于将三阶贝塞尔本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种绘制三阶贝塞尔曲线的方法,其特征在于,所述绘制三阶贝塞尔曲线的方法包括:将三阶贝塞尔时间参数t代入预置的参数方程进行计算处理,得出所述三阶贝塞尔曲线的坐标点Pi(i=0,1,2,3),其中,所述参数方程具体为B(t)=(1

t)3P0+3(1

t)2tP1+3(1

t)t2P2+t3P3,所述时间参数t的取值范围设定为0和1,所述P0和P3是曲线的起点和终点,所述P1和P2是曲线的控制点,所述B(t)具体为参数方程中关于t的函数;对所述坐标点Pi(i=0,1,2,3)进行绘制处理,得到前置曲线;将所述三阶贝塞尔时间参数t代入预置的切线方程进行计算处理,得出所述坐标点Pi(i=0,1,2,3)的切向量,其中,所述切线方程具体为T(t)=3(1

t)2(P1

P0)+6(1

t)t(P2

P1)+3t2(P3

P2),所述T(t)具体为切向量关于t的函数;将所述切向量进行预置旋转处理,得到法向量;将所述坐标点Pi(i=0,1,2,3)和所述法向量代入预置的直线方程进行计算处理,得出所述坐标点Pi(i=0,1,2,3)的可变换坐标,其中,所述直线方程具体为Pi+N*strokeSize*0.5,所述strokeSize具体为曲线的描边宽度,所述N为法向量;对所述坐标点Pi(i=0,1,2,3)中的P0和P3进行坐标变换处理,配合所述坐标点Pi(i=0,1,2,3)中的P1和P2,得到后置曲线;将所述前置曲线和所述后置曲线进行输出处理,得到三阶贝塞尔曲线。2.根据权利要求1所述的三阶贝塞尔曲线的绘制方法,其特征在于,所述将所述前置曲线和所述后置曲线进行输出处理,得到所述三阶贝塞尔曲线包括:将所述前置曲线和所述后置曲线进行相连处理,得到第一交点;根据所述前置曲线的顶点与所述第一交点,获取所述前置曲线的切向量CT;根据所述后置曲线的顶点与所述第一交点,获取所述后置曲线的切向量NT;将所述切向量CT和所述切向量NT进行计算处理,得到所述切向量CT和所述切向量NT的夹角;判断所述夹角是否等于预置的角度;若等于预置的角度,则判定所述三阶贝塞尔曲线不存在曲线与曲线的连接。3.根据权利要求2所述的三阶贝塞尔曲线的绘制方法,其特征在于,所述判断所述夹角是否等于预置的角度包括:判断所述夹角是否大于预置的角度;若大于预置的角度,则判定所述夹角处于所述三阶贝塞尔曲线的左侧;若不大于预置的角度,则判定所述夹角处于所述三阶贝塞尔曲线的右侧。4.根据权利要求3所述的三阶贝塞尔曲线的绘制方法,其特征在于,所述判断所述夹角大于或小于预置的角度包括:将前置曲线的切向量CT代入预置的直线方程进行计算处理,得到前置曲线顶点的坐标,其中,所述直线方程具体为U=Pi+s*CT*strokeSize*0.5,所述U具体为前置曲线的顶点,s为方程参数,s的取值范围设定为1和

1;将后置曲线的切向量NT代入预置的直线方程进行计算处理,得到后置曲线顶点的坐标,其中,所述直线方程具体为V=Pi+s*NT*strokeSize*0.5,所述V具体为后置曲线的顶点,;
判断所述前置曲线顶点、所述后置曲线顶点和第一交点能否相连接;若能相连接,则将所述前置曲线顶点、所述后置曲线顶点和所述第一交点进行连接处理,形成第一三角形带。5.根据权利要求4所述的三阶贝塞尔曲线的绘制方法,其特征在于,所述判断所述前置曲线顶点、所述后置曲线顶点和所述第一交点能否相连接之后,还包括:若不能相连接,则判断所述前置曲线顶点、所述后置曲线顶点和所述第一交点能否进行绘制处理;若能进行绘制处理,则以所述第一交点为圆心,以所述前置曲线顶点和所述后置曲线顶点连接的直线为半径,在直线上进行圆弧绘制处理,形成一个圆弧形带;若不能...

【专利技术属性】
技术研发人员:司宝钻
申请(专利权)人:深圳市大头兄弟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1