CN111325815B - 一种多层级b样条曲线的编辑方法 - Google Patents
一种多层级b样条曲线的编辑方法 Download PDFInfo
- Publication number
- CN111325815B CN111325815B CN202010148051.4A CN202010148051A CN111325815B CN 111325815 B CN111325815 B CN 111325815B CN 202010148051 A CN202010148051 A CN 202010148051A CN 111325815 B CN111325815 B CN 111325815B
- Authority
- CN
- China
- Prior art keywords
- editing
- curve
- level
- spline curve
- offset
- 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.)
- Active
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 (1)
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、根据公式:
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 CN111325815A (zh) | 2020-06-23 |
CN111325815B true 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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222353A (zh) * | 2011-05-24 | 2011-10-19 | 南京信息工程大学 | 一种基于二次b样条迭代的曲线绘制方法 |
CN106462650A (zh) * | 2014-05-13 | 2017-02-22 | 西门子产品生命周期管理软件公司 | 在曲面上绘制测地线草图 |
CN108537857A (zh) * | 2018-03-22 | 2018-09-14 | 中国农业大学 | 一种3次b样条曲线的快速插补方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2938909B2 (ja) * | 1989-12-28 | 1999-08-25 | 株式会社日立製作所 | 曲面生成方法及びその装置 |
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 |
JP3641283B2 (ja) * | 1994-04-08 | 2005-04-20 | 富士通株式会社 | グラフィックデータ生成装置 |
JP4037200B2 (ja) * | 2002-07-23 | 2008-01-23 | 株式会社リコー | 3次元形状処理装置、3次元形状処理方法、3次元形状処理プログラム及び記録媒体 |
CN107635473B (zh) * | 2015-03-18 | 2021-05-07 | 韩国威泰有限公司 | 用于重建医疗图像的设备和方法 |
CN106202593B (zh) * | 2015-05-05 | 2020-01-24 | 北京大豪科技股份有限公司 | 等距曲线的生成方法 |
JP6951614B2 (ja) * | 2017-04-17 | 2021-10-20 | 国立研究開発法人宇宙航空研究開発機構 | 曲率分布生成装置、曲率分布生成方法及びプログラム |
EP3399463A1 (en) * | 2017-05-05 | 2018-11-07 | Ares Trading S.A. | Method and apparatus for determining information about a drug-containing vessel |
CN107329041B (zh) * | 2017-06-20 | 2019-12-27 | 上海电力学院 | 一种基于b样条双稳态去噪的配电网故障选线方法 |
CN110097613B (zh) * | 2019-05-08 | 2023-08-25 | 广西大学 | 一种基于概率计算的b样条曲线生成方法和系统 |
-
2020
- 2020-03-05 CN CN202010148051.4A patent/CN111325815B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222353A (zh) * | 2011-05-24 | 2011-10-19 | 南京信息工程大学 | 一种基于二次b样条迭代的曲线绘制方法 |
CN106462650A (zh) * | 2014-05-13 | 2017-02-22 | 西门子产品生命周期管理软件公司 | 在曲面上绘制测地线草图 |
CN108537857A (zh) * | 2018-03-22 | 2018-09-14 | 中国农业大学 | 一种3次b样条曲线的快速插补方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111325815A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101286160B (zh) | 数据库索引的方法 | |
CN107092755B (zh) | 一种用于产品设计的参数依赖模型的更新方法 | |
CN111325815B (zh) | 一种多层级b样条曲线的编辑方法 | |
CN112733486A (zh) | 一种用于芯片设计的智能布线方法及系统 | |
CN108197627A (zh) | 一种沿顺时针方向提取二值图形轮廓的方法 | |
CN108537857B (zh) | 一种3次b样条曲线的快速插补方法及系统 | |
CN117873115A (zh) | 一种基于slam的自主导航避障路径规划方法 | |
CN111241779B (zh) | 基于Cadence设计软件设计不规则平行线的方法 | |
CN115841496A (zh) | Sem图像的轮廓提取方法、装置、计算机设备及存储介质 | |
CN111274739B (zh) | 一种用于计算流体动力学分析的搜索方法及其系统 | |
CN107358615B (zh) | 一种cad边缘区域检测方法及系统 | |
CA2372882C (en) | System and method for the industrialization of parts | |
US9792723B2 (en) | Method and system for progressively sculpting three-dimensional geometry | |
KR20030051997A (ko) | 지리정보시스템에서의 디지털지형모델 가시화방법 | |
CN111767285A (zh) | 一种快速判断节点关系的方法 | |
KR101037253B1 (ko) | 커브 네트워크에서의 양방향 전파 | |
Honda et al. | Placement algorithm for mixed-grained reconfigurable architecture with dedicated carry chain | |
CN116152067A (zh) | 一种服装样板轮廓缩放方法、系统及设备 | |
CN113032888B (zh) | 一种基于二分法和分层最低点的断面插值加密方法 | |
CN108536953A (zh) | 一种基于分块矩阵的b样条基函数任意阶求导方法 | |
JP6295754B2 (ja) | データ処理装置 | |
CN117910423B (zh) | Pcb自动布线方法、装置、设备及介质 | |
CN117709280A (zh) | 标准单元布局模型训练方法、布局方法、系统及存储介质 | |
JPH09147127A (ja) | 自由曲線生成方法 | |
CN117077277A (zh) | 一种catia基座工程图结构背景快速生成方法及电子设备 |
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 |