CN111325815A - 一种多层级b样条曲线的编辑方法 - Google Patents
一种多层级b样条曲线的编辑方法 Download PDFInfo
- Publication number
- CN111325815A CN111325815A CN202010148051.4A CN202010148051A CN111325815A CN 111325815 A CN111325815 A CN 111325815A CN 202010148051 A CN202010148051 A CN 202010148051A CN 111325815 A CN111325815 A CN 111325815A
- Authority
- CN
- China
- Prior art keywords
- curve
- offset
- level
- spline curve
- editing
- 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.)
- Granted
Links
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)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明公开了一种多层级B样条曲线的编辑方法,其包括以下步骤:S1、获取B样条曲线的初始状态;S2、通过最小旋转坐标系获取各个发生偏移的点对应的偏移曲线;S3、将B样条曲线的初始状态和第1到第N次编辑得到的每个偏移曲线相加,得到第N次编辑后的B样条曲线,即N层级B样条曲线;S4、判断是否返回到第n次编辑得到的B样条曲线,若是则进入步骤S5,否则输出当前N层级B样条曲线并结束;S5、在N层级B样条曲线的基础上去掉第n+1次编辑至第N次编辑得到的所有偏移曲线,即得到n层级B样条曲线。本方法解决了层级B样条曲线各层级编辑前的曲线状态和编辑后的曲线状态之间无法方便地来回切换的问题。
Description
技术领域
本发明涉及计算机领域,具体涉及一种多层级B样条曲线的编辑方法。
背景技术
B-Spline曲线(B样条曲线)在计算机辅助设计(CAD)中被广泛地使用。它的优点是能在保持曲线次数不变的情况下,如3次B-Spline曲线,通过对Knot Vector(节点向量)细分化,增加曲线的控制点,来实现对曲线更加细节上的灵活编辑。如Les Piegl WayneTiller所作的《The NURBS Book》一书中,详细地描述了B-Spline曲线的定义、算法以及如何进行节点的细分化。但是,在B-Spline曲线被多次编辑修改后,编辑前的曲线状态和编辑后的曲线状态之间无法方便地来回切换。
如图4所示,图4(a)为原曲线,图4(b)为第三次编辑后的形状,图4(c)返回原曲线并将曲线最左端点往上移动编辑后的形状,这时再返回第三次编辑后的形状时希望得到的结果为图4(e)所展示的形状,但实际形状是图4(d)的形状,即在现有技术的情况下,编辑前的曲线状态和编辑后的曲线状态之间无法方便地来回切换。
发明内容
针对现有技术中的上述不足,本发明提供的一种多层级B样条曲线的编辑方法解决了编辑前的曲线状态和编辑后的曲线状态之间无法方便地来回切换的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种多层级B样条曲线的编辑方法,其包括以下步骤:
S1、获取B样条曲线的初始状态;
S2、对于每一次编辑B样条曲线,通过最小旋转坐标系获取各个发生偏移的点在当前编辑时出现的偏移量,并将其线性组合成偏移曲线;
S3、将B样条曲线的初始状态和第1到第N次编辑得到的每个偏移曲线相加,得到第N次编辑后的B样条曲线,即N层级B样条曲线;
S4、判断是否返回到第n次编辑得到的B样条曲线,若是则进入步骤S5,否则输出当前N层级B样条曲线,完成多层级B样条曲线编辑;其中0≤n<N;
S5、在N层级B样条曲线的基础上去掉第n+1次编辑至第N次编辑得到的所有偏移曲线,即得到n层级B样条曲线。
进一步地,步骤S2中通过最小旋转坐标系获取各个发生偏移的点在当前编辑时出现的偏移量的具体方法包括以下子步骤:
S2-2、根据公式:
获取点p最近的坐标系在第m次编辑时的偏移量其中[qx,qy,qz]为坐标系的坐标原点在m-1层级的曲线上的位置;为坐标系本身;v为点p在世界坐标系下的偏移;v'为点p在原点坐标为[qx,qy,qz]、坐标系参数为的坐标系下的偏移。
本发明的有益效果为:本发明通过引入最小坐标系计算B样条曲线在编辑时发生偏移的曲线的点的偏移量,并将偏移量组合为偏移曲线,使得每次编辑的结果都能得到保留,并维持了发生偏移的曲线的点的偏移向量在本地坐标系中的稳定性,使得编辑后的曲线可以返回至原始状态或任一次编辑后的状态,本方法解决了层级B样条曲线各层级编辑前的曲线状态和编辑后的曲线状态之间无法方便地来回切换的问题,极大提高了曲线的编辑便利性。
附图说明
图1为本发明的流程示意图;
图2为实施例中三层级B样条曲线的表达式变化示意图;
图3为实施例中三层级B样条曲线的从原始形状至二层级的变化示意图;
图4为现有技术无法在曲线编辑后返回原状态的示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,该多层级B样条曲线的编辑方法包括以下步骤:
S1、获取B样条曲线的初始状态;
S2、对于每一次编辑B样条曲线,通过最小旋转坐标系获取各个发生偏移的点在当前编辑时出现的偏移量,并将其线性组合成偏移曲线;
S3、将B样条曲线的初始状态和第1到第N次编辑得到的每个偏移曲线相加,得到第N次编辑后的B样条曲线,即N层级B样条曲线;
S4、判断是否返回到第n次编辑得到的B样条曲线,若是则进入步骤S5,否则输出当前N层级B样条曲线,完成多层级B样条曲线编辑;其中0≤n<N;
S5、在N层级B样条曲线的基础上去掉第n+1次编辑至第N次编辑得到的所有偏移曲线,即得到n层级B样条曲线。
步骤S2中通过最小旋转坐标系获取各个发生偏移的点在当前编辑时出现的偏移量的具体方法包括以下子步骤:
S2-2、根据公式:
获取点p最近的坐标系在第m次编辑时的偏移量其中[qx,qy,qz]为坐标系的坐标原点在m-1层级的曲线上的位置;为坐标系本身;v为点p在世界坐标系下的偏移;v'为点p在原点坐标为[qx,qy,qz]、坐标系参数为的坐标系下的偏移。
在本发明的一个实施例中,如图2所示,层级0表示B样条曲线的原始状态,其表达式为C0(u)。层级1、层级2和层级3分别为进行第一次编辑、第二次编辑和第三次编辑后的曲线,其中D1(u)为第一次编辑时发生偏移的点所构成的偏移曲线,D2(u)为在第一次编辑后的曲线基础上进行第二次编辑时发生偏移的点所构成的偏移曲线,D3(u)为第二次编辑后的曲线基础上进行第三次编辑时发生偏移的点所构成的偏移曲线。因此层级1的曲线表达式为C0(u)+D1(u),层级2的曲线表达式为C0(u)+D1(u)+D2(u),层级3的曲线表达式为C0(u)+D1(u)+D2(u)+D3(u)。层级0、层级1和层级2的具体变化如图3所示(从左至右)。
综上所述,本发明通过引入最小坐标系计算B样条曲线在编辑时发生偏移的曲线的点的偏移量,并将偏移量组合为偏移曲线,使得每次编辑的结果都能得到保留,并维持了发生偏移的曲线的点的偏移向量在本地坐标系中的稳定性,使得编辑后的曲线可以返回至原始状态或任一次编辑后的状态,本方法解决了层级B样条曲线各层级编辑前的曲线状态和编辑后的曲线状态之间无法方便地来回切换的问题,极大提高了曲线的编辑便利性。
Claims (2)
1.一种多层级B样条曲线的编辑方法,其特征在于,包括以下步骤:
S1、获取B样条曲线的初始状态;
S2、对于每一次编辑B样条曲线,通过最小旋转坐标系获取各个发生偏移的点在当前编辑时出现的偏移量,并将其线性组合成偏移曲线;
S3、将B样条曲线的初始状态和第1到第N次编辑得到的每个偏移曲线相加,得到第N次编辑后的B样条曲线,即N层级B样条曲线;
S4、判断是否返回到第n次编辑得到的B样条曲线,若是则进入步骤S5,否则输出当前N层级B样条曲线,完成多层级B样条曲线编辑;其中0≤n<N;
S5、在N层级B样条曲线的基础上去掉第n+1次编辑至第N次编辑得到的所有偏移曲线,即得到n层级B样条曲线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010148051.4A CN111325815B (zh) | 2020-03-05 | 2020-03-05 | 一种多层级b样条曲线的编辑方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010148051.4A CN111325815B (zh) | 2020-03-05 | 2020-03-05 | 一种多层级b样条曲线的编辑方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111325815A true CN111325815A (zh) | 2020-06-23 |
CN111325815B CN111325815B (zh) | 2023-05-02 |
Family
ID=71171548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010148051.4A Active CN111325815B (zh) | 2020-03-05 | 2020-03-05 | 一种多层级b样条曲线的编辑方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111325815B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03201072A (ja) * | 1989-12-28 | 1991-09-02 | Hitachi Ltd | 曲面生成方法及びその装置 |
US5341467A (en) * | 1991-12-30 | 1994-08-23 | Xerox Corporation | Method and apparatus for generating and displaying freeform strokes of varying or constant width using adaptive forward differencing |
US5640589A (en) * | 1994-04-08 | 1997-06-17 | Fujitsu Limited | Method and device for generating graphic data using a writing motion model |
JP2004054748A (ja) * | 2002-07-23 | 2004-02-19 | Ricoh Co Ltd | 3次元形状処理装置、3次元形状処理方法、3次元形状処理プログラム及び記録媒体 |
CN102222353A (zh) * | 2011-05-24 | 2011-10-19 | 南京信息工程大学 | 一种基于二次b样条迭代的曲线绘制方法 |
CN106202593A (zh) * | 2015-05-05 | 2016-12-07 | 北京大豪科技股份有限公司 | 等距曲线的生成方法 |
CN106462650A (zh) * | 2014-05-13 | 2017-02-22 | 西门子产品生命周期管理软件公司 | 在曲面上绘制测地线草图 |
CN107329041A (zh) * | 2017-06-20 | 2017-11-07 | 上海电力学院 | 一种基于b样条双稳态去噪的配电网故障选线方法 |
CN107635473A (zh) * | 2015-03-18 | 2018-01-26 | 韩国威泰有限公司 | 用于重建医疗图像的设备和方法 |
CN108537857A (zh) * | 2018-03-22 | 2018-09-14 | 中国农业大学 | 一种3次b样条曲线的快速插补方法及系统 |
JP2018181040A (ja) * | 2017-04-17 | 2018-11-15 | 国立研究開発法人宇宙航空研究開発機構 | 曲率分布生成装置、曲率分布生成方法及びプログラム |
CN110097613A (zh) * | 2019-05-08 | 2019-08-06 | 广西大学 | 一种基于概率计算的b样条曲线生成方法和系统 |
CN110582782A (zh) * | 2017-05-05 | 2019-12-17 | 阿雷斯贸易股份有限公司 | 用于确定关于含药物容器的信息的方法和装置 |
-
2020
- 2020-03-05 CN CN202010148051.4A patent/CN111325815B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03201072A (ja) * | 1989-12-28 | 1991-09-02 | Hitachi Ltd | 曲面生成方法及びその装置 |
US5341467A (en) * | 1991-12-30 | 1994-08-23 | Xerox Corporation | Method and apparatus for generating and displaying freeform strokes of varying or constant width using adaptive forward differencing |
US5640589A (en) * | 1994-04-08 | 1997-06-17 | Fujitsu Limited | Method and device for generating graphic data using a writing motion model |
JP2004054748A (ja) * | 2002-07-23 | 2004-02-19 | Ricoh Co Ltd | 3次元形状処理装置、3次元形状処理方法、3次元形状処理プログラム及び記録媒体 |
CN102222353A (zh) * | 2011-05-24 | 2011-10-19 | 南京信息工程大学 | 一种基于二次b样条迭代的曲线绘制方法 |
CN106462650A (zh) * | 2014-05-13 | 2017-02-22 | 西门子产品生命周期管理软件公司 | 在曲面上绘制测地线草图 |
CN107635473A (zh) * | 2015-03-18 | 2018-01-26 | 韩国威泰有限公司 | 用于重建医疗图像的设备和方法 |
CN106202593A (zh) * | 2015-05-05 | 2016-12-07 | 北京大豪科技股份有限公司 | 等距曲线的生成方法 |
JP2018181040A (ja) * | 2017-04-17 | 2018-11-15 | 国立研究開発法人宇宙航空研究開発機構 | 曲率分布生成装置、曲率分布生成方法及びプログラム |
CN110582782A (zh) * | 2017-05-05 | 2019-12-17 | 阿雷斯贸易股份有限公司 | 用于确定关于含药物容器的信息的方法和装置 |
CN107329041A (zh) * | 2017-06-20 | 2017-11-07 | 上海电力学院 | 一种基于b样条双稳态去噪的配电网故障选线方法 |
CN108537857A (zh) * | 2018-03-22 | 2018-09-14 | 中国农业大学 | 一种3次b样条曲线的快速插补方法及系统 |
CN110097613A (zh) * | 2019-05-08 | 2019-08-06 | 广西大学 | 一种基于概率计算的b样条曲线生成方法和系统 |
Non-Patent Citations (4)
Title |
---|
何双伯等: ""基于增强现实的电力系统云平台综合解决方案"", 《山东农业大学学报(自然科学版)》 * |
汝欣: ""纬编针织物数字化设计制造理论方法及实践"", 《工程科技Ⅰ辑》 * |
蒋红海: ""图形交互式数控编程软件的开发与研究"", 《信息科技》 * |
陈顶君等: "AutoCAD中的样条曲线", 《煤矿机械》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111325815B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767688B (zh) | 集成电路版图多边形非结构网格自适应细分方法和系统 | |
CN111523270A (zh) | 一种改进的连续体结构拓扑优化后处理方法 | |
CN111815737B (zh) | 插值数据的处理方法、装置、设备及计算机可读存储介质 | |
CN111325815A (zh) | 一种多层级b样条曲线的编辑方法 | |
CN108537857B (zh) | 一种3次b样条曲线的快速插补方法及系统 | |
Narayanaswami et al. | Multiresolution analysis as an approach for tool path planning in NC machining | |
CN115841496A (zh) | Sem图像的轮廓提取方法、装置、计算机设备及存储介质 | |
CN111767285A (zh) | 一种快速判断节点关系的方法 | |
US9792723B2 (en) | Method and system for progressively sculpting three-dimensional geometry | |
CN116152067A (zh) | 一种服装样板轮廓缩放方法、系统及设备 | |
CN113032888B (zh) | 一种基于二分法和分层最低点的断面插值加密方法 | |
CN117709280A (zh) | 标准单元布局模型训练方法、布局方法、系统及存储介质 | |
Honda et al. | Placement algorithm for mixed-grained reconfigurable architecture with dedicated carry chain | |
CN118097067B (zh) | 一种基于滤波处理的三角网格模型曲面扩展方法 | |
KR101037253B1 (ko) | 커브 네트워크에서의 양방향 전파 | |
CN108363736B (zh) | 一种线实体的存储方法、装置及存储系统 | |
Li et al. | ANYTIME RECTANGLE EXPANSION A* ALGORITHM FOR TIME-LIMITED PATHFINDING An Zhang | |
CN116431745A (zh) | 结合众包历史数据的差分提取方法、系统及存储介质 | |
CN117077277A (zh) | 一种catia基座工程图结构背景快速生成方法及电子设备 | |
CN112307532A (zh) | B样条函数的无网格细分方法 | |
Wang et al. | An adaptive local refinement algorithm for quadrilateral mesh | |
Yu et al. | T-spline Surface Fairing Based on Centripetal Re-parameterization | |
CN116910868A (zh) | 一种基于Dynamo和Excel的非对称式曲线箱梁建模方法 | |
CN113592190A (zh) | 智慧工厂中一种大规模单行设施布局规划方法 | |
CN111353187A (zh) | 一种获取空间线位平曲线要素的方法 |
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 |