CN110765583B - 基于三次Bezier的分段曲线拟合方法 - Google Patents
基于三次Bezier的分段曲线拟合方法 Download PDFInfo
- Publication number
- CN110765583B CN110765583B CN201910928435.5A CN201910928435A CN110765583B CN 110765583 B CN110765583 B CN 110765583B CN 201910928435 A CN201910928435 A CN 201910928435A CN 110765583 B CN110765583 B CN 110765583B
- Authority
- CN
- China
- Prior art keywords
- curve
- point
- points
- piecewise
- end control
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 2
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims 1
- 238000009776 industrial production Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于三次Bezier的分段曲线拟合方法,涉及计算机图形曲线拟合技术领域。该方法采用分段连续的三次Bezier曲线拟合一条光滑曲线,使得曲线在分段连接点处具有二阶连续性,使得拟合曲线避免了龙格现象的产生;该方法能够避免求解已知量,如每个分段曲线的首端控制点和尾端控制点等,从而降低了算法的复杂度,提高了算法的执行效率,因而能够满足实际工业生产的需要;该方法可以同时拟合闭合和非闭合曲线,算法灵活度较高,能够适应多种实际情况的要求。
Description
技术领域
本发明涉及计算机图形曲线拟合技术领域,具体而言,涉及一种基于三次Bezier的分段曲线拟合方法。
背景技术
Bezier曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。工业设计中也经常用Bezier曲线来为产品的主体进行设计,例如在航天导航相关地形软件中,一般具有提供模拟飞行的功能:用户输入一些控制点,制定一条飞行路线,然后沿模拟路线飞行;在一些工业产品设计中,也常常要求用户输入一些工业产品的外轮廓点,然后根据轮廓点拟合出轮廓线,最后通过机床根据轮廓线进行产品加工。简言之,这要求我们根据所给控制点拟合出一条最佳曲线(闭合或非闭合)。
传统的曲线拟合方法有高次多项式插值法,利用多项式对某一函数的近似逼近,计算相应的函数值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确,但是随着插值次数越高,会出现插值结果越偏离原函数的龙格现象。另外,有人提出用分段曲线的方法,但仅仅保证了分段曲线连接点处的连续性,整体曲线不具有光滑性。还有的人提出分段连续三次Bezier曲线控制点的构造算法,但是这种方法拟合出的曲线通过所有控制点,算法复杂,计算量较大,不具有光滑效果,且当相邻控制点距离很近时,此方法拟合出的曲线往往会出现变形等错误结果。
发明内容
本发明在于提供一种基于三次Bezier的分段曲线拟合方法,以解决现有曲线拟合方法存在的复杂度较高,效率低和不能同时拟合闭合或非闭合曲线的技术问题。
本发明采取的技术方案如下:
本发明提供了一种基于三次Bezier的分段曲线拟合方法,包括以下步骤:
S1、输入原始点p1,p2,…,pn;
S2、在原始点中选择若干个点q1,q2,…,qm,作为各分段曲线的端点,其它原始点作为各分段曲线的中间连接点;
S3、若相邻两个端点之间的中间连接点少于两个,则通过插值方法在该两个端点之间补充虚拟原始点作为中间连接点,否则继续执行步骤S4;
S4、将各分段曲线的首端点作为首端控制点,尾端点作为尾端控制点,根据各分段曲线的中间连接点,构建以分段曲线的中间控制点为求解目标的线性方程组,求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点,具体包括以下步骤:
S41、获取三次Bezier公式如式(1)所示:
其中t为参数,通过分段曲线中间连接点与首端点之间的距离除以分段曲线中所有原始点依次连接后的总长度获得;Pi为分段曲线的控制点,P0和Pn分别与分段曲线的首端点和尾端点重合;Bi,3(t)为伯恩斯坦基函数,如式(2)所示:
在每个分段曲线中构造三次Bezier曲线,则:
使每个分段曲线中,相邻两段Bezier曲线相对于它们的中间连接点对称,则有:
则得到目标方程:
S42、用最小二乘法求解目标方程,得线性方程组:
S43、若拟合非闭合曲线,则k=1,…,m-1,并且使用公式(9)求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点;若拟合闭合曲线,则k=1,…,m-2并使用公式(10)求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点;
S5、根据所有的首端控制点、尾端控制点以及中间控制点,拟合Bezier曲线。
本技术方案的技术效果是:采用分段连续的三次Bezier曲线拟合一条光滑曲线,使得曲线在分段连接点处具有二阶连续性,使得拟合曲线避免了龙格现象的产生;本方法能够避免求解已知量,如每个分段曲线的首端控制点和尾端控制点等,从而降低了算法的复杂度,提高了算法的执行效率,因而能够满足实际工业生产的需要;本方法可以同时拟合闭合和非闭合曲线,算法灵活度较高,能够适应多种实际情况的要求。
可选地,所述步骤S1中,各端点依次等间距排列。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例中所述基于三次Bezier的分段曲线拟合方法流程图;
图2是本发明实施例中其中一种闭合曲线的拟合结果图,其中图2(a)为输入的原始点,图2(b)为采用本方法对原始点进行拟合得到的结果;
图3是本发明实施例中另一种闭合曲线的拟合结果图,其中图3(a)为输入的原始点,图3(b)为采用本方法对原始点进行拟合得到的结果;
图4是本发明实施例中非闭合曲线的拟合结果图,其中图4(a)为输入的原始点,图4(b)为采用本方法对原始点进行拟合得到的结果。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
请参照图1,本实施例提供了一种基于三次Bezier的分段曲线拟合方法,包括以下步骤:
S1、输入原始点p1,p2,…,pn;
S2、在原始点中选择若干个点q1,q2,…,qm,作为各分段曲线的端点,各端点的选取应尽量满足等间隔分布,其它原始点作为各分段曲线的中间连接点;
S3、若相邻两个端点之间的中间连接点少于两个,则通过插值方法在该两个端点之间补充虚拟原始点作为中间连接点,否则继续执行步骤S4;
S4、将各分段曲线的首端点作为首端控制点,尾端点作为尾端控制点,根据各分段曲线的中间连接点,构建以分段曲线的中间控制点为求解目标的线性方程组,求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点,具体包括以下步骤:
S41、获取三次Bezier公式如式(1)所示:
其中t为参数,通过分段曲线中间连接点与首端点之间的距离除以分段曲线中所有原始点依次连接后的总长度获得;Pi为分段曲线的控制点,P0和Pn分别与分段曲线的首端点和尾端点重合;Bi,3(t)为伯恩斯坦基函数,如式(2)所示:
在每个分段曲线中构造三次Bezier曲线,则:
使每个分段曲线中,相邻两段Bezier曲线相对于它们的中间连接点对称,则有:
则得到目标方程:
S42、用最小二乘法求解目标方程,得线性方程组:
其中,i,j都是遍历符号。
S43、若拟合非闭合曲线,则k=1,…,m-1,并且使用公式(9)求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点;若拟合闭合曲线,则k=1,…,m-2并使用公式(10)求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点;
S5、根据所有的首端控制点、尾端控制点以及中间控制点,拟合Bezier曲线。
在本实施例中,基本思想是采用分段连续的三次Bezier曲线拟合一条光滑曲线,使得曲线在分段连接点处具有二阶连续性。为得到最优曲线即拟合曲线和原始点之间的误差最小,使用最小二乘法构造线性方程组,通过求解方程组得到每个分段曲线的中间控制点,最后使用最初选定的端点以及求解得到的中间控制点在每个分段中构造三次Bezier曲线,完成曲线拟合,如图2、图3和图4即采用本实施例所述的方法拟合的曲线示例,其中图2为闭合曲线的拟合(左图为输入的原始点,右图为采用本方法对原始点进行拟合得到的结果),图3也为闭合曲线的拟合(左图为输入的原始点,右图为采用本方法对原始点进行拟合得到的结果),图4为非闭合曲线拟合(左图为输入的原始点,右图为采用本方法对原始点进行拟合得到的结果)。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种基于三次Bezier的分段曲线拟合方法,其特征在于,包括以下步骤:
S1、输入飞行控制原始点p1,p2,…,pn;
S2、在原始点中选择若干个点的下标q1,q2,…,qm,作为各分段曲线的端点,其它原始点作为各分段曲线的中间连接点;
S3、若相邻两个端点之间的中间连接点少于两个,则通过插值方法在该两个端点之间补充虚拟原始点作为中间连接点,否则继续执行步骤S4;
S4、将各分段曲线的首端点作为首端控制点,尾端点作为尾端控制点,根据各分段曲线的中间连接点,构建以分段曲线的中间控制点为求解目标的线性方程组,求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点,具体包括以下步骤:
S41、获取三次Bezier公式如式(1)所示:
其中t为参数,通过分段曲线中间连接点与首端点之间的距离除以分段曲线中所有原始点依次连接后的总长度获得;Pi为分段曲线的控制点,P0和Pn分别与分段曲线的首端点和尾端点重合;Bi(t)为伯恩斯坦基函数,如式(2)所示:
在每个分段曲线中构造三次Bezier曲线,则:
使每个分段曲线中,相邻两段Bezier曲线相对于它们的中间连接点对称,则有:
则得到目标方程:
S42、用最小二乘法求解目标方程,得线性方程组:
S43、若拟合非闭合曲线,则k=1,…,m-1,并且使用公式(9)求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点;若拟合闭合曲线,则k=1,…,m-2并使用公式(10)求得各分段曲线位于首端控制点和尾端控制点之间的两个中间控制点;
S5、根据所有的首端控制点、尾端控制点以及中间控制点,拟合Bezier曲线,得到飞行模拟路线。
2.根据权利要求1所述基于三次Bezier的分段曲线拟合方法,其特征在于,所述步骤S1中,各端点依次等间距排列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910928435.5A CN110765583B (zh) | 2019-09-28 | 2019-09-28 | 基于三次Bezier的分段曲线拟合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910928435.5A CN110765583B (zh) | 2019-09-28 | 2019-09-28 | 基于三次Bezier的分段曲线拟合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765583A CN110765583A (zh) | 2020-02-07 |
CN110765583B true CN110765583B (zh) | 2021-06-22 |
Family
ID=69329015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910928435.5A Expired - Fee Related CN110765583B (zh) | 2019-09-28 | 2019-09-28 | 基于三次Bezier的分段曲线拟合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765583B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269965B (zh) * | 2020-08-10 | 2024-04-05 | 中国北方车辆研究所 | 一种非完整约束条件下的连续曲率路径优化方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102608954A (zh) * | 2012-03-26 | 2012-07-25 | 西安交通大学 | 一种基于测量数据的刀具轨迹直接生成方法 |
CN103824322A (zh) * | 2014-01-14 | 2014-05-28 | 清华大学 | 利用透视关系交互创建三维曲线的方法及系统 |
US9068856B2 (en) * | 2008-10-01 | 2015-06-30 | Here Global B.V. | Creating geometry for advanced driver assistance systems |
CN107450471A (zh) * | 2017-08-31 | 2017-12-08 | 华中科技大学 | 一种基于三次ph曲线插值实现刀具轨迹参数弧长化的方法 |
CN108062073A (zh) * | 2016-11-08 | 2018-05-22 | 沈阳高精数控智能技术股份有限公司 | 一种用于高质量加工的圆弧平滑压缩插补算法 |
CN108957421A (zh) * | 2018-08-03 | 2018-12-07 | 中国人民解放军战略支援部队信息工程大学 | 一种基于贝塞尔曲线拟合雷达辐射源个体识别方法及系统 |
CN109322221A (zh) * | 2018-08-08 | 2019-02-12 | 华南理工大学 | 一种采用四次Bezier曲线分段构造公路三维空间线形的方法 |
CN109325309A (zh) * | 2018-10-23 | 2019-02-12 | 哈尔滨工程大学 | 船舶大幅横摇运动的三维数值模拟方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8286081B2 (en) * | 2009-04-30 | 2012-10-09 | Apple Inc. | Editing and saving key-indexed geometries in media editing applications |
US10212457B1 (en) * | 2015-11-17 | 2019-02-19 | Evernote Corporation | Coordinated piecewise bezier vectorization |
US10482577B2 (en) * | 2016-07-27 | 2019-11-19 | Adobe Inc. | Dynamic spread anti-aliasing |
-
2019
- 2019-09-28 CN CN201910928435.5A patent/CN110765583B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9068856B2 (en) * | 2008-10-01 | 2015-06-30 | Here Global B.V. | Creating geometry for advanced driver assistance systems |
CN102608954A (zh) * | 2012-03-26 | 2012-07-25 | 西安交通大学 | 一种基于测量数据的刀具轨迹直接生成方法 |
CN103824322A (zh) * | 2014-01-14 | 2014-05-28 | 清华大学 | 利用透视关系交互创建三维曲线的方法及系统 |
CN108062073A (zh) * | 2016-11-08 | 2018-05-22 | 沈阳高精数控智能技术股份有限公司 | 一种用于高质量加工的圆弧平滑压缩插补算法 |
CN107450471A (zh) * | 2017-08-31 | 2017-12-08 | 华中科技大学 | 一种基于三次ph曲线插值实现刀具轨迹参数弧长化的方法 |
CN108957421A (zh) * | 2018-08-03 | 2018-12-07 | 中国人民解放军战略支援部队信息工程大学 | 一种基于贝塞尔曲线拟合雷达辐射源个体识别方法及系统 |
CN109322221A (zh) * | 2018-08-08 | 2019-02-12 | 华南理工大学 | 一种采用四次Bezier曲线分段构造公路三维空间线形的方法 |
CN109325309A (zh) * | 2018-10-23 | 2019-02-12 | 哈尔滨工程大学 | 船舶大幅横摇运动的三维数值模拟方法 |
Non-Patent Citations (2)
Title |
---|
《A NEW GENERATING FUNCTION OF (q-)BERNSTEIN TYPE POLYNOMIALS AND THEIR INTERPOLATION FUNCTION》;Yilmaz SIMSEK等;《ArXiv》;20101231;1-11 * |
《基于轮廓重心参数调整的Bezier曲线拟合方法》;郦悦华;《微型电脑应用》;20151231;17-21 * |
Also Published As
Publication number | Publication date |
---|---|
CN110765583A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Parametric representation of a surface pencil with a common spatial geodesic | |
Sarfraz et al. | Positive data modeling using spline function | |
CN102903134B (zh) | 快速绘制多次曲线的方法 | |
EP2339486B1 (en) | Methods and systems for optimising the design of aerodynamic surfaces | |
Park | Choosing nodes and knots in closed B-spline curve interpolation to point data | |
CN101796546A (zh) | 插补处理方法以及插补处理装置 | |
Albrecht et al. | Convexity preserving interpolatory subdivision with conic precision | |
CN110765583B (zh) | 基于三次Bezier的分段曲线拟合方法 | |
Abbas et al. | Positivity-preserving C2 rational cubic spline interpolation | |
Mustafa et al. | Generalized and unified families of interpolating subdivision schemes | |
Romani | A Chaikin-based variant of Lane–Riesenfeld algorithm and its non-tensor product extension | |
CN113110423A (zh) | 步态轨迹规划方法、装置、计算机可读存储介质及机器人 | |
JP2016157174A (ja) | 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム | |
Gabrielides et al. | Shape analysis of generalized cubic curves | |
Manni et al. | Standard and non-standard CAGD tools for isogeometric analysis: a tutorial | |
Wang et al. | New trigonometric basis possessing denominator shape parameters | |
Wang et al. | An influence-knot set based new local refinement algorithm for T-spline surfaces | |
Conti et al. | A New Family of Interpolatory Non‐Stationary Subdivision Schemes for Curve Design in Geometric Modeling | |
CN112949023A (zh) | 一种基于弦长二分法的二次Bezier曲线插值方法 | |
JP2013061837A (ja) | 力線の視覚的表示システムおよび装置 | |
Fuchs et al. | Interactive Isogeometric Volume Visualization with Pixel-Accurate Geometry | |
Karčiauskas et al. | Curvature-bounded guided subdivision: biquartics vs bicubics | |
US20140156247A1 (en) | Computer-Implemented Method For Simulating, In A Three-Dimensional Scene, The Evolution Of Biological Data | |
Guo et al. | A new computational approach to the twists of bicubic coons surfaces | |
Oh et al. | G1 Bézier surface interpolation with T-junctions at a 3-valent singular vertex |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210622 |