CN1391683A - 使用控制几何的几何设计和建模系统 - Google Patents
使用控制几何的几何设计和建模系统 Download PDFInfo
- Publication number
- CN1391683A CN1391683A CN99816901A CN99816901A CN1391683A CN 1391683 A CN1391683 A CN 1391683A CN 99816901 A CN99816901 A CN 99816901A CN 99816901 A CN99816901 A CN 99816901A CN 1391683 A CN1391683 A CN 1391683A
- Authority
- CN
- China
- Prior art keywords
- curved surface
- profile
- curve
- point
- geometric object
- 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.)
- Pending
Links
- 238000013461 design Methods 0.000 title abstract description 89
- 238000000034 method Methods 0.000 claims abstract description 138
- 238000002156 mixing Methods 0.000 claims abstract description 34
- 238000012986 modification Methods 0.000 claims abstract description 28
- 230000004048 modification Effects 0.000 claims abstract description 28
- 239000013598 vector Substances 0.000 claims description 65
- 150000001875 compounds Chemical class 0.000 claims description 62
- 230000008859 change Effects 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000013459 approach Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000012508 change request Methods 0.000 claims 2
- 238000011960 computer-aided design Methods 0.000 abstract description 22
- 239000000203 mixture Substances 0.000 abstract description 18
- 230000006870 function Effects 0.000 description 122
- 230000000875 corresponding effect Effects 0.000 description 99
- 238000005516 engineering process Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 238000005520 cutting process Methods 0.000 description 19
- 230000007850 degeneration Effects 0.000 description 15
- 238000012217 deletion Methods 0.000 description 12
- 230000037430 deletion Effects 0.000 description 12
- 239000007787 solid Substances 0.000 description 12
- 101000978766 Homo sapiens Neurogenic locus notch homolog protein 1 Proteins 0.000 description 8
- 101000802053 Homo sapiens THUMP domain-containing protein 1 Proteins 0.000 description 8
- 102100023181 Neurogenic locus notch homolog protein 1 Human genes 0.000 description 8
- 229920000535 Tan II Polymers 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 244000025254 Cannabis sativa Species 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 238000005304 joining Methods 0.000 description 6
- RLLPVAHGXHCWKJ-IEBWSBKVSA-N (3-phenoxyphenyl)methyl (1s,3s)-3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate Chemical compound CC1(C)[C@H](C=C(Cl)Cl)[C@@H]1C(=O)OCC1=CC=CC(OC=2C=CC=CC=2)=C1 RLLPVAHGXHCWKJ-IEBWSBKVSA-N 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 244000309464 bull Species 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000008775 paternal effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000007789 sealing Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000005452 bending Methods 0.000 description 4
- 230000002146 bilateral effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000000465 moulding Methods 0.000 description 3
- 229910052757 nitrogen Inorganic materials 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 229910052698 phosphorus Inorganic materials 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 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 description 1
- 241000206601 Carnobacterium mobile Species 0.000 description 1
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 244000131316 Panax pseudoginseng Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 240000007711 Peperomia pellucida Species 0.000 description 1
- 235000012364 Peperomia pellucida Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011437 continuous method Methods 0.000 description 1
- RKTYLMNFRDHKIL-UHFFFAOYSA-N copper;5,10,15,20-tetraphenylporphyrin-22,24-diide Chemical compound [Cu+2].C1=CC(C(=C2C=CC([N-]2)=C(C=2C=CC=CC=2)C=2C=CC(N=2)=C(C=2C=CC=CC=2)C2=CC=C3[N-]2)C=2C=CC=CC=2)=NC1=C3C1=CC=CC=C1 RKTYLMNFRDHKIL-UHFFFAOYSA-N 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000002316 cosmetic surgery Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000916 dilatatory effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Abstract
一种计算机辅助设计(CAD)方法和系统,用于设计几何对象(33、34)。本发明在几何对象(62)之间快速有效地插值和/或混合(B1(u,V),B2(u,V)),以便输入变形(deform)数据时,出现这些对象的实时变形。因此,用户的设计对输入的改变得以立刻反馈而不需要单独输入执行变形的命令。本发明利用新颖的、用于在两个几何对象之间混合的计算技术,其中在交互对象上各点的加权和被用来导出新的混合几何对象。本发明尤其适用于曲面形状的设计(S1,S2)和各种设计领域;另外,通过重复修改动画对象曲面,可提供有效的动画设计。
Description
发明领域
本发明涉及一种用于实现计算机辅助设计的方法和系统,具体地说,涉及一种用于在几何的表示之间进行调配的有效计算技术。
背景技术
使用计算机辅助设计(CAD)计算系统的设计者一般经由先给定(specify)该对象被约束穿过的几何对象的凸起(prominent)和/或必要的子区(subportion),开始着手自由形状几何对象(比如曲面)的设计。接着,激活处理来产生与所提供的约束子区相符的几何对象。具体地说,这样的子区可以是点、曲线、曲面和/或高维度几何对象。例如,设计曲面的设计者可以构造和定位预定(intended)曲面必须穿过的多条曲线(每个这样的曲线在这里也表示为“特征线”或“特征曲线”)。因而,一般地会期望该预定曲面具有实际上仅需要一定程度的变化,以便满足位于该曲面上多条曲线的约束的几何特性(比如可微性和曲率)。即,设计者期望所生成的曲面是被本领域技术人员称为“平滑(fair)”的曲面。因而,设计者一般地构造不易于与已设计好的曲面的子区混合的这样的特征曲线,并把它们定位在该预定曲面在某种程度上可能改变其几何形状的地方。
作为更具体的例子,当设计比如瓶子这样的容器时,瓶子的指定外曲面可以被如此的子区初始地给定:比如(a)位于瓶子曲面高曲率部分的特征曲线,和(b)具有特殊几何特性的曲面子区域,该特殊几何特性比如具有瓶子标签可平滑地贴上的形状或轮廓。因而,瓶子曲面的设计者的意图是构造满足他/她输入约束的瓶子设计,并且该瓶子的设计是平滑的。而且,设计者可能需要生成带手柄的洞,以及需要通过变形瓶子曲面各部分以生成例如符合人机工程学并且使该把手曲面平滑。
但是,迄今还没有任何CAD系统,在其中几何对象的设计者(或更一般地,用户)能够通过输入约束和使产生的几何对象平滑,而方便有效地表达他/她的设计意图。即,设计者/用户可能遇到因实际计算费用而造成的长时间耽搁,和/或设计者/用户可能面对非直观几何对象定义、和面对需要有效使用的实际经验的变形技术。例如,许多现有技术的CAD系统提供技术,用于通过定义和/或操纵表示为“控制点”的指定点,允许设计和/或变形曲面。但是,这样的技术计算上成本高,不直观,并且不能方便地变形超出与这样的控制点相关曲面的局部区域。另外,一些现有技术的CAD系统提供技术,用于通过一定的独立选定控制矢量来定义和/或变形曲面。即,这些矢量的方向可以用于定义相关曲面的形状或轮廓。但是,由于每个控制矢量一般地只符合曲面上的单个点,该曲面孤立于具有相关控制矢量的其它曲面点,设计者的意图可能不容易符合使用如此控制矢量的曲面设计技术。因此,这样的技术最多只能变形局限于具有相关控制矢量的这样的点的曲面区域。
另外,这样的现有技术CAD系统也可能难以精确地执行混合(blend)和剪裁(trim)操作。例如,两个试图沿公共边界相互靠近的几何对象不可能在边界上相互充分相容。即,在两个几何对象之间可能有足够大的间隙,以至于该边界不可能被认为是“水密(water tight)”的,这可能在某些机器操作和类似在立体上的布尔操作的操作中成为问题。
相应地,非常需要有一种CAD系统,它包括一种或多种几何设计技术,以允许CAD设计者/用户更方便有效和精确地设计几何对象。另外,需要有这样的用于图形地显示几何对象的系统和/或计算技术,其中在计算几何对象的定义和/或变形方面用户有较大的控制,并且具体地说,在计算设计几何对象的形状或轮廓上有更直观的总体控制。
定义
本节提供一些用于描述本发明的基本定义。这些定义在图15和16中也有说明。
“参数几何对象”是函数f的映象的几何对象,其中f的定义域是位于嵌入坐标系(称为“参数空间”)中的几何形状内,并且f的值域位于另一个几何空间(称为“对象空间”)中。一般地,比如S这样的几何对象的反演或原像(pre-image)f-1,将是一个比它在对象空间的映象在几何上更简单的对象。例如,在对象空间中的曲线170的原像,在参数空间可以是个简单线段172,L。因而,如果S表示在对象空间的曲线,则符号f和S有时被这样确认:对于u∈L,在曲线S上的相应点表示为S(u)。同样,在对象空间的波状曲面204(图16)的原像可以是参数空间中的简单有界平面180。因而,如果用S表示波状曲面204,则对(u,v)∈f-1(S),S(u,v)表示在波状曲面204上的相应点。
“轮廓(profile)”200(图16)是一个几何对象,比如对象空间中的一条曲线,相应对象空间的几何建模对象(例如曲面204)必须穿过该曲线。即,该轮廓200用于生成该几何建模对象。因而,轮廓为艺术家和设计者提供通用的自然的方法去几何地设计对象,在设计中,当定义要设计的几何对象(曲面)的特征形状时,该设计者可能考虑利用特征或轮廓曲线。例如,在一个曲面的轮廓曲线可能实质上定义合成的导出几何对象的几何形状;例如它的连续性、曲率、形状、边界、弯折等。注意,对许多设计软件来说,轮廓一般是连续和可微的。但是,如此的约束是不必要的。例如,轮廓除了可以提供一般形状或穿过它的几何对象的趋势以外,也提供关于几何对象的曲面的纹理。因而,如果轮廓是不规则碎片形(fractal)或类似形状,则该不规则碎片形的轮廓可能部分地给出邻近该轮廓的导出几何对象曲面。还要注意,利用较高维(≥2)的轮廓属于本发明的范围。因而,轮廓也可以是曲面或立体。因此,如果轮廓是曲面,则可以导出至少局部地具有(即,邻近该轮廓)该轮廓某些几何特性的立体。
而且,轮廓(和/或它的线段)可能有各种计算表示法,比如线性(例如超平面)、椭圆、NUBRS(非均匀有理B样条)、或贝塞尔(Bezier)。但是,如果不考虑计算表示法,则用于变形或再成形每个轮廓的方法(比如,插值,interpolation)是可选的。更具体地说,可选的这种方法会产生轮廓,该轮廓满足一定的几何约束,比如穿过(或实质上如此)一个或多个预定点、连续、可微、曲率小等。此外,注意到这种变形方法也可以包括把一个轮廓解构成子轮廓的能力,其中在两个子轮廓之间的共同边界(例如,点)可以是沿着初始轮廓的界限上“平滑的(slidable)”。
“点标(Marker)”208(图16)是轮廓上的一点,它可被移动以在有关该点标的范围内改变轮廓200的形状。点标也表示轮廓上的一个位置,在那里具有该轮廓的几何对象的形状可变形。
“轮廓手柄,(profile handle)”212(图16)是个正切于轮廓200的几何对象。这样的轮廓手柄,通过在点标208处调整轮廓的斜率(导数),能局部地控制轮廓的形状。或者,对不可微轮廓,轮廓手柄可以用于通过指示趋势方向和相应轮廓的量(magnitude),控制轮廓的总体形状。例如,如果该轮廓是不规则碎片形(fractal)或其它不可微几何对象,则轮廓手柄例如可能在对象空间内提供该轮廓必须被限定的值域;即该值域可以是属于管状结构,其中该轮廓被限定为管状结构的内沿,注意该轮廓手柄212通过改变轮廓手柄的长度,影响了轮廓200的满度(fullness)(例如,从轮廓上两个点标之间的直线导出的凸面的角度)。
“等倾边界,(isocline boundary)”220是在等倾带216上相应轮廓200的边界曲线。在一个实施例中,对轮廓200上的每一个点,在等倾边界220上都有配对的相应点,其中每个这样的点对可定义矢量224(表示为“尖桩,picket”),它一般相交(transverse)于轮廓上该点的正切矢量。更具体地说,对于参数化的轮廓,等倾边界220被看作是对于轮廓200在所有可能参数值处的尖桩的集合。
“等倾带,(isocline ribbon)”(或简称等倾)是一种比如曲面216的几何对象,它定义了在轮廓200处的几何对象(例如,曲面)204(更一般地几何对象204)的斜率。等价地,等倾带可被认为是由轮廓200、等倾手柄218a和218b(以下所讨论的)、和等倾边界220所限定的几何对象的表示。换言之,几何对象204必须沿轮廓200“倾斜(heel)”于等倾带216。换言之,在一个实施例中,几何对象204必须在等倾216上连续并且沿轮廓200连续可微。在一个替代实施例中,几何对象204可能被等倾216约束,使得对象204以与上述在术语“轮廓”的讨论中类似的方式,位于一个具体的几何值域内。注意,每个轮廓200可能有两条与之对应的等倾带216。具体地说,对于其两个邻近曲面(例如,两邻近曲面204)是边界的轮廓,对于两个曲面的每个曲面,沿轮廓可能有等倾带。因而,我们可能谈到左手和右手等倾带。
“等倾手柄,(isocline handle)”228是一种几何对象(例如,矢量),用于在点标208处控制等倾带216,其中在该点标处的轮廓手柄和等倾手柄可定义正切于曲面204的平面。所以,等倾手柄用于确定有关该点标的曲面204(或其它基础(underlying)几何对象)的形状。具体地说,等倾手柄228是个用户可操纵的尖桩224。如果全部轮廓手柄212和等倾手柄228(例如,对于两个或多个邻近曲面)在点标208处是共面的,则曲面204在该点标处平滑(假定该曲面是连续可微的,否则该曲面可能有褶皱(crease)或刺(dart)。注意,通过在点标处从其它手柄的平面拖拉多个手柄之一,人们可以沿轮廓200在曲面204上生成褶皱。
轮廓200在两点标208之间的部分表示为“轮廓线段,(profilesegment)”232。类似地,等倾带在两等倾手柄228之间的部分表示为带线段240。
“边界线段,(boundary segment)”表示边界220中在两等倾手柄228之间的部分。
矢量246是在等倾手柄228处正切于等倾边界220的导数,表示为“带切线(ribbon tangent)”。注意,带切线的修改也能由本发明用于控制和/或修改比如曲面204的基础几何对象的形状。
可生成等倾手柄228以确定曲面204的曲率。即,取代正向(straight)矢量作为等倾手柄,这些手柄可弯曲并且表示为“等倾肋,(isocline rib)”248。因此,这样的肋可能使在具有相应等倾肋的两曲面之间沿共同轮廓边界保持曲率连续变得容易,其中等倾带由多个等倾肋组成。因此,这样的曲面的曲率将以它们在相切上的匹配一样的方式,匹配于相应等倾肋的曲率。
“可展曲面(developable surface)”是一种不用撕裂、或弯曲就可展平的、能在概念上被延伸展平的曲面。有一个“直纹曲面(ruled surface)”的特例,通过在曲面上任意点能放把尺子(即,直边),并且发现方向以便尺子沿整个尺子接触曲面,可定义这后述曲面。对于可展曲面,该曲面的各垂线沿尺规在方向上是一样的。
“标签曲面,(Label surface)”表示特定2维(可展或近似可展)曲面,在其上可施加标签,例如容器。标签曲面允许不需撕裂或褶皱而应用移画印花法(decal)。这种曲面是高度约束的,并且一般地不能通过对等倾带216的几何修改来变形。
“剪裁轮廓,(trim profile)”是一种几何对象(曲线),其轮廓用于剪裁另一个几何对象(例如,曲面)。由于如果被剪裁的曲面是标签曲面,则它将不受修改,并且,没有等倾肋可用于改变它的形状,所以该剪裁轮廓可能具有单个相应等倾肋216。
剪裁轮廓(曲线)能被用于限定任何曲面,而不仅是标签曲面。曲面S,沿剪裁曲面与一个或多个其它曲面混合,当该曲面S凸出于(overhang)剪裁轮廓时,表示为“过度构造曲面,(overbuilt surface)”。例如,在图11中,曲面130是个过度构造曲面,其中该曲面凸出区域134以外的部分已经被剪裁掉了,一般不显示给设计者。
自变量fi的凸面组合(convex combination)是累加和
,这里ci是标量系数并且对于fi标量乘法(例如,fi是矢量、函数、或微分算子)是适定的,而这里ci≥0和
。例如,本领域技术人员应该理解,如果fi是空间上的点,则所有可能的如此组合的集产生点fi的凸面外壳(convexhull)。
“前向计算(forward evaluation)”是一种几何对象计算技术,其中,为了生成来自函数f(x)的样本值的集合,自变量x是递增的,并且接着计算f。此类计算一般是快速有效的,但是在递增区间的选定位置不给出函数值。
“隐函数(implicit function)”,被写成f(x)=0,X∈RN的形式。当参数曲线或曲面转变为隐含的形式,此转换称为“隐函数化(implicitization)”。因而用参数形式:f(t)=(sin(t),cos(t))可以将f(x,y)=x2+y2-1=0隐函数化。它们都描述圆。
矢量除以它的长度可“归一化(normalize)”该矢量。该归一化矢量具有单位长度。本领域一般技术人员应该理解,矢量函数可以除以它的斜率,该斜率将逼近单位长度。
已知由
定义一个函数,这里Pi(t)是权重函数,如果对于所有的t值
,则Pi表示为构成一个“单位分解(partition of unity)”。
“GI”连续在这里表示一种几何连续条件,其中沿着在参数限定几何对象上的连续参数路径的方向矢量是连续的,例如,不考虑正切矢量的模。
发明概述
本发明是一种计算几何设计系统,当用户通过对象修改输入时,该系统能充分有效地计算以允许对对象(比如曲面)进行实时变形。因为在一般CAD系统中,用户必须提供用于改变或修改几何对象的输入值,并且接着明显地请求开始处理该输入值,因此,本发明是不同于一般CAD系统的典型改变。因此,在如此现有技术的CAD系统中,在断续的用户被请求次数中,用户接收有关他/她的设计的反馈。代之以,利用本发明,更新可以在接收到输入时立即实时处理,而不需要用户明显地指示执行更新处理。
本发明被赋予了增强的计算效率,本发明的用户可以更有效地执行对所设计的几何对象的迭代逼近。用户可以快速地设计,而不需要对可能不需要如此精确的对象部分精确地计算设计几何特性。即,用户能够不太考虑“一次搞定”,因为修改的容易和计算修改的速度允许用户更快地逼近和/或成型(prototype)几何对象。因此,对于许多几何设计的对象(包括机器零件),本发明可能具有极其高效的优点,这样的对象的具体部分可以利用广泛的几何特性来满意地设计。
本发明的CAD系统通过提供新颖的计算技术,能使新颖的设计技术用于两个诸如曲面的几何对象之间的混合。在本发明的一个实施例中,这种新颖的混合技术混合两个参数曲面S1(u,v)和S2(u,v),其中每个曲面具有,例如单位平面(unit square)作为它的参数空间。假定每个曲面S1和S2具有各自的混合函数B1(u,v)和B2(u,v),这样每个混合函数具有,例如(0,1)作为对于u和v的值域(同时满足以下给定的其它属性),一个新曲面S可用以下公式定义:
S(u,v)=S1(u,v)·B1(u,v)+S2(u,v)·B2(u,v) (1)
注意一般选择混合函数B1和B2,以使得出的混合曲面S在与S1的边界上和S1相同,和在与S2的边界上和S2相同。这可通过设计B1和B2,使在与S1的边界上B1=1和B2=0,同时在与S2的边界上B2=1和B1=0而实现。
在更一般的实施例中,本发明可用于混合多个几何对象,Si,i=1,…,N,其中每个几何对象通过对应的函数
而参数化,函数
的定义域包括对所有
都共用的参数空间PS。因此,对于得到的混合曲面S,具体地说,每一个的点S(q),使用从点
获得的各点的加权和,来确定PS中的q。而且,由于可能需要混合S到每个Si的边界部分Pi,当把S理解为从PS到具有几何对象Si的公共几何空间GS的函数时,
。另外,S可能在每
处也连续。
注意,上述公式(1)是用于产生混合曲面(更一般地,几何对象)S的各种公式的代表,在以下的
详细描述中将提供如此的公式的其它实施例。另外注意如此的公式可能被推广,其中上述公式(1)的参数空间坐标(u,v)可用其它参数空间坐标的表示(比如,三维的(u,v,w),或仅是单维的坐标u)来替换。而且,混合函数B1和B2也可被定义用于如此的其它参数空间。另外,值得注意的是,这样的混合函数B1和B2也可被当作从曲面(更一般地,几何对象)S1及S2所选择的各点加权和的权重。另外,这个加权和概念也可以各种方式延伸。例如,参照更一般的实施例,其中提供多个几何对象Si,i=1,…,N,对于每个i值,可能提供对应的权/混合函数Bi,以得到公式(1)的如下变换:在共有参数空间Si中,对于各点q,有
在本发明的另一方面,在本发明的范围内,也可以生成混合几何对象S,其中用于生成S的几何对象Si中至少有一些是具有大于2的较高维度。例如,如果S1和S2是参数化的立方体,则本领域一般技术人员应该理解,可以使用公式(1)的另一个变换,S可以作为从S1和S2混合的立方体而生成。因此,S可能在S1和S2之间扩展,以使S1的曲面P1和S2的曲面P2也是S的边界,并且S是表示类似于公式(1)的S1和S2的各点加权和。
在本发明的另一方面,公式(1)(或在以下的
详细描述中所提供的、诸如公式(2)、(4)、(5)、(5.02)、(5.03)等中的变量)中的一个或多个参数几何对象可以是后面其中之一:贝塞尔、NUBRS、或其它一些替代的多变量参数计算表示,例如,本文描述中用作说明的等倾肋。而且,本领域一般技术人员应该理解,在本发明的范围内,定义Si(例如,对于Si为等倾带,则这样的基础几何形状就是点标、轮廓、等倾手柄和轮廓手柄)对于不同的计算表示可以是不同的。例如,在Si的贝塞尔或NUBRS表示中,“控制点”和/或因此导出的几何实体,可能用于改变Si的形状和因此改变获得的因此导出的几何对象的形状。
在本发明的另一方面,当从一个或多条等倾带Si,...,SN,N≥2中,生成混合曲面S时,通过改变等倾带Si的几何特性,可以使曲面S变形。具体地说,通过改变对于一些Si的等倾带边界之一的形状,点Si(u,v)会改变,因此,因为混合曲面S是这样的点的加权和,混合曲面S也会改变。具体地说,S的几何特性(比如,曲率、正切矢量、和/或切面)的变化率可能通过等倾带Si来确定。更具体地说,假定沿每个等倾尖桩(picket)实质线性参数化,对于具体的等倾带,这样的尖桩的相关量越大,在这样的尖桩的方向上,S的形状将越扭曲。而且,随着这样的尖桩的方向的改变,S的曲率也会改变。即,由于加权和,比如公式(1),导致S总是倾斜(heel)于曲面Si,S的形状将改变以使S倾斜于具有尖桩的等倾带Si,这些尖桩的方向已经改变。因此,混合曲面S的形状可通过后述任何用户交互技术而改变:(a)改变一个或多个Si的一个或多个几何特性,其中这样的改变可以包括:改变Si的形状(其中形状表示多个几何特性,比如连续、可微、曲率、和高阶连续);(b)改变Si的参数化。
还要注意,这样的用于变形混合曲面的用户交互技术也可用于较高维度的几何对象。例如,如果几何对象Si是立方体而不是曲面,则可通过改变在确定S中使用的一个或多个立方体Si的形状,来变形所得到的混合立方体S。
也是在本发明的范围内,用于生成混合几何对象S的几何对象Si可以是这样的:通过其它在其中Si可自我生成的几何对象,可间接修改Si。例如,如果S是从等倾带S1和S2(各自具有对应的轮廓P1和P2)混合的曲面,并且带S1是从在端点P1的轮廓手柄、等倾手柄和带切线插值得出的,则本发明提供用户用于修改这样的手柄和/或带切线的插值技术,用于修改混合曲面S。而且,在一种用户界面技术中,可能只显示手柄,其中这样的手柄被显示成连接到混合曲面S。因此通过改变这样的手柄,改变混合曲面。注意,这样的用户界面技术可以实时地响应对用户对于这样的手柄和/或带切线的改变。因此,在设计过程中的用户交互可能比现有技术CAD用户交互技术更接近于在构建实际几何模型中使用的技术。
在本发明的另一方面,各种几何约束标准可被施加到根据本发明所生成的几何对象上。具体地说,几何对象O0的特征和/或子几何形状能被约束在位于另一个几何对象O1内,因此,当变形O1时,O0的特征和/或子几何形状也相应地变形,并因此导致O0相应地变形。例如,本发明允许对象空间点p被定义(即,参数化),因此它必须保持在给定的几何对象O1中/上,这里O1可以是曲线、曲面、体积或立方体。因此,当变形O1时,O0也变形。而且,取代点p,其它子几何对象也可被类似地约束,比如,曲线、曲面、或立方体。另外,几何对象O0的特征,比如控制点、手柄(各种类型,例如轮廓和等倾)、常量、扭曲矢量等,也可被本发明类似地约束,这样,当变形O1时,O0也因此而变形。例如,使用本发明提供的几何对象插值技术(例如,公式(1)及其变换形式),当O0的受约束的特征和/或子几何形状相应地随着O1的变形而变形时,几何对象O0能具体实时高效地反复生成(例如,反复插值)。更具体地说,本发明的这些发明提供用于分层地(hierarchically)组合各种几何对象,以便父系对象的几何变形控制在独立的子系几何对象上产生相应的几何变化。例如,当一块曲面拼片(surfacepatch)表示一块较大曲面的精细细节时,在一块较大曲面上附加一块精细曲面拼片可以是有益的,因此,通过控制该较大曲面的形状,给予用户对精细曲面拼片的形状的自动控制。而且,可以伴随其它类型的几何对象(比如曲线、点及三维变形空间)提供类似的分层(hierarchical)控制。
注意,这样的分层控制也可用于连续(persistent)变形空间,其中需要在这些空间中的几何对象重复地被变形和恢复到它的初始未变形状态。注意,通过重复地施加一次变形难以做到实时。因此,通过利用本发明的这样的分层控制,位于在这样的三维变形空间中的几何对象和/或位于此的几何对象的控制结构提供用于当三维变形空间变形时,几何对象的变形。另外,如果一个或多个这样的变形空间是依赖较简单的几何形状(比如,曲面或曲线)依次地构造,则尽管是复杂的,通过操纵较简单的几何形状,也能够提供对几何对象的形状的具体控制。
本发明的其它特征和优点将结合这里的附图,在
详细描述中提供。
附图简述
图1显示根据本发明所生成的曲面62,其中该曲面在曲面30和34之间插值,并且在根据等倾带61和63的预定方向穿过曲线54、58和60;
图2显示图1曲面的进一步修改,其中曲面30有一块圆环形曲面66根据本发明的方法混合于此;
图3显示根据本发明,在曲面30和34之间所生成的混合曲面62a,其中曲面62a穿过曲线54和58,并且其中根据这里(公式(1))提供的新颖曲面生成公式执行混合。
图4图解说明在参数空间的几何实体与在对象空间的几何实体的对应关系,其中参数空间的线78a和78b分别是对象空间曲线54和58的映象,并且另外,参数空间的线86是作为对象空间曲线80的映象。
图5提供在本发明的某些实施例中用到的两个混合函数B1和B2的图形表达;
图6A-6D显示可能在本发明用到的另外的混合函数的图形;
图7提供进一步的图解说明在参数空间和对象空间的几何实体之间的对应关系;
图8显示根据本发明混合到圆柱体108上的椭圆形区域100,其中封闭曲线110从混合于该封闭曲线的圆柱体108上的变形部分中限定出椭圆形区域100;
图9显示根据本发明的方法在圆柱体116上创建的简单凸起112;
图10显示复合曲线120(如下文定义的),它包括两个相交子曲线124和128;
图11显示曲面130,从此处标签曲面134被剪裁;
图12图解说明一种计算技术,用于确定离点p的有距离特征的量度(distance-like measurement),点p在具有顶角点V1、V2、V3、V4、和V5的多边形内部,其中,使用由星状处理提供的相应顶点150,确定到该多边形各边的有距离特征的量度;
图13显示在参数空间(即,单位平面)的两个边界曲线156a和156b,其中区域拼片168之间能够由坐标(s,t)自我参数化,这里s随在一对相对子曲线160a和169b上的两个对应点之间的距离而线性变化;而t确定子曲线对160a和169b中每条曲线上的相应点;
图14图解说明具有由三平面S1、S2、和S3定义的边和带的区域,其中本发明能够利用下文提供的公式(5)为区域300提供曲面拼片;
图15和图16两个都图解说明一般计算几何概念,以及作为本发明基础的新颖概念。注意,这些特征用于图解说明上文
定义一节定义的术语;
图17显示由本发明的用户在设计几何对象中执行的设计构造操作的典型流程的方框图;
图18显示三个轮廓曲线404、408和412在轮廓点标420处汇合,其中,因为各等倾手柄(对点标420而言)在共有平面460上,曲面416和418在点标420处平滑地结合;
图19显示定义曲面480的轮廓曲线x和y,曲面480在曲面484和486之间形成内圆角。一般地,使用离开曲面484和486的相交曲线482的距离488和490来定义轮廓x和y;
图20图解说明一个用于根据本发明从等倾带508和516计算混合的曲面的实施例;
图21A-21C图解说明根据本发明用于创建洞600的程序;
图22显示根据本发明的混合曲面710,其中混合曲面在退化轮廓(点)714和圆柱体722上的环形侧面718之间扩展;
图23显示根据本发明的混合曲面750,它在退化轮廓(点)754和二维圆面758之间扩展,圆面758中有环形曲线760;
图24图解说明根据本发明技术,在半圆环带784a和784b之间混合曲面的混合结果,其中得到的曲面786在这两条带之间混合;
图25表示根据本发明的混合曲面808,它的点P(u,v)使用“前向算法(forward algorithm)”来确定,其中在参数空间158上的点是根据在辅助参数空间828上的点自我参数化的,并且其中在另一个参数空间上的点830用于有效地确定对轮廓812和816(在对象空间中)的原像(在参数空间158中)的有距离特征的量度(distance-like measurement);
图26是流程图,说明根据本发明,使用新颖于本发明的计算技术的一维实施例,用于计算插值曲线的步骤;
图27是说明当构造对等倾带的等倾边界的逼近时所执行步骤的流程图,其中对于等倾带而言,边界是与轮廓相对的;
图28A和28B显示一种程序的流程图,该程序构造比从图27得到的逼近值更精确的等倾带边界;
图29A-29C图解说明用于修改复合曲面S0的一个或多个子曲面Si的流程图,该修改通过对于在一个或多个轮廓曲线(这些轮廓曲线定义对于子曲面Si的边界)上的点标,改变等倾手柄和/或带切线的几何特性而实现;
图30A和30B提供一种程序的流程图,该程序由图29的流程图激发,用于当用户修改等倾手柄和/或带切线时,实时地变形子曲面Si;
图31是通过用户与本发明的实施例交互,用以改变曲面的形状所执行的高级步骤的流程图;
图32图解说明在图26的流程图中所使用参数的值,用于计算插值曲线C(u)的例子;
图33显示四条轮廓曲线P11、P12、P21和P22,其中要生成一个被这些轮廓包围的曲面,并且其中该曲面被这四个轮廓(以及它们的相应等倾带)限定;
图34和35图解说明在执行用于创建一个四边拼片(图36)的一个方法时生成的中间(过渡)曲面,该四边拼片是使用图33的四条轮廓曲线从两个双边混合体创建的。即,使用等倾带R11和R12(分别对应轮廓P11和P12)生成混合曲面S1(图34),和使用等倾带R21和R22(分别对应轮廓P21和P22)生成混合曲面S2(图35);
图36显示从S1(见图34)和S2(见图35)导出得到的混合曲面S,其中s是根据下文
详细描述第5节所提供的公式(11)生成的;
图37显示在本发明实施例中使用的几何对象,用于从两个曲面SL和SR中生成曲面S。具体地说,此图介绍了接着在图38至41中使用的符号约定(notational convention);
图38图解说明用于生成一种四边拼片的本发明的一个实施例;
图39图解说明用于生成也在图38中生成的那种四边拼片的本发明的一个替代实施例;
图40显示图38中的几何对象与图39中的几何对象之间的符号对应关系;
图41显示图38中可能的几何构造,其中图38中的轮廓P3和P4已退化;
图42A和42B图解说明点标2002的运动,该点标被约束驻留在轮廓曲线2003和2004上;
图43图解说明在复合轮廓曲线上的约束和它们对应的等倾带,这些等倾带用于提供在两个混合曲面S1和S2之间连续的切面;
图44显示轮廓P、相关等倾带RL和RR,以及用于描述在P上获得GI连续的条件的各种手柄。
详细描述
1.导言
图1图解说明使用本发明的一个实施例,用于在任意两参数曲面(比如在半圆柱曲面30和曲面34)之间插值来设计曲面62。即,曲面62是通过新颖的曲面插值处理而生成的,其中,曲面62形状的约束由特征曲线54、58和60,以及与它们的相应的新颖控制几何(等倾带)来提供。具体地说,曲面62满足下列约束:
(a)特征曲线54,曲面34的一个或多个几何特性被施加在曲面62上,
(b)沿特征曲线58,曲面34的一个或多个几何特性被施加在曲面62
上,和
(c)曲面62穿过特征曲线60插值,其中曲面62沿曲线60的界限的切
线是从(即,等同于)等倾带61和63导出的。
因此,使用本发明,设计者能够设计根据后述条件指定的曲面:(a)数量相对少的仔细构造和定位的特征曲线,和(b)沿这些特征曲线的界限的曲面所需的斜率(经由等倾带)。而且,使用本发明所设计的曲面不仅在两个特征曲线之间平等地插值,而且也会服从其它所施加的约束,比如凸度、凹度、和/或预定曲率范围。
另外,本发明能够用于将一块曲面区域混合到所设计的对象中。例如,图2图解说明混合圆环面66到圆柱曲面30上。因此,本发明也能够用于创建凸起、凹坑、标识、和浮雕,以及递归设计曲面,本领域技术人员从此公开受益。
本发明的至少一个实施例不同于与本发明有关的计算机辅助设计(CAD)的传统方法,所需几何对象(例如,曲面)可以由多个在几何上和计算上无关的拼片(例如,三、四、五边封闭曲面)创建,这些拼片接着可能以某种方式拼凑在一起以满足某些在各拼片之间边界的约束。因此,通过以某种方式把多个无关的几何子对象(子曲面)拼凑在一起,可以设计所需的几何对象,这些方式是:插值、混合、和/或剪裁这些子对象,以便跨越它们之间的边界和/或区域,满足比如连续、可微、和/或曲率等约束。这是根本不同于CAD的传统方法的,在现有技术系统的传统方法中,只有四边NURBS、贝塞尔、厄米特(Hermite)、Coons、Gordon或布尔(Boolean)的隐曲面可拼凑在一起。
1.两个几何对象之间混合
本发明的基本几何对象设计技术是在两个参数几何对象(比如,曲面)之间执行混合,更具体地说,是执行这样的混合的方式。如上文定义一节所定义的,“参数几何对象”(例如,曲面)可以是作为从(简单的,比如封闭平面)坐标化几何对象(参数空间)到另一个(一般说,更复杂的)几何对象(对象空间)的映射结果而被定义。作为举例,当参数空间是封闭平面时,两个坐标或参数(称为u和v)可能被用作唯一地确定在参数空间中的每个点。当对象空间是三维的时,对于在封闭平面参数空间每个点(u,v),函数可能相关在对象空间中的点(x,y,z)。
为了方便,二维参数空间通常被假定为单位平面,这意味着u和v都在0和1之间变化,尽管它是在本发明的范围内利用其它参数空间几何形状和坐标值域。
在本发明的一个实施例中,为了混合两个参数曲面S1(u,v)和S2(u,v),每个曲面S1和S2具有单位平面作为它们的参数空间,同时每个曲面S1和S2具有相关的各自混合函数B1(u,v)和B2(u,v),其中每个混合函数具有例如(0,1)作为它的值域(除了满足下文所给的其它特性以外)。作为结果,新曲面可由下列公式定义:
S(u,v)=S1(u,v)·B1(u,v)+S2(u,v)·B2(u,v) (1)注意一般选择混合函数B1和B2,以使得出的混合曲面S在与S1的边界上和S1相同,和在与S2的边界上和S2相同。这可通过设计B1和B2,使在与S1的边界上B1=1和B2=0,同时在与S2的边界上B2=1和B1=0而实现。在图3中,如果S1是曲面30,和S2是条带34,并且一条边界是曲面30上的垂线54,和另一条边界是条带34上的曲线58,则曲面62a是S,S在这两条边界之间穿过,并在边界处正切于S1和S2。
2.1.混合函数
混合函数可被通过用于在各种类型的两个几何对象之间混合。例如,可提供用于在填充几何对象的两个体积之间混合的混合函数。但是,为简化(并清楚地说明)本发明的新颖的混合程序和相关的混合函数,这里的讨论初步限定于在两条曲线之间混合,或在两个曲面之间混合。因此,对于要混合在一起的两个曲面S1和S2,混合函数B1(u,v)和B2(u,v)分别在由本发明生成的混合曲面的边界上被适当地设定为或者是0或者是1。
参见图4,其中假定参数空间中的边界78a、78b对应于对象空间中的轮廓54和58,对于在混合曲面(比如曲面62a)上的任意曲线80,有一个所示的在参数空间中被限定的相关原像(例如,线86)。注意,为了简单起见,边界78a和78b,以及曲线80的原像是笔直的,但它们不一定非得如此。
假定(也是为了简单起见)混合函数B1(u,v)和B2(u,v)在单位平面(作为它的参数空间)有它的定义域,对于在此参数空间上的任意点(u,v),重要的是确定测量该点(u,v)到各边界曲线(例如,边界曲线78a和78b)有多近,并且更一般地,到各轮廓曲线的原像有多近。这样的接近度或有距离特征的量度可用于指定混合函数和/或它们的结果值。注意,有许多方法去计算在参数空间的这样的接近度或有距离特征的量度。例如,如果边界78(或轮廓原像)是直线,则这样的到点(u,v)的参数距离可用通过该点到边界线的垂线线段的长度而容易地计算出来。用于计算参数距离的另外的技术将在下文讨论(例如2.3节和2.4节)。
假定参数空间还是点(u,v)的二维空间,混合函数
(其中对于固定N数量的一些边界曲线,1≤i≤N)能被计算单变量等距函数
的函数,这里Di是替代(u,v)的函数,因此
,其中Di(u,v)是到曲面S的边界曲线Ci(在对象空间)的原像Ci -1的等距函数。注意,这样的等距函数必须满足条件:如果(u,v)任意接近第i条边界曲线的原像Ci -1(比如在传统的欧氏(Euclidian)距离中所测量的)时,Di(u,v)任意接近0。此混合函数
和等距函数Di的例子在下文提供。
由于许多最有用的混合函数Bi是属于类型
,因此,除非要求另外的指定,Bi将下文均可用于表示:(a)上文初步讨论的混合函数Bi(u,v),和(b)用于某些距离函数Di的混合函数
。但是,如果要求清楚地区分两个混合函数(a)和(b),则可用混合函数的定义域指明要表示那一个混合函数。撇开这一点不谈,注意,公式(1)可同样很好地应用于混合函数
,i=1、2;即, 如果点(u,v)接近于第i条边界的原像,i=1、2,则
被期望变小并且该点被映射(到对象空间)接近于第i条边界。
混合函数Bi的好的集合不仅允许混合曲面的映射S与所需要的圆周(轮廓)曲线相一致,而且将以一种方式这样作,以使得到的、在不同初始曲面的一个或多个圆周曲线之间的混合曲面将保留诸如与两初始曲面的曲率的连续性等几何特性。即,混合曲面“倾斜”于每个初始曲面。而且,应优选混合函数Bi使得新的曲面平滑。图5显示对于Bi所需要的一对混合函数的图形,i=1、2。
对于两个曲面S1和S2的轮廓曲线P1和P2,其中在P1和P2之间需要混合曲面,假定轮廓P1和P2具有参数原像分别对应于单位平面的u=0、u=1,(u,v)|0≤u≤1和0≤v≤1},则对于混合函数B1和B2的一些有用性质是:
(1.1)在u=0处B1=1,和在u=1处B1=0。在u=0处B2=0,和在
u=1处B2=1。(1.2) 无论Di(u,v)=0和Di(u,v)=1,i=1、2,导数B1′和B2′总是
等于0,这些将强制在混合曲面S与初始曲面S1及S2之间平滑
(切线连续)过渡。如果较高阶导数也等于0,则两个曲面之间
的较高阶连续也能实现,通常增进了它的平滑度。(1.3) 对于全部点(u,v),B1+B2=1。这表示为“单位分解(partition
of unity)’,并且它提供用于生成邻接新混合曲面的曲面S1及S2的凸面组合。注意这些将有助于保持新混合曲面不偏离初始曲面S1及S2太远。有许多定义混合函数的实施例。一个有用的实施例是:
除了上述的混合函数以外,下文是另外的混合函数的例子:
B1(x)和B2(x)是满足下列约束的多项式:
B1(0)=1,B1′(0)=0,B(1)=0,和B′(1)=0
B2(x)=1-B1(x)
注意,有关高阶导数(例如,在x=0和/或1处等于0)的另一些约束也可被施加。例如,如果B″i(0)=B″i(1)=0,i=1、2,则C2连续性可在该执行了插值和/或混合的对象上得到。
满足如下约束的多项式混合函数的例子是:
B1(x)=(1-x)2+5x(1-x)4+10x2(1-x)3
B2(x)=1-B1(x)。
注意,如图6D所示,B1(x)可以作为带6个控制点P1、...P6的贝塞尔曲线被导出。而且,注意,由于
B1′(x)=-30x2·(1-x)2以及
B″2(x)=60x·(1-x)2-60x2·(1-x),所以
B1′(1)=0,B″(0)=0,B″1(1)=0,B′2(0)=0,B′2(1)=0,
B″2(1)=0,
B1″(0)=0和B″2(0)=0。(c) 上文所述的带双向单射(bijective)(例如,一对一及其上)参数
化函数P:[0,1]→[0,1]的混合函数的任何组合,可能由混合函数组
成以获得另一个混合函数。作为一个特例,令P(x)=2c(x-x2)+
x2,这里c是常量“扭曲”因子,则新的混合函数可构造为B(P(x))。
因此,当c=1/2时,P(x)=x。而且,当c变化时,P(x)图形的弯曲
点如图6A-6C所示移动。注意图6B(其中c>1/2)的混合函数将造
成混合曲线(和/或曲面或其它几何对象)为了该曲面的一个较大的
部分去保持为混合所使用的对象的几何特性,该使用的对象对应于
在图6B的图形中x=0轴。
为减少为计算混合函数而负担的实时设计计算开销,在一个实施例中,用于混合函数的值可能先于设计阶段以足够高的精度被制表(tabulate)并以某种方式存储于存储器中,因而允许有效索引得到离实际混合函数值最接近的近似值。2.2 对N边区域的扩展混合
在本发明的一个实施例中,一块区域被参数曲面Si(i=1、2,...,N,且N≥2)的每条边ei包围,用于在该区域上混合的新颖的通式,是点Si(ui(p),vi(p))的下列加权和: 这里,
(a) p是在对于曲面Si的共有参数空间中的可变指示点;
(b) Di(p)是到在共有参数空间中的第i条边ei的原像的有距离特征
的量度;
(c) Bj是混合函数,当Di=0时,它是0,并且当Di增加时,它单调
增加;和
(d)ui和vi是参数化函数,它们从共有参数空间变换p到(任何)过
渡参数空间得到Si。注意,通过除以混合函数Bj的乘积和,(例如,
)公式(4)可根据混合函数被归一化。还要注意,当N=2时,公式(4)类似公式(1),并且事实上是它的扩展。即,对于N=2,公式(4)中B1的具有公式(1)中B2的函数特性,和公式(4)中B2的具有公式(1)中B1的函数特性。即,在两个公式之间存在下标符号变换。
作为公式(4)的例子,研究图14中所示三边区域300(在对象空间),通过施加公式(4)于此生成曲面S,对于区域300,获得下列等式:
S(p)=B2(v)B3(w)S1(u)+B1(u)B3(w)S2(v)+B1(u)B2(v)S3(w) (5)这里作为参数化函数的u、v及w是p的重心坐标,本领域的技术人员应该理解。
提供一种跨越N边(N≥4)区域定义混合曲面的替代方法,该方法使用图34的R11和R12分别作为公式(1)的S1和S2,通过首次应用基于公式(1)的双边逼近,以因此生成图34的S1。其中公式(1)的S1和S2分别被R21和R22取代,以因此生成图35的S2。图34和35的两个得到的曲面S1和S2分别依次使用公式(2)被混合,其中混合函数B1和B2是如上所述,并且对应的Di是如下所述。例如,假定每条带R11、R12、R21和R22具有一个共有原像,在公式(2)中使用的Di计算到边线对P11、P12、P21和P22(图34和35)的原像的有距离特征的量度,Di可以是:
(a)对于对应图34的S1的(共有)原像的点P1,D1(P1)=min
(D((P1,P11),D(P1,P12)),其中D是P1和对应轮廓P1i之间的欧氏
距离,和
(b)对于对应图35的S2的(共有)原像的点P2,D2(P2)=min
(D((P2,P21),D(P2,P22))。因此,使用公式(2)能够把两个曲面S1和S2混合在一起,以得到图36的曲面S。
在另一个具体用于生成四边拼片的实施例中,假定下列用于定义轮廓和带的受限制但多样的方案(scheme):
(a)所有手柄都是分段的直线段;和
(b)所有混合都是利用公式(3.1)的函数B1(x)和B2(x)来实现。而且,首先参照图37描述现有拼片生成技术,使用下列标记方案。对于轮廓P:
mL、mR:分别是轮廓P的左手和右手点标;
hL、hR:分别是轮廓P的左手和右手轮廓手柄;
sL、sR:分别是轮廓P的左手和右手等倾手柄;
bL、bR:是在等倾边界R各自左右端点处的左手和右手带切线(这些带切线也表示为“边界手柄”);
使用图37中的符号,可定义曲面SL和SR,其中SL被对应于sL、hL、bL、和dL=(sL+bL)-hL的线段包围;并且SR被对应于sR、hR、bR、和dR=(sR+bR)~hR的线段包围。具体地说,SL和SR在本领域被公知为“扭转平面(twisted flat)”,并且因此,SL表示为左扭转平面,SR和表示为右扭转平面。而且,使用下列公式(5.01a)和(5.01b)可以计算这些曲面: 其中参数u和v如(图37)u方向箭头和v方向箭头所示,在横向增加。 其中参数u和v也在横向增加,u方向与图37中u方向箭头相反。
因此,等倾带曲面S(图37)现在可以被定义如下:S(u,v)=B2(u)·SL(u,v)+B1(u)·SR(u,v) (5.02)这里为方便起见,参数u也是公式(3.1)中的B1和B2所需的距离量度。因此,当v=0时,S(u,0)是轮廓;例如两个控制手柄(hL-mL)和(hR-mR)之间的混合。另外注意,当v=1,S(L,1)是带边界R时,带边界R被导出作为矢量(bL-SL)和(bR-sR)的混合。还要注意,如果bL和bR分别是hL和hR各自沿着sL-mL和sR-mR的变换,则R是P的变换,并且这样的相似可以简化本发明的数据存储要求。
对于多条等倾带S1、S2...SN,其中每个Si由公式(5.02)生成这样的带现在可用于下面更一般的N边曲面形式,它是公式(4)的变形。 注意,对于这些公式,Dj(s,t)、ui(s,t)和vi(s,t)必须被定义,即从一般N边拼片参数空间(在s和t中)到带Si(在u和v中)的参数空间的距离量度和映射。
对于特定情况这里N=2,3,4和N≥5,使用混合带Si,首先注意对于该带,公式(5.02)是公式(5.03)的特例。例如,在公式(5.02)中分母是1,距离量度正好是u-参数,并且u和v刚好对应s和t。除了基本曲面是根据公式(5.02)导出的带(这里也表示为“扭转带(twisted ribbon)”)以外,用于双边曲面的公式是类似的;因而,在公式(5.02)中,S(u,v)=B2(u)S1(u,v)+B1(u)S2(u,v) (5.04)其中参数u量度距离。它沿轮廓曲线的方向变化。现在,在公式(5.04)中,参数v量度距离。
参见图38,其中等倾带S1和S2是由在每个这些带上的u和v方向箭头指示来参数化的,这些带可被用于生成四边拼片。利用扭转带S1和S2可混合u在变化的两个轮廓P1和P2。另外两条边P3和P4是从等倾手柄导出的混合轮廓;即,P3是hR 1和hL 1的混合(例如利用公式(1)),其中在公式(1)中hR 1是S1和hL 1是S2,以及类似地,P4是hR 2和hL 2的混合。
注意,图38的混合曲面S具有张量乘积形式。可通过分解公式(5.04)为张量形式说明它,其中每条带S1和S2从公式(5.01a)和公式(5.01b)中导出。即,S1是SR 1和SL 1的混合(图38)并且S2是SR 2和SL 2的混合。因此,分解如下: 因此,上文最后的表示说明:通过首先以v参数化创建扭转带,和接着以u混合,可以生成同样的曲面S。但是,由于u和v的作用是对称的,可能沿着u参数化生成扭转带,并且接着可能以v执行混合。即,利用图39的曲面SR 3和SL 3、SR 4和SL 4给出如图38中的相同曲面S。因此,在任一种导出S的技术中,输入是相同的;即,mL i、mR i、hL i、hR i、sL i、sR i、bL i、和bR i,这里“i”表示输入所施加的轮廓Pi(i=1,2,3,4)。注意,各种输入之间的对应见图40。
所以,总的来说公式(5.04)的双边拼片提供了非常通用的四边拼片。而且,它的计算也是有效率的。因此,通过使用公式(5.01a)和公式(5.01b)扩展公式(5.05)的sL i和SR i,可获得下列表示: 其中
和
是来自公式(5.01a)和公式(5.01b)的恰当(appropriate)度量.注意,当计算这个表示的一个例子时,Bi应该是表驱动的(tabledriven)。
上述表示在数学上是完善的,但是以几何上直觉的方式使用它还需要基于用户方面的判断。因此,在某些退化的情况下,一些数学的辅助也适合(inorder)。一个常见的例子是两个轮廓(例如,P1和P2)互相交叉,如图41。这是一个退化的情况,因为轮廓P3和P4(图38的)是零长度,并且共用端,点标(即,mL 3=mL 4和mR 3=mR 4)。
注意,但是,公式(5.04)仍然对应曲面S,但显而易见该曲面可能在轮廓相交处是闭环(loop)。为了消除这个闭环并仍然保持在点标处的手柄状控制,公式(5.04)的扭转带可能由u的函数封闭。在u=处值是1并在u=0处值是0的一个函数是: 因此公式(5.01)0被调整为:S(u,v)=B2(v)α(u)S1(u,v)+B1(v)α(u)S2(u,v) (5.08)这样的函数(5.08)将可能消除大多数闭环。
在端点处减少带的性能启发了其它应用。一种定标函数,比如
α1(u)=1-u2 (5.09)在u=1端消除该带,同时
α1(u)=1-(u-1)2 (5.091)在u=0端消除该带。本领域技术人员将应理解,这是制作三角(三边)曲面的有效方式。2.2.1 从两条边的凸起和凹坑
所谓的“凸起(boss)”特征可从混合两条轮廓边获得。这些轮廓可由例如图24中分别具有等倾带784a和784b的半圆形780a和780b提供。带784a和784b在不同的平行平面中。当这些带被混合在一起时,就获得可被认为是凸起或凹坑的曲面786(图24)。注意,许多变化,即,圆穹顶、火箭尖、台面、苹果顶等也可类似地被生成。而且,如果该顶半圆带是旋转的,则该凸起可被扭转。本领域技术人员将应理解,这个方案能用于两个管子之间(如,关节)的过渡。
注意,在另一个实施例中,通过使用有关每条边界曲线(在对象空间)的邻域(neighborhood)作为缺省的等倾带(从该等倾带利用公式(1)或公式(4)去混合),可以实现混合。因此,通过定义一个值∈>0,并且,沿着要被混合的曲面的边界取一条带以及每个曲面的宽度,这些带可被作为等倾带。因此,曲面边界成为在公式(1)或公式(4)中可能用到的轮廓曲线及其原像。2.3. 轮廓曲线
由于本发明能够举出几个定位适当的(对象空间)各种类型轮廓曲线,并因此生成对应的曲面作为根据上文公式(1)的混合曲面,所以对于每个曲面S1和S2有两个参数空间原像曲线,其中这些曲线是用于混合函数B1和B2的边界;即,对于每个混合函数Bi,在Di=0和Di=1处的曲线。事实上,如图7所示,可能有8条曲线可用于定义混合曲面。即,在S1的参数空间中可以有两条曲线78a和78b,以及在S2的参数空间中有另两条曲线78c和78d(当然,在许多情况下这两个参数空间是等同的)。另外,存在曲线78到两曲面30和34的映射,因此提供对应的映像曲线90、54、58和91,这些具有各自的原像78a、78b、78c和78d。
注意,在S1和S2具有等同的参数空间的情况下,轮廓78b是轮廓54的原像。而且,如果78d(=78b)的S2是轮廓58,则78b被包含于每个S1、S2和混合曲面62的原像中。
当本发明用于曲面设计时,用户或设计者可能考虑通过连续地拉伸或变形一个初始曲面的轮廓曲线,因此去创建在这个初始曲面和另一个曲面的轮廓曲线之间的新曲面,来设计混合曲面。
注意,轮廓或边界曲线的不同类型可用于本发明。在本发明的一些实施例中,这样的轮廓曲线C,一般在参数空间中具有参数原像,即C-1(s)=(u(s),v(s)),这里s是该原像(例如,0≤s≤1)的参数化。注意,比如C的参数曲线包括具有下列形式的曲线:(a)包括线、抛物线、圆和椭圆的二次曲线;贝塞尔,厄米特(Hermite)和非均匀有理B样条(NUBRS);(b)三角或指数形式;以及(c)退化形式,如点。另外注意,本领域技术人员将应理解,通过其它几何特性比如开放、封闭、退化和复合,这些曲线形式可被正交地分类。
轮廓曲线包括伴随曲线类型(2.3.1)到(2.3.5)的曲线。
2.3.1 开放曲线
“开放曲线”是一种不约束其曲线的端点要是重合的曲线;例如,可自由定位端点。当定义用于生成曲面(在对象空间)的曲线(轮廓)的一个任意集合时,开放曲线可以是由本发明使用的最一般类型,其中约束该曲面穿过该曲线集合。
2.3.2 封闭曲线
当曲线的端点匹配时,该曲线表示为“封闭”。这意味着该曲线的起点与该曲线的终点相同。封闭曲线限定例如曲面的区域,并且特别适用于设定隔离特定的设计区域。这样的一个例子是用于容器的标签曲面(在上文定义一节讨论的);例如图2中的曲面66。即,标签曲面是一种区域,它必须属于一种表示为可展曲面的特定曲面类型,以使标签贴上去后将不会起皱或撕裂。每个这样的标签曲面是高度约束的,并且通常由封闭曲线(这样的曲线也能用作容器设计中的审美目的)与此设计的其余部分隔离开。图8显示椭圆区域100混合到圆柱体108中,其中封闭曲线110限定椭圆区域。封闭曲线经常可在端点处的切线匹配。
2.3.3 退化
存在几种生成退化轮廓的方式。在一种技术中,开放曲线可以是零长度,或封闭曲线可以包围一个没有面积的区域。在这种情况下,结果是一个可与相邻曲面混合的点。图9显示从退化圆环面(即标记为S1的点)和圆柱体116(也表示为S2)之间混合而创建的点混合。因此在圆柱体116上创建一个简单凸起112。具体地说,对于合适的混合函数Bi,i=1,2,使用公式(1)能够获得S1和S2之间的混合曲面。而且,由于公式(4)能用来取代公式(1),因而可生成在多个点(即,退化轮廓)和一个相邻曲面之间混合的曲面。图22和23显示到退化轮廓的另外的混合。
图22显示在退化轮廓(点)714和圆柱体722上的圆环端718之间延伸的混合曲面710。具体地说混合曲面710是等倾带726和730的混合,其中等倾带726是以退化轮廓714为其中心点的二维圆面,和等倾带730是以圆环端718作为其轮廓。因此,在公式(1)中令S1是等倾带726,和S2是等倾带730,有距离特征的量度(在它们对应的参数空间中)可能等于:
(a)在等倾带726上从退化轮廓714开始的径向(radial)距离。
(b)在等倾带730上离开轮廓718的距离。
图23显示另一个混合曲面750,它在退化轮廓(点)754与其内具有圆环曲线760(并且,可选地,具有中心洞762在这里穿过,曲线760作为其边界)的二维圆环758之间延伸。具体地说,混合曲面750是等倾带766(对于退化轮廓754的)与圆环758(例如,它可以是关于曲面770的任选等倾带,在其中曲线760是轮廓)的混合。因此,令S1是等倾带766,和S2是圆环758,有距离特征的量度(在它们对应的参数空间中)可以等于:
(a)在等倾带766上从退化轮廓754开始的径向(radial)距离。
(b)在圆环758上离曲线760的距离。
2.3.4 复合曲线
本发明的新颖几何设计技术可以与复合曲线一起利用。复合曲线是一般的
曲线形式,它包括其它曲线作为其子曲线,其中子曲线可能交叉或可能在例如端点处扭转。在利用复合曲线作为例如轮廓时,对于复合曲线的有距离特征的量度的定义是重要的。图10显示复合曲线120,它包括两条交叉子曲线124和128。但是,这样的复合曲线也能使它的子曲线端到端地串起来。
假定复合曲线C的子曲线Cj,j=1,2,...N是参数化的,并且具有共有参数空间,用于确定到子曲线Cj的原像的有距离特征的量度的距离公式(在参数空间)是:
D(p)=DN(p),和 这里,k=2,...,N和D1(p)=d1(P)=P和C1之间的距离量度,而Dk(P)=P和Ck之间的距离量度。因此,D(p)可被用作对函数B(D)的输入,用于混合一个或多个曲面到复合曲线C。
2.3.5 剪裁曲线
本发明允许曲面被“剪裁”,其中剪裁是指一种处理,用于约束或限定曲面到一具体边界曲线(也表示为剪裁曲线)的一边。具体地说,对于参数化的曲面,剪裁曲线在例如该曲面的(u,v)参数空间中的原像识别在剪裁操作以后要保留的曲面的界限。剪裁曲线可以是轮廓曲线,并且所要剪裁的曲面是初始未剪裁曲面的一般仅位于该剪裁曲线的一边的那部分。图11显示一个例子,其中初始未剪裁曲面是一般的长方形部分130。圆拱曲面134是“标签”曲面,它被从初始曲面130剪裁到曲线130。注意该剪裁轮廓138可能具有对于一个或多个相邻曲面(例如,曲面142)的相关的等倾带(未示出),该一个或多个相邻曲面在剪裁轮廓138处倾斜(heel)于等倾带。用于修改这样的相邻曲面的形状的等倾的使用是在创建从相邻曲面到被剪裁曲面的平滑过渡中的重要技术。
注意,本发明可以包括在几何对象中创建洞的剪裁技术。经由通过对象的后曲面挤压在几何对象的前曲面的凹陷,并接着剪裁前曲面去挤压在后曲面的对应部分,可构建洞,该洞可被用作例如容器的手柄。
2.4 距离度量
一些用于计算有距离特征的量度的技术已经由上文提供。在这一节,描述另一些这样的技术。在计算参数空间的一点到一个或多个特定几何对象在参数空间中的原像(曲线)有多近的计算中,其计算效率能够实质性地影响本发明实施例的几何设计和建模的性能。对于计算多个点和曲线之间在参数空间中的这种有距离特征的量度(一般地,它们是传统欧几里德距离度量的单调函数),一般地,在曲线的复杂性与怎样有效率地计算这样的尺寸之间有一个折衷。一般地,曲线越简单,确定这样的距离越快。另外,应该注意,对于参数空间曲线及其映像曲线(在对象空间),这些曲线不需要属于同样的计算类型(例如,多项式的、超越的、开放的、封闭的等)。其实,参数空间曲线可以是相当简单而且还是在对象空间中一个复杂曲面的原像。例如,对应于在图1中的贝塞尔曲线58的参数空间曲线可以是一条直线。通过保持参数空间曲线尽可能简单,快速的距离计算是可能的。
2.4.1 用于混合的参数距离计算
本节讨论用于计算到大量备选参数空间曲线的有距离特征的量度(更一般地,传统欧几里德距离度量的单调函数)的各种方法,其中这些方法粗略地以计算复杂性的升序排列。
假定混合曲面在两个轮廓曲线P1和P2之间生成,每个具有等倾带,其中每条带都是参数形式的、并且具有例如二维单位平面[0,1]×[0,1]作为对于该带的共有参数空间。一个能用于混合的等距离函数是这样的函数,它依赖于由在共有参数空间的坐标对(u,v)代表的点的唯一的某个坐标。即,假定等倾带的轮廓曲线P1和P2是这样的:它们的原像是对于0≤k1≤k2≤1的垂线u=k1和u=k2,则对应的等距离函数可以是D1(u,v)=(u-k2)/(k1-k2)和D2(u,v)=(u-k2)/(k2-k1)。而且,如果该原像是边界为垂线u=0和u=1(即,k1=0和k2=1)的参数空间,则对应的等距离函数可以是D1(u,v)=(1-u)和D2(u,v)=u,因此,非常有效率地计算这样简单的等距离函数能。
为了在参数距离计算中保持所需要的简单性,当有多于两个用于混合的原像时,可采用三种用于计算参数有距离特征的量度的方法。现在逐个描述这三种方法。
在由例如三条轮廓曲线原像(它们也是曲线)包围的参数空间中的三角区域,能够使用了三个附带另外的约束r+s+t=1的参数r、s和t(实值),根据三角区域的顶点v1、v2和v3进行参数化。换言之,在具有顶点v1、v2和v3的三角区域中的点p能表示为p=r*v1+s*v2+t*v3。参数r、s和t表示为“重心坐标”并且用作比如图14的曲面300这样的参数空间的三边曲面,
在参数空间中被四个轮廓(表示为四边的情况)的原像包围的区域可以是两个对边包围区域(表示为两边的情况)的简单扩展。在这种两边的情况中,如果正确进行了参数划,则只需要在有距离特征的函数计算中使用一个参数u。在四边形的情况种,可以采用参数u和v以及它们的补集(假定一个合适的表示,比如参数空间中的单位平面)。因此在参数空间中到四个轮廓原像边界的距离可以是u、v、1-u、和1-v(即假定轮廓的原像是u=0、v=0、v=1、u=1)。
为了确定对于参数空间区域的重心坐标,假定轮廓的原像是形成多边形的线段,可用利用图12(图解具有顶点v1,v2,v3,v4和v5的五边多边形148)所示的方法,其中轮廓原像是标记为149a至149e的粗线。为了确定等距离函数,首先星状化(stellate),即通过扩展多边形的149a至149e的每条边,直到它们之间相交于含有148边的另一个扩展边,作个星形式的原像多边形148。因此相交点150a至150e在图12的五边情况中被确定。接着,从对应点150a至150e到在多边形中的点p的线段152a至152e可被构造。得到的有距离特征的量度是从点p到多边形148的149a至149e各边的线段153a至153e的长度。因此,从多边形148的第i条边149(i=a,b,c,d,e)的距离是从点p沿着第i条线段153到多边形148的边界线的距离。注意,通过用到点p的全部有距离特征的量度的和除以每个获得的有距离特征的量度,有距离特征的量度可被归一化。
2.4.2 直线
直线是由等式au+bv=c表示,其中a、b、c是常数。到一条线的绝对(无符号的)距离由下式获得:
D(u,v)=|(a,b)(u,v)-c| (6)对于对应于欧几里德距离的更直观版本,可通过除以梯度(gradient)的长度归一化公式(6)得到:
D(u,v)=|(a,b)(u,v)-c|/(a2+b2) (7)
2.4.3 二次曲线
二次曲线包括抛物线、双曲线和椭圆。二次曲线的通式是:
Au2+Buv+Cu2+Du+Ev+F=0它的无符号距离可通过下式计算:
通过除以该函数梯度的长度,也可以归一化该式去制作更合适的等距离函数,在圆的情况下,它是欧几里德的。注意Farin在
Introdution to Curves and Surfaces(曲线和曲面的导言).Acadmic Press(学术出版社).第四版.1996中给出在上文中隐函数形式与有理参数形式之间的变换。因此,不论二次曲线是以隐函数或参数形式表示,都可使用公式(8)。
2.4.4 多项式曲线,参数和隐函数两种形式
假定一参数曲线已经被变换成贝塞尔形式,例如,如在上文引用的Farin的参考文献中所描述的那种。Vaishnav在
Blending Parametric Objects by Implcit Techniques(使用隐技术混合参数对象),Proc,ACM Solid Modeling Conf.,May 1993中给出一种从参数曲线到隐函数曲线的数值变换曲线的方法,其中距离在对象空间是通过在给定方向上偏移曲线而被隐函测量的,该给定方向是基于关于怎样偏移的一些试探法被计算的。那个迫使偏移以经过某点的偏移距离的值是对于该点的距离量度。具体地说,作为本领域一般技术人员将应理解,对于贝塞尔曲线,这些有距离特征的量度可以是相当稳健的(即,稳定)并且相当快的计算,平均仅要求二或三次牛顿-拉普松(Newton-Raphson)迭代。虽然此方法比计算二次曲线表示的有距离特征的量度可能慢一个数量级,但它比传统的也是不稳定的计算垂直距离的方法要快得多。
2.4.5 分段参数曲线
本发明也包括用于计算在参数空间中的复杂曲线的有距离特征的量度的
新颖技术。
参见图13,假定边界曲线156a和156b两个都在参数空间158的单位平面内,并且都是具有相同段数n的对应子曲线160a、160b的分段参数多项式曲线。通过用线段164(即一次曲线)连接对应子曲线的端点,在参数空间158的单位平面表示法中可构建n(段数)×1块贝塞尔拼片。注意,每块拼片168可被看作是在它自己具有的坐标(s,t)上的第二参数空间,其中:(a)对于两贝塞尔子曲线160a和160b(这里称为b1(t)和b2(t),0≤t≤1),t的每个t0值对应于b1(t0)和b2(t0)之间的线段
,和(b)线段
是由s参数化的,使得,当s=0时,
,当s=1时, ,其中当0<s<1时,s随b1(t0)和b2(t0)之间的距离成比例地变化。因此,如果曲线b1(t)和b2(t)(和/或以线段164为边界的拼片)之间的有距离特征的量度是在第二参数空间计算的,则对于该拼片内任意点(u,v),需要发现相关于此拼片边界曲线的对应点(s,t),接着为确定有距离特征的量度可计算点(s,t)。由于s是线性参数(对应于两对应子曲线160a和160b之间的点的距离,160a和160b在它们的端点处被两相同线段164接合起来),简单函数f1(s)和f2(s),比如f1(s)=s和f2(s)=1-s,可分别作为到b1(t)和b2(t)的距离函数。注意,参数u和v都可被表示作为s和的贝塞尔函数。具体地说,为从(s,t)
坐标变换到(u,v)参数空间坐标,作为本领域一般技术人员将应理解,
可以使用牛顿(Newton)类型算法。
另一种用于确定有距离特征的量度的方法是,在某些情况下用“前向算法”去计算这样的拼片168。即,显示了对象空间混合曲面808,参见图25,该曲面在例如两个轮廓812和816之间进行混合(分别具有与曲面808倾斜的等倾带820和824)。轮廓812具有它自己的原像曲线160a(在参数空间158),轮廓816也具有它自己的原像曲线160b(在参数空间158),其中,参数空间158对应曲面808的部分是拼片168。用s和t表示的辅助参数空间828可以被看作对于参数空间158的原像参数空间,其中曲线160a的原像是在s=0处的垂直线段,和曲线160b的原像是在s=1处的垂直线段。如果使用辅助参数空间828中的足够密度的表示为“x”的点组830去计算拼片168中的点(u,v)(例如,通过确定最近的点830),则可以有效地计算在混合曲面808上的对应点p(u,v),原因是到原像曲线160a和160b的有距离特征的量度可能分别是D1(u(s,t),v(s,t))=s和D2(u(s,t),v(s,t)=1-s。这个方法将容易和快速地产生混合曲面。注意,如果曲面808不要求接着的剪裁操作,则该方法更有吸引力。
2.混合程序
图17显示本发明的用户执行的设计构建操作的典型流程的方图。因此,可能需要轮廓手柄去构建相关的轮廓,并需要用该轮廓去构建相关的等倾带,和需要用该等倾带去获得相关对象(例如,曲面)的所需形状,接着需要用该形状去构建所需的几何模型。
图26至图30提供由本发明实施例所执行的程序的高级描述,它启动对几何对象图象的形状的新颖的实时操纵,以使能用户更有效和直接地表达他/她的设计意图。而且,应该注意到,本发明的基本原则是脱离一般CAD系统的典型改变。即,在一般CAD系统中,用户必须提供用于改变或修改几何对象的输入,并且接着要求开始处理输入。因此,在断续的用户被请求次数中,用户接收有关他/她的设计的反馈。代之以,利用本发明,更新可以在接收到输入时立即实时处理,而不需要用户明显地指示执行更新处理。相应地,本发明的用户能有效地执行对所设计的几何对象的迭代逼近,而不需要用户精确地为该对象的实质上整个部分计算几何特性。具体地说,对于许多几何地设计的对象,它能具有显著的高效率优点,使用范围广泛的几何成型对象可以满意地设计如此对象的具体部分。相应地,本发明允许设计许多这些几何对象,而不需要用户不得不无必要地在该对象的不需要精确的部分给定精确度。
在图26中,显示根据本发明用于计算插值曲线的步骤,该计算使用了在上文第二节讨论的公式(1)的一维变形。相应地,在步骤1004,获得所要生成的插值曲线C(u)的端点和在端点处的切线。具体地说,这条曲线的端点被赋予变量PT1和PT2。相应地,对于插值曲线C(u)在端点PT1和PT2处的方向矢量被分别赋予变量TAN1和TAN2。注意,PT1、PT2、TAN1和TAN2可以各种方式提供。例如,一个或多个这些变量可以具有由用户赋予的值,和/或一个或多个可能从其它对该用户可用的几何对象表示(例如,另一条曲线、曲面或立体表示)导出。具体地说,根据对点PT1和PT2所驻留的几何对象(例如,曲面)的参数化,可以自动地确定表示为TAN1和TAN2的该方向的正切矢量。
在步骤1008和1012里,象在上文的(2.1)节中讨论的那样选择混合函数B1和B2。但是,注意到所提供的混合函数可能对于特定的混合函数对是缺省的,因而用户可能不需要清楚地指定它们。但是,那些可能被用户特定选择的混合函数也在本发明的范围之内。在这方面,注意由于本发明试图表达用尸的几何设计意图,因此可能有范围广泛的可接受的混合函数,因为用户的意图一般经常被充分地表达而不需要用户有意地确定高精度输入就可以接收。即,因为通过充分地使用同一混合函数逐渐地生成和/或修改所设计的几何对象的较小部分,可逐渐地提供较精细的细节,所以相信有范围广泛的混合函数可被接受来用于最终几何设计的迭代逼近。换言之,由于本发明既支持输入精确的(几何的或其它)约束,也支持用户意图以逐渐高的放大倍数的迭代表示,所以该高精度和/或小规模设计特点可仅在需要的地方被接合到用户的设计中。
在步骤1016中,使用应用到一维参数空间的公式(2)的变形来计算插值曲线C(u)。图32图解说明一条带有已确认点PT1、PT2,和矢量TAN1和TAN2的插值曲线C(u)的例子。
在图27,提供说明在为对象(例如,曲面)S构建对等倾边界R(u)的逼近时所执行的步骤的流程图,其中点PT1和PT2限定对应于所生成的等倾带边界近似值的轮廓曲线。具体地说,由该流程图所生成的近似等倾带边界试图近似地满足在上文定义一节
定义的等倾带边界。更精确地说,由本流程图确定的等倾带边界近似值将试图根据例如该对象沿在PT1和PT2之间所生成的轮廓曲线有多么平滑,匹配为PT1和PT2之间的对象S的部分所定义的等倾带边界。即,越平滑(减小曲率波幅),越可能匹配。相应地,在图27的步骤1104中,在图26中表示调用曲率插值程序和PT1、PT2以及它们各自对对象(曲面)S的切线TAN1和TAN2。因此,返回一条插值曲线C(u),它是邻近该曲线对S的轮廓的近似值。
在步骤1108和1112中,确定在每个点PT1和PT2处沿对象S的参数化的切线(即,尖桩),并将其分别赋予变量PICKET1和PICKET2。注意,一般地,尖桩PICKET1和PICKET2将与矢量TAN1和TAN2相交,尽管本不需如此。接着在步骤1116和1120中,对应于PT1和PT2的等倾带点被确定并分别赋予变量RIBBON_PT1和RIBBON_PT2。接着,在步骤1124中,图26的曲线插值程序被结合值RIBBON_PT1、RIBBON_PT2、TAN1和TAN2再调用,以因此生成等倾带边界近似值R(u)。值得注意的是,在一些情况下,被插值(轮廓)曲线C(u)、对应的尖桩(PICKET1和PICKET2)、和新生成的等斜边界R(u)包围的等倾带近似值不需要形成一个曲面。事实上,曲线C(u)和R(u)可能实质上是一致的(例如,假设PICKET1等同于TAN1,和PICKET2等同于TAN2)。
在图28A和28B中,提供一种程序的流程图,该程序用于构建比从图27得到的近似值更精确的等倾带边界。具体地说,在28A和28B的流程图中,图27的程序根据在对象(例如,曲面)S中沿其上所提供的轮廓曲线路径的变化,被反复和自动地被调用。相应地,在图28A的步骤1204中,一个或多个点标Mi,i=1,2,...,N,且N≥1的序列被赋予变量MARKER_SET,其中这些点标在曲面S上,并且根据所要的出现沿要生成的轮廓曲线排序。注意,在一个典型实施例中,通常由本发明的用户提供(例如,构建和/或选择)这些点标。而且对于本讨论,假定对曲面S的对应于点标Mi的切线是由用户输入的对S的切线。但是,那些由例如确定曲面S的参数化方向的切线而可能自动地提供的正切矢量也是在本发明的范围之内。
在图28A的步骤1208中,在集合MARKER_SET中的第一个点标被赋予变量MARKER1。接着,在步骤1212中,确定在MARKER_SET中是否有另外的点标。如果有,则在步骤1216中,变量INTRVL被赋予一个参数增加值,该法用于在下文将要接着生成的轮廓曲线上递增地选择点。在一个实施例中,INTRVL可能被赋予在大于或等于大约10-3至10-6的范围中的一个值。
在步骤1220中,变量MARKER2被赋予在MARKER_SET中的下一个点标的值。接着,在步骤1224中,图26的曲线插值程序被结合MARKER1和MARKER2(以及它们对应的用户确认的正切矢量)调用,用以因此在两个点标之间获得插值曲线Cj(u)(这里j=1,2,...,取决于该步骤被执行的次数)。接着在步骤1228中,根据图27使用MARKER1、MARKER2以及用于获得等倾边界近似曲线Rj(u)的插值曲线Cj(u)的值,确定一个等倾边界近似值。
接着,在步骤1240中,变量u_VAL被赋予初始缺省值INTRVL用于在曲线Cj(u)和Rj(u)上选择点。接着,在步骤1244中,变量INCRMT_PT被赋予对应于Cj(u_VAL)的点。接着,在步骤1245中,变量S_PT被赋予在S上的更精确地与点Cj(u_VAL)“最接近”的点,假定S不自我弯曲得比ε>0更接近,对于某些ε,可选择S上的一点,该点在Cj的小于ε的邻域内。注意,由于Cj(u_VAL)可能不在S上,通过设定INTRVL的值以使这个变量的值对应于沿插值曲线Cj的最大长度,该曲线Cj是在与该曲线相交的任何曲面S不平度(undulation)的不多于一半的范围内,因此相信插值曲线将有效地跟随或与曲面S符合。接着,在步骤1246中,确定点INCRMT_PT是否在S_PT的预定距离内(例如,预定距离可能在10-3至10-6的范围内)。具体地说,该预定距离可以由用户设定和/或缺省为一个系统值,该系统值依据本发明所应用的程序是可变的。相应地,假定INCRMT_PT和S_PT是在预定距离内,则会遇到步骤1248,其中在等倾边界近似值上的点Rj(u_VAL)被确定并赋予变量RIBBON_PT。接着,在步骤1252中,确定在Cj(u_VAL)处对等倾尖桩的近似值,并赋予变量PICKET。
在步骤1254中,确定在Cj(u_VAL)处对曲面(更一般地,对象)S的切线并赋予变量INCRMT_TAN,该切线在S的参数化方向上。
在步骤1256中,确定矢量INCRMT_TAN和PICKET是否互相充分接近(例如,在一个屏幕内),如果是,则通过在步骤1264中递增u_VAL的值在插值曲线Cj上确定后续的新点。接着,在步骤1268中,确定是否已经到达或超过插值曲线Cj的末端。注意,这里假定0≤u≤1。相应地,如果u_VAL小于1,则再遇到步骤1244,并且直到1256的一些或所有步骤被执行以确定等倾带点的近似值Rj(u_VAL)是否如在上文定义一节中理论上定义的那样足够接近实际带点。
再参见步骤1246,注意,如果INCRMT_PT不足够接近S,则确定一条与S的实际点相当精确地一致的插值曲线。即,点S_PT被作为点标插入到MARKER_SET,因此导致生成新的、很少偏离S的(假定S是连续可导的)插值带曲线Cj(u)和Rj(u)。即,执行步骤1272,在其中生成用于点S_PT的点标,并且这个新点标插入到在对应MARKER1和MARKER2的当前点标值之间的MARKER_SET。接着,当前表示为MARKER2的点标标志为未用(步骤1276),和在步骤1280中,删除最近构建的插值曲线Cj(u)以及任何相关带边界曲线Rj(u)。接着,再执行步骤1220及其后续步骤以确定新的插值和带边界曲线Cj(u)和Rj(u)。
注意,如果在步骤1256中,确定INCRMT_TAN和PICKET在S的对象空间中不充分互相接近,则也执行步骤1272至1280和步骤1220。
再参见步骤1268,如果已经到达或超过插值曲线Cj(u)的末端,则假定Cj(u)是对在S上(MARKER1和MARKER2之间)点的充分接近的近似值,和Rj(u)是充分接近对应这些S上点的等倾带。因此,如果有另外的点标,其中没有确定插值曲线Cj(u)和对应带近似值Rj(u),则在MARKER_SET中确定下一对相邻点标(点标顺序的),并且执行步骤1220及其以后的变化。即,在步骤1284中,MARKER1被赋予MARKER2的值,和在步骤1288中,确定在MARKER_SET中存在下一个未用点标。如果是,则如上文所述执行步骤1220及其以后的变化。另外,如果已经指定所有点标有用,则在步骤1292中,对于每个已使用的j=1,2,...,所获得的曲线Cj(u)和Rj(u)被图形地显示和储存,以用于进一步检索。注意,可以可选地重复参数化轮廓曲线Cj(u),以便可把这些曲线作为单条曲线
集中进行参数化,其中
满足
和
图29和30提供用于经由修改等倾手柄、带切线、和它们相关的等倾带来修改一个或多个曲面(更一般地,几何对象)的流程图的高级描述。具体地说,为简单起见,这些图中的流程图假定:存在由一个或多个曲面Si,i=1,2,...,N,且N≥1所提供的复合曲面S0,其中曲面Si沿共有边界互相连接(例如,拼接在一起),使得S0没有不连通的部分。相应地,给定这样的复合曲面S0,可以高级地描述图29和30如下。在图29,具有至少一个几何特性(例如,长度、方向、曲率等)需要改变的等倾手柄和/或带切线,随着将要修改以反映等倾手柄和/或带切线的变化的曲面一起被确定。接着,在图30的流程图中,当用户进入对所选择的等倾手柄和/或带切线的修改时,对该子曲面的修改被实时地计算和显示。注意,对于较高维度几何对象中的曲面,曲面(更一般地,几何对象)修改的实时近似至今是不可行的,其中的计算开销太大。相应地,通过提供计算混合曲面的新颖技术,本发明已经减少了这些开销,该技术是有效率的,其所生成的曲面是平滑的。
以下是图29A和29B的更详细的描述。在步骤1400中,如果没有对应于每个子曲面Si的整个边界的轮廓和等倾带,则制作近似每个子曲面Si的整个边界的轮廓和等倾带。注意,可使用图28中流程图的程序执行这些。在步骤1404中,对应于在曲面S0上的点标的等倾手柄和带切线被图形地显示给该用户。在步骤1408中,确定用户是否要求增加一个或多个更多的等倾带到曲面S0上,或在S0上扩展具有自己轮廓曲线的现存等倾带。如果用户有这样的要求,则执行步骤1412以确保除了由用户增加的任何其它点标之外,(a)每当轮廓接触子曲面Si的边界时,和(b)因此将以某种方式扩展轮廓曲线,使每一个轮廓曲线结束于子曲面Si的边界上时,还增加点标。而且,也可以在轮廓曲线的交叉处增加更多的点标。因此,对于这些后面的点标可能有两个明显的与其相关的带切线(即,每个子曲面一个)。
接着,在步骤1416中,结合每个Si,i=1,2,...,N调用图28的程序,以因此获得所需的更多轮廓和等倾边界。另外注意,仅需要结合增加了新点标的子曲面Si调用图28的程序。
在跟随步骤1416的步骤1420中,显示所有新增加的等倾手柄和带切线。注意,在一些实施例中,最初只显示等倾手柄,并且当需要时用户能够有选择地显示带切线。
接着,在步骤1424中,确定用户是否要求在现存轮廓内增加一个或多个更多的点标。如果是,则增加更多的新点标并且至少为这些新点标确定对应的新等倾手柄。另外注意,在本发明的一个实施例中,当在现存轮廓内增加一个新点标时,该轮廓将有一定变化,因为它现在在另一个点上恰好等同于曲面S0,并且现在使用该新增加点标生成在轮廓的相邻点标之间所生成(经由图26)的插值曲线。相应地,带有一个或多个更多的点标的轮廓一般地应该与曲面S0的邻近部分的形状相符。
接着,在步骤1432中,向用户图形地显示该更多的新点标,以及可选地显示对应的等倾手柄和带切线。
注意,步骤1408至1420、和步骤1424至1432不需要后续地执行。计算机用户界面设计领域的一般技术人员应该理解:使用事件驱动用户界面,可以优先于从用户那里获得下一个新点标位置,分别执行和显示每个新点标的处理。因此,步骤1408至1420的相邻执行可能穿插一个或多个步骤1424至1432的执行。
在步骤1436中,确定用户是否选择了用于修改的等倾带和/或带切线。注意,将使用标识符ISO表示所要修改的等倾带和/或带切线。
在步骤1440中,确定对应于ISO的点标,并且经由变量MRKR提供到此的访问(access)。接着,在步骤1444中,确定邻近MRKR的一个或多个子曲面S1,...,SN的集合,并经由变量ADJ_SURFACES提供到这些邻近子曲面的访问。
在步骤1448至1460中,确定子曲面Si的邻近MRKR的部分的边界表示(步骤1452),并将其插入到表示为MOD_SET的曲面边界表示的集合(步骤1456)。具体地说,对于在ADJ_SURFACES中的每个子曲面,该子曲面邻近MRKR的、被等倾带包围的最小部分的边界的数据表示将输入到集合MOD_SET。
最后,在步骤1464,当用户修改ISO时,调用图30的程序以实时地修改S0在包含于MOD_SET中的边界表示之内的部分。具体地说,图30的程序与值MRKR和MOD_SET一起调用。
在图30的流程图中,显示了用于实时地修改由MOD_SET中的曲面边界表示所确认的曲面部分的高级步骤,其中这些曲面部分是邻近点标MRKR的。相应地,在步骤1504中,获得对应于点标MRKR的等倾手柄和/或带切线的第一个(下一个)修改版本,并将其赋予ISO。接着,在步骤1508中,重新生成包含已修改等倾手柄和/或带切线的ISO的所有等倾带,以反映用户要求的最近修改。注意,这是使用公式(1)的一维版本执行的,并且沿着在MRKR与包含MRKR的每条等倾带上的邻近点标之间的范围,修改每个这样的等倾带。
接着,在步骤1512中,在MOD_SET中的第一个(下一个)边界表示被赋予变量B。接着,在步骤1516中,对应于包含在B中(轮廓)边界线段的等倾带被赋予变量R。注意,R包括至少一个包含点标MRKR的等倾带。
在步骤1520中,生成由R的等倾带轮廓所限定的混合曲面。在此步骤中使用的公式类似于公式(4)。但是,在该公式中提供另外的函数Qi(p)。注意,一般地,在本步骤生成曲面S(p)中使用的参数空间部分可能具有二、三、四、五或多条边(轮廓原像),这些边也具有等倾带原像。因此,关于R的每条等倾带Ri平移函数Qi(p),其中对于在内部参数空间I中的点p,到轮廓Pi对应R的等倾带Ri的原像,需要把这些点p平移到在对应Ri的参数空间中的点,以便确定等倾带Ri的在对象空间的对应点,和在本步骤的混合函数中使用该对应点。注意,平移函数Qi(p)最好满足至少下列约束:
(a)Qi(p)是关于连续曲面的连续函数。 即,当在I中的点序列收敛于轮廓点Pi(u)的原像时,Qi(p)收敛于等倾带参数空间点(u,0)。
接着,在步骤1524中,显示曲面S(p),并在步骤1528中,确定在MOD_SET中是否有更多的边界表示用于生成另外的混合曲面S(p)。如果是,则再执行步骤1512。另外,如果没有更多的边界表示,则在步骤1532中,确定是否有更多的与MRKR相关的等倾手柄和/或带切线的用户修改。如果有,则至少再执行步骤1504至1528。注意,图30的步骤能被充分有效地执行,以便当用户连续地修改这些等倾手柄和/或带切线时,能够显示在对应于用户所指定的MRKR的等倾手柄和/或带切线中的递增实时变化。
4.几何设计用户界面
下文描述的一般原则形成了计算机辅助几何设计的新颖用户界面的基础。
在对应本发明的一个用户界面实施例中,提供一种用于定义等倾的用户界面。本领域的技术人员将应理解,使用该界面,设计者可以例如要求等倾沿整个轮廓曲线垂直于给定的光线方向以创建一条反射线。更一般地,该新颖用户界面可供各种要输入的用于生成等倾带、等倾手柄和/或带切线的约束之用。具体地说,如本领域的技术人员原意,该用户界面可供比如光线方向、曲率、切线、水平轮廓、带一个平面的二面角函数等球状约束之用。
在该用户界面的一个实施例中,用户将从给定的几何对象例如圆柱体开始。接着用户通过在圆柱体上各点处放置点标,在圆柱体上内接一个轮廓。通过采用来自该圆柱体的斜率信息,该轮廓切线和/或等倾手柄可以缺省设置。例如,在每个点标处,轮廓切线是在该点标处正切于该圆柱体的平面内。接着该用户可以选择和修改该点标,增加更多的点标,和/或修改等倾手柄和/或带切线的位置和方向。当相应地修改该等倾带时,该圆柱体(更一般地,几何对象)将反映在修改的等倾带中的变化。可以以这种方式增加更多的轮廓和点标,直到获得该几何对象的(从圆柱体导出的)所需要的形状。在图31的流程图中图解说明了这些步骤的一个例子。即,在步骤1904中,用户选择一个图形化显示的曲面(更一般地,几何对象)。接着,在步骤1908中,用户在该所选曲面(对象)上构建一条轮廓曲线。
接着,在步骤1912中,为该轮廓生成等倾带(或至少等倾边界)。注意,如果需要,这条带/边界实际上可以在不需要另外的用户输入的情况下生成。即,从该轮廓所驻留的曲面的切线特征中可以生成等倾带/边界。具体地说,对于参数曲面(更一般地,几何对象),可以利用在轮廓上的点的、在该曲面上的参数切线去生成对应该轮廓的等倾带/边界。因此,可使用该轮廓曲线一边上的曲面邻域去确定对应具有该轮廓的第一曲面的第一等倾带/边界,并且如果该轮廓是在第一曲面和第二曲面之间的接缝上,则可以使用在该轮廓另一边上的曲面邻域去确定第二等倾带/边界。
另外注意,其它曲面特征可以保留在等倾带/边界中。例如,除了保留在轮廓曲线点处的参数切线以外,该等倾带/边界还可以可选地保留曲面特征诸如曲率、对该曲面的高阶(≥2)导数连续。然而要注意,在该等倾带/边界中可以保留的更多曲面特征也在本发明的范围之内。
在步骤1916中,可以使用所生成的等倾带/边界,参照图29和30流程图的程序,去修改具有上文所讨论的轮廓曲线的曲面。
在该用户界面的一些实施例中,提供给设计者一种操作,其中可选择在两个对象空间曲面之间的共有边界,并且该操作自动地以比切平面连续性更高阶的连续性标准(例如,曲率连续),迫使该曲面去结合。例如,可以使用施加在等倾带(该等倾带是从共有边界上该曲面之一导出的)上的较高阶连续性的约束,去类似地约束对应具有该共有边界的其它曲面的等倾带。相应地,此操作有助于减轻所谓“Mach band(马赫带)”效应,在此效应中,在一些例子中人眼能检测到曲率上的不连续。
由本发明提供的其它用户界面操作是:
(a)圆化(Rounderizing/),它是一种拧操作,该操作修改现存曲面去圆
化尖锐的边或去创建消除尖边的刺(dart)(即,除了在单个点上该
曲面扭曲以外都光滑的曲面)。通过在尖边的对立边上的曲面上定
位轮廓曲线,和如在2.3.5节中所述在轮廓之间平滑地混合(例如,
使用公式(1)),利用本发明可以执行这样的操作。
(b)嵌入(Embedding),它是一种迭代用户界面程序,该程序能够取一
个已完成的模型,缩放它,旋转或者另外变形它以符合另一个模型
的组件。4.1.经由点标、轮廓和用户界面定义等倾
显式轮廓是那些表达设计者意图的轮廓曲线。显式轮廓可以是无约束的(自由形成)或部分约束的(剪裁)。隐轮廓可以是由例如曲面不连续(即,在圆柱体的端曲面和它的圆柱边之间所定义的弯曲或曲线)而造成的曲面拼片之间的可见边界。
当用户引入例如曲面不连续时,自动创建隐轮廓被。
4.1.1 创建点标
轮廓点标和手柄由下列方法创建:
A.在新的显式轮廓和隐轮廓端点处自动创建点标。
B.在显式轮廓上由设计者插入(例如,通过在一点上双击)。对于该设
计者而言,他/她正在该轮廓上插入一点。该新放置的点标仅最低限
度地或不是全部地改变在包含该新点标的轮廓线段上的轮廓的形
状。接着,根据在该新点标处所相连的轮廓和曲面的形状,确定轮
廓和等倾手柄。
一个点标可以等同于多个在同一轮廓(例如,环路并自我连接的轮廓)上的相符点。这种该点标与多个轮廓点的等同不可能被打破,除非删除该点标。在两个或多个轮廓交汇于具有一个轮廓点标的共有点的情况下,这样的轮廓每个在共有点都具有一个点标,并且该点标被约束以保持相符,因而移动一个点标,两个都将移动。
由设计者插入的轮廓点标可以被插入用于提供轮廓手柄点,或用于设置特定的等倾值。注意,轮廓手柄点可以有一个关于它的等倾手柄的约束集合;即,等倾手柄可以继承通过最近两个邻近等倾手柄的插值的值。
4.1.2 观察点标和轮廓
轮廓和等倾带可以有各种约束放置其上,其中根据放置在其上的约束,这些手柄可以被不同地显示。具体地说,下列约束可以被放置在这些手柄上:
(a)约束手柄到特定范围的方向;
(b)约束手柄到特定范围的模;
(c)约束手柄与其它手柄在一个平面;
(d)约束手柄到特定范围的曲率;
(e)用另一个手柄的平移来约束手柄,即等同旋转和/或平移。该设计者通过对几何对象特性的显示请求,可以选择显示这些约束。在一个实施例中,对于不同类型的受约束轮廓点标,可以显示不同的颜色。例如,具有不可变性(在这里也表示为“全约束的”)的手柄可以用蓝色显示。在该用户界面的一些实施例中,那些受到约束的矢量是“灰暗的(grayedout)”,因此向的设计者表明这些矢量不能被改变。例如,在一个实施例中,全约束的手柄一般地是灰暗的。
4.1.3 轮廓连接
在该用户界面的一个实施例中,它支持把相交于相同位置X,Y,Z的两个或多个轮廓连接在一起。当在每个轮廓上的点的参数化在该轮廓修改时是标量不变量(invariant)时,这样的相交点表示为“汇接点(tie point)”。注意,这样的汇接点也许或也许不具有相关的点标。当修改这样的点标时,所有在该汇接点处与之相关的对应轮廓曲线点被作为一个组来修改。这样的汇接点也许是轮廓的端点或内(即,“节(knot)”点。
或者,第一轮廓的轮廓点标可以被约束在位于第二轮廓(或是显性的,或是隐性的)对象空间范围内。例如,参见图42A和图42B,该用户界面可以提供用户以沿着第二轮廓2004滑动轮廓点标2002(包含于第一轮廓2003和第二轮廓2004中)的能力,用于当点标2002沿着该轮廓在方向箭头2006的方向上滑动时,因此改变图42A的轮廓2004到图42B的轮廓2004。这样的可滑动点标2002表示为“滑点(slide point)”。
轮廓相交处或者是“滑点”,或者是“汇接点”。而且,这些不同类型的点可以通过不同的颜色和/或形状互相在图形上区别开来。注意,如果一个轮廓沿着另一个轮廓滑动,并且对应于该滑动轮廓的等倾带被用于计算混合曲面S,则S将被重新计算。
4.1.4 创建点标和轮廓
该用户界面可以支持以各种方法创建轮廓曲线:
A.在该曲面上以类似于图28的数据驱动技术草绘该轮廓,其中提供更多的点标用于在预定精度内将该轮廓系在该曲面上。另外,在第二个实施例中,该用户界面支持下列步骤以成功地创建轮廓。
(A1)在该曲面上指定点标点。通过在参数空间的该点生成拟合曲线,并且接着计算这个拟合曲线以获得在对象空间对应的映像曲线。
(A2)对于该新轮廓相交的每个曲面,用户可以为轮廓相交于该曲面的部分指定轮廓类型(自由形成或剪裁)。在曲面上草绘的轮廓或者剪裁该曲面的一边、或者将曲面分裂成两个新曲面。相应地,注意,进入曲面内部的任何(非退化)轮廓一定在入点和出点处相交于该曲面边界。即,沿着共有轮廓边界的两个曲面总是连接到该曲面上,其中,根据该轮廓,这些曲面可以区别表征如下:(a)一个曲面是剪裁曲面和一个是非剪裁曲面(也表示为“自由形成曲面”,或(b)两个自由形成曲面。
B.拷贝轮廓:设计者选择要拷贝的轮廓。该轮廓被拷贝到缓冲器(表示为剪贴板)。该用户接着选择拷贝模式(例如,保持轮廓手柄,或使轮廓手柄适配到该轮廓要被拷贝的几何体上)。该用户选择在何处定位新的轮廓(它可以被更多地缩放、旋转、和/或镜象等)。该用户为该新轮廓选择位置。注意,该新轮廓可能被初始轮廓上的约束所约束。例如,该新轮廓可以被关于离开现存轮廓的一个平面所镜象,因此对该初始轮廓的任何改变将导致该拷贝的改变。当创建新轮廓时,在该新轮廓的两个端点处自动生成轮廓点标。轮廓手柄和等倾(带切线)手柄从该新轮廓分裂的该曲面的几何特性中导出。
4.1.5 修改点标和轮廓
点标和/或(轮廓、等倾)手柄的修改取决于放置在该点标和/或手柄上的约束。它们可以下列方式之一来约束:
A.通过在特定点标m处选择手柄和移动手柄端点来交互式地进行修
改,以便将其约束于一个垂直平面(normal plane)内,即或是一个
关于具有包含m的轮廓的曲面的垂直平面;或是一个由在m处的轮
廓的等倾和轮廓手柄所定义的平面。用户也可利用弹出式属性清单
去键入用于修改所选轮廓和/或等倾手柄的模和角度的特定数字值。
B.对于受约束以使它们的原像位于一个轮廓的原像内的点标,经由例
如通过拖动这样的点标点交互修改,该点标将可以沿着这样的父系
轮廓滑动。注意,为了定位非约束点标,沿着这样的点标所驻留的
父系轮廓,可以自由地移动(即,位于用户的方向上,并且没有其
它限制)该点标。另外注意,用户能够通过在每个上点击、或通过
选择指定区域内(例如封闭矩形)的所有点标去选择多个轮廓点标
点。相应地,该用户能够移动显示定位装置(例如,鼠标),接着引
起全部所选点标在对应于该显示定位装置的移动方向上整体地移
动。但是,该点标的移动取决于在这些点标上设置的约束。例如,
受约束点标将只能在施加于它的限制内移动。因此,如果第一所选
点标只在第一轮廓内移动,并且第二所选点标只在不同的、正交于
第一轮廓的第二轮廓内移动,则取决于所需要的移动方向,下列之
一发生:(i)第一点标能够移动,但第二点标不能移动;(ii)第二点标能够移动,但第一点标不能移动;(iii)第一点标和第二点标都能够移动;(iv)没有点标能够移动。
C.点标和手柄约束可以缺省设定,而不是由用户明确给定的。弹出式
属性显示形式允许用户去设定或去掉特定约束。
D.取决于其它几何体的特性,可以在轮廓和/或等倾手柄上设定更多的
约束。例如,轮廓和等倾手柄可以被约束成垂直于或平行于所选参
考平面。注意,轮廓和点标的位置也可以被约束成取决于其它几何
体的特性。例如,可以约束点标位于分歧(parting)平面上。即,
用于设计瓶子的前/后对称平面。这些约束的另一个例子是用于生成
对称设计,即相对接合平面反射的轮廓点标拷贝将被约束成对称于
该父系轮廓点标。
E.邻近轮廓的曲面可能要满足C0、C1、C2之一的连续性,其中C0
是位置的,C1是切线,和C2迫使平滑曲面混合。能被设定在点标
上的约束是通过维持等长正切矢量内部点标去迫使围绕该点标的曲
面C1连续。
冻结(Freeze)(消除修改的可能)在点标处的轮廓和等倾手柄将引起包含该点标的轮廓线段基于下两个最近的点标的轮廓手柄重建,该两个最近的点标有效地改变这个点标的手柄以反映通过在各边的两个点标建立的曲线。
对于大多数部分,修改轮廓与用于修改控制轮廓形状的轮廓点标位置和手柄的用户界面技术有关。下列是这样的用户界面技术的例子。
A.直接方法:直接在对象空间(3D)模型上修改轮廓。这些可通过修改组成轮廓的轮廓点标和手柄来完成。
如果设计者修改一个剪裁轮廓,则该轮廓总是位于正在剪裁的曲面的参数空间内。即,需要在该剪裁轮廓的初始的、内嵌过度构造曲面范围中修改该剪裁轮廓。选择一个剪裁轮廓(或它的分量之一)去修改将引起该过度构造的几何体被加亮(highlight)。当用户正在修改该剪裁轮廓时,它将保持加亮。
设计者可以选择使用直接方法打开轮廓和修改它们。例如修改定义过度构造曲面的轮廓将引起该过度构造曲面被更新。由于剪裁该过度构造曲面的轮廓被约束为位于该曲面的参数空间内,该剪裁轮廓也被重新计算。
B.设计带方法:这个方法用于修改轮廓的特定区域。例如,它通过在一种视图中修改在另一种视图中看是复杂的轮廓,允许用户简化设计者的交互。该设计者确认两个点标位于同一个平面上。在该轮廓的至少一个图形视图中,该两个点标之间的线段被挤压,因此创建了一个设计带(不要与等倾带混淆)。该设计带是个简单的挤压曲面(即,沿着给定方向扫描以生成曲面的曲线;例如,对于在轮廓端点处的点标,经由它们对应的等倾手柄,通过例如公式(2)的较低维度版本,偏移对应的轮廓手柄,以获得边界手柄和插值等倾边界;具有包括该轮廓、该等倾手柄、和该等倾边界的周长的曲面定义该新的挤压曲面)。在该两个点标之间被确认的三维轮廓线段总是位于这个设计带的原像内。用户以下列两个方法之一修改该轮廓。
(B1)从设计带被挤压处、和在该带的端处被列举处修改二维驱动曲线,其中,缺省地,这条曲线是定义该设计带的三维轮廓线段的二维表示。该用户可以通过选择该二维点的子集来“简化”该驱动曲线。在该驱动曲线上的操作包括在
轮廓点标一节列出的任何操作(点/斜率修改、插入、删除等)。
(B2)在该设计带内修改二维轮廓点。用户在垂直于主视图的视图中直接修改该二维轮廓。该该二维点总是位于该带的参数空间内。操作包括在
轮廓 点标一节列出的任何操作(点/斜率修改、插入、删除等)。每个平面的每个轮廓线段只可以存在一个设计带。设计带可以被创建、修改和删除。一旦它们被创建,它们将是持续的,即它们保持未修改直到设计者在后面的点上及时修改同一线段为止。仅在设计者正在修改设计带时才显示设计带。单个轮廓可能有多个对应于包含该轮廓的多个曲面的带。
注意,使用直接方法修改轮廓会删除任何跨越正被修改点的设计带。这使该带无效并且要求设计者重新指定该带。
C.移动轮廓:设计者选择和一致地移动两个或多个轮廓。即,此用户界面命令会选择在轮廓(或及其线段)上的所有轮廓点标并把它们作为一个单元一起移动。
D.合并轮廓:设计者可以草绘一个新轮廓并将其连接到一个现存轮廓,以使每个轮廓的端点重合。另外,该设计者可指定哪一个线段或现存轮廓的线段要删除。接着,该新轮廓和具有重合端点的现存轮廓的与新轮廓连接的保留部分被合并。注意,合并轮廓引起对应两个重合端点中的每个端点的各自轮廓手柄、等倾手柄和带切线的集合被被合并成单一的这样的集合。
E.分裂轮廓:在单一点p处把一个轮廓分裂成两个。该两个新轮廓中的每一个轮廓的一个端点被约束在点p处重合。
4.1.6 删除点标和轮廓
除了在轮廓的端点处以外,删除轮廓点标总是可能的。但是,在本发明的一些实施例中,如果需要维持平滑拼接,可能需要用具有约束的点标取代一个点标。注意,新的受约束取代点标也许是或也许不是与该前述点标在同一个位置上。
如果整个轮廓被删除,则该用户界面既加亮任何相关几何对象也请求用户在删除该轮廓和该相关几何对象之前予以确认。相应地,注意,本发明根据在模型中几何对象之间的相关性,保留充分的相关信息,因此,对于用于导出其它对象的对象的修改,在这些其它对象上可自动地执行合适的更多修改。
4.1.7轮廓点标和手柄
注意,对于一个轮廓点标,一般有两个轮廓手柄、两个等倾手柄和两条带切线,即在以该轮廓作为边界曲线的每个曲面上,每个曲面有一个轮廓手柄、一个等倾手柄和一条带切线。但是,在几个曲面的汇聚处可能有更多的与轮廓相关的手柄,如果该轮廓在曲面的边缘,手柄就较少。
4.2 等倾和用户界面
等倾手柄的斜率控制曲面在点标处和在包含该点标的轮廓的周围部分的切线。等倾手柄的模控制该相关曲面的满度。即,该曲面鼓起多少。等倾手柄也可以被约束为从另一个等倾手柄偏移(即,离开另一边-10度)。(通过在该轮廓上插入点标)可以计算沿轮廓的任意点的等倾手柄。
4.2.1 创建等倾手柄
该用户界面支持约束互相关连的等倾手柄。能够迫使这样的手柄总是等模切线,或有一定量的偏移。在本发明的一个实施例中,该用户界面提供弹出式菜单来显示和改变等倾手柄约束值,比如长度和方向。
4.2.2 修改等倾手柄
如果用户沿着轮廓滑动轮廓点标,该用户可以为该点标方案等倾手柄,因此引起邻近(或相关于)该轮廓的曲面变化,或使该等倾手柄在该轮廓上最近的两个等倾手柄之间插值(这种情况暗示该相关曲面不受影响)。
4.2.3 删除等倾手柄
该用户界面支持删除等倾手柄。当删除等倾时实施下列步骤。
4.3 特殊几何对象和用户界面
本发明提供用于创建和操纵的大量特定几何对象类型,这可以实质地有利于设计诸如容器的对象。
4.3.1 标签曲面
标签曲面是受剪裁曲面的特殊情况。标签曲面的特殊情况方面是:
(i)有一个从上到下遍及标签的“防水”轮廓;
(ii)有标签曲线,在标签曲线之间该相关标签曲面被分割(例如,图11
的标签曲线132)。
(iii)有边界(剪裁)轮廓(例如,图11的剪裁轮廓138)。
使标签曲面区别于其它受剪裁曲面的关键不同是:该初始曲面(从此处该标签曲面被剪裁)是个分割曲面。具体地说,该标签曲面定义曲线被约束以使被分割曲面保持在这些定义曲线的边界内。注意,其它曲面可以被混合到用于标签的剪裁轮廓,但是,仅能以某种方式修改该剪裁轮廓,该方式要保证它限定为直纹曲面。
在本发明的一个实施例中,生成了该标签曲面的二维“展开”表示。也就是,通过将它展平,该曲面能与该平面以一对一的方式关联。这样的表示模拟了标签曲面,在这里设计者能够创建一个图形(artwork),该图形接着能包含在容器上。
4.3.1.1 创建标签曲面
要创建标签曲面,要被剪裁的过度构造曲面必须是直纹的、大体可展开曲面,即直纹曲面,在其中,在任何母线上的所有曲面垂线是平行的。接着,用户就跟随该垂直剪裁曲面的步骤,即,在直纹曲面上草绘一个轮廓,在该轮廓的两边生成(子)曲面(即,标签曲面和该曲面要被剪裁掉的部分),剪裁标签曲面并混合其它曲面到该剪裁轮廓。
注意,该被剪裁掉的曲面部分在正视图中被隐藏(即,不再是可见模型的一部分)。
可以提供下列程序用于生成标签曲面。高级地,该程序的步骤是:
(i)确保该曲面是直纹的。即,该用户界面支持用户所选轮廓的自动
修改以使这些轮廓满足4.3.1(i)和(ii)。具体地说,要完成该步骤,就执行下
列子步骤:
(ii)用户在定义标签范围的曲面上草绘边界轮廓;
(iii)构建标签的图形表示(即,在其上具有文字、图形、和/或设计的直
纹曲面)
(iv)允许用户图形地施加该标签表示到该标签曲面(或及其表示)。具体
说,用于施加该标签表示的用户界面可以经由组合类型操作(grouping
type of operation),自动地连接该标签表示到该标签,以使该标签表示在
例如标签曲面旋转、平移、缩放等操作期间,在该标签曲面上保持它的
位置。
4.3.1.2 修改标签曲面
标签曲面分量的修改比受剪裁曲面的修改有所不同。防水轮廓的直线段部分被约束为保持直线。不能修改该防水轮廓的相反边界(父系直纹曲面的其它边)。它仅是上下边界之间的直线段。不能修改上下边界。上下边界被约束因而不能在其上插入更多的自由轮廓点标。在端处远离该防水轮廓的轮廓点标也被约束仅能移动以维持直纹曲面。只要它维持直纹曲面,就能够扩展它(沿相同曲率外推),并且在其端点处可以调节它的角度。
4.3.1.3 删除标签曲面
删除标签曲面来去掉在创建该标签曲面中使用的所有轮廓上的约束。另外,所有用户不可见的、用于标签曲面的构建几何体也将被删除。用于维持直纹曲面的约束也将被删除。因此,保留下的几何对象就脱离了该标签曲面约束,并可用以前不可用的方式修改。
4.4.洞工具用户界面
本发明也可以提供给用户一种新颖计算方法,帮助用户在几何模型上增加一个洞(hole)(比如,在无把瓶子上增加用于抓握的手柄)。使用该程序模型增加洞所要求的信息包括:在前曲面上的一圈轮廓线段,在对立后曲面上的一圈轮廓线段,在一圈轮廓中的每个轮廓的类型(自由形成或剪裁),以及成形洞内部的可选轮廓。
4.4.1.创建洞
洞创建工具指导用户经过一系列步骤去增加一个洞。图22A-22C图解使用本发明在几何对象604上创建洞600(图22C)的程序。创建洞600所执行的相应步骤如下:
(a)在前曲面612上草绘轮廓圈608;
(b)在后曲面上草绘轮廓圈616(可选地投影轮廓608到该后曲面)。
注意,轮廓608和616上都自动地放置了等倾手柄。
(c)如果对应轮廓圈608和616的一个或多个该轮廓是自由形成轮廓,则
用户可以增加新轮廓(以完成这样的轮廓圈),和/或对应这样的圈合
并轮廓,因此这些轮廓被约束为它们好像是被作为单个轮廓利用。相
应地,一旦构造了该轮廓圈,则在两个圈之间的曲面被覆盖(skin),
以因此替换占据该洞的初始曲面。
如果剪裁轮廓圈被指定,则在该轮廓圈内的曲面区域被剪裁。如果被指定,该洞创建程序使用更多的轮廓在对应该洞的内部边界上去定位和成形曲面。否则,在前后轮廓圈之间的曲面被自动覆盖。
4.4.2.修改洞
修改洞是与修改组成该洞的几何体的轮廓点标和手柄有关。
4.4.3.删除洞
删除洞也是与删除组成该洞的几何体的分量有关;即,轮廓和对应该洞的其它几何体。
4.5.经由用户界面的平滑考虑
我们考虑两个邻近曲面(它在轮廓处交汇)过渡的次序。但是,本节包括对应第2节一般原理的一些更广泛的本质。
4.5.1.经由用户界面的连续轮廓
给定两条相交轮廓曲线,如果下列几个条件满足,则可确保跨相交点可微连续:
(a)一个轮廓的端点与另一个轮廓的端点重合(位置连续);
(b)用于生成该轮廓的混合函数Bi(如图26和27)在交汇点标处相等;
以及
(c)在交汇点标处的轮廓手柄是共线的和等长的。
切线方向连续是一个弱条件,如果改变上述条件(c)如下,则它可被满足:
这些改变如下:
(c*)在交汇点标处的轮廓手柄仅是共线的。在此情况下各轮廓手柄的模可
能不同。
通过在相交点标处打断两个轮廓手柄的共线性,设计者可以有意地在点标处制造弯曲。这意味着该两个轮廓手柄没有共同的方向。
4.5.2.连续曲面
在两个曲面之间切平面连续的概念(notion)可以被定义如下:对于两个曲面S1和S2之间的边界上的每一个点p,在点p处的S1的切平面T1(p)等同于在点p处的S2的切平面T2(p)。为了获得两个曲面之间跨越轮廓边界之间的正切连续,需要在该轮廓边界上每个点标处的(对于每个曲面)等倾手柄互相位于一个共有平面上,并且在该点标处轮廓手柄(也位于一个共有平面上)。如果这些每完成,则在该曲面沿该轮廓上创建一个弯曲(kink)。
注意,当要生成两个或多个曲面拼片时,其中这些拼片必须被约束汇合于共有点标点p处,本发明可以自动地生成等倾手柄,表示为“共有等倾手柄”。即,对于每个在定义一个或多个曲面中使用的轮廓P(含有p),可以有一个对应的自动被生成的共有方向手柄,它是从p定向的矢量V,其中V垂直于轮廓P的轮廓手柄,此轮廓位于由轮廓手柄形成的共有平面中,该轮廓手柄对应于也具有该点p的其它轮廓。还要注意,该用户界面支持允许用户或者显示或者不显示共有方向手柄。
注意,对于在共有点标处邻接的轮廓,不需要有匹配的轮廓手柄和等倾手柄,仅当它们全部都在一个共有平面时,(才需要有上述手柄)。在图18中,有对应曲面416和418的三条轮廓曲线404、408和412。三条轮廓曲线的每一条交汇在轮廓点标420处,并且每个轮廓具有相应的等倾带424(对应轮廓404)、428(对应轮廓408)、和432(对应轮廓412)。另外,与轮廓404、408和412以及点标420相关的轮廓和等倾手柄是:
(i)对应轮廓404的轮廓手柄436和等倾手柄440;
(ii)对应轮廓408的轮廓手柄444和等倾手柄448;
(iii)对应轮廓412的轮廓手柄452和等倾手柄456。因此,如果轮廓和等倾手柄436、440、444、448、452和456都位于平面460(由虚线的矩形表示)内,则曲面416和418在点标420处平滑地接合。
在任何点标处,两条等倾带可能以一种两个轮廓可以交汇的方式交汇,即,两条等倾带可以具有共有等倾手柄作为对应每条带的一条边。
为了在由复合轮廓接合的两个不同(混合的)曲面区域S1和S2(图43)之间获得切平面连续,,不仅需要跨越轮廓P1和P2的正切连续,而且也需要在相邻带R1和R2之间正切连续。即对于轮廓P1(在点标2010和2014之间)和轮廓P2(在点标2014和2018之间),各自的带R1和R2,当被看作曲面时,必须切平面连续,标签共享一个共有等倾手柄2022。注意,在多数情况下,两个带之间的正切连续等价于两个轮廓之间的正切连续和两个带边界之间的正切连续,这些都是跨越曲面拼接边界平滑过渡所要求的。而且,本发明的用户界面提供技术以确保在两条带边界之间切平面连续,其中这些技术实质上等同于那些用于确保两个轮廓之间切平面连续的技术。因此,本发明能够提供在两个根据本发明从等倾带生成的相邻曲面之间的切平面连续。
在一些情况中,可能有意地打断复合带的连续性,因此引起跨越从带生成的曲面起皱,其中该褶皱不对应沿该褶皱的重合轮廓。但是,在本发明的一些实施例中,可以创建与该褶皱相符的“隐式轮廓”。
4.5.3.曲率连续
曲面的视觉质量不仅取决于切平面连续,而且取决于高阶导数。用户能够敏锐地感知曲面曲率的不连续变化,尤其当如果该曲面用镜面高亮度(specularhighlight)或反射式纹理映射(reflected texture mapping)表现时,而这些在模仿真实场景中是平常的。该用户可以觉察一种称为“马赫带”的转移视觉人造物。相应地,对曲率连续的过渡,提高过渡之间连续的阶数可改善这些。
分析显示,由公式(1)或公式(4)定义的曲面曲率取决于Bi和Si的二次导数。Bi的相关性是并非不重要的,并且有利于选择混合函数,以使它们的二次导数为零,并且让该曲面函数Si确定曲率。2.1节的余弦平方函数满足这个条件。也存在满足的某些五次多项式。例如公式(3.1)中的多项式B1(x)。
如果从公式(1)或公式(4)中生成的混合曲面的曲率仅取决于Si(例如,Bi″=0),则可能以类似于前述小节中获得正切连续的方法,提高在封闭曲面拼片Si之间的曲率阶数。为做到这些,仅定义相应的轮廓和等倾手柄,这样它们沿轮廓边界在每个点标处的二次导数一致。但是,注意,每个轮廓手柄可以被看作一个参数的线性函数,并且因此二次导数为零。因此,获得曲率连续;即通过使跨越该轮廓的曲率“平滑”,即零。这些对于轮廓上的拐点的点有用,但在其它地方则不需要。为了调整这个情形,该线性手柄可能被曲线肋(curved libs),比如抛物线弧取代。相应地,该手柄现在变成弧,并且在点标处该曲率被调整成与给定弧的曲率一致。
通过扩展对所有手柄(例如,轮廓、等倾和边界手柄)提供非零曲率的概念,以及混合函数的二次导数为零,能够减轻马赫带效应。
4.5.4.使用旋转(roll)、偏移(yaw)和模(magnitude)表达的GI连续
本发明也提供一种用户界面方法,以指定相关于对应轮廓曲线的手柄矢量(例如,等倾手柄),其中被该轮廓接合在一起的两个曲面之间GI连续(在上文定义中所定义的)被确保。在此表示为旋转-偏移(roll-yaw)方法的这个方法,根据表示为旋转、偏移和模的三个标量术语指定矢量V。其中,使用在点P处的正切矢量、以及在点P处垂直于曲线的矢量N,在曲线上确定在点P处的旋转和偏移。矢量V的偏移分量表示在P点处离开T的角度偏移。例如,如果矢量V在方向上垂直于T,偏移值(在至少一个框架中)是0°,并且如果在P点处的矢量V与T在同一个方向上,则该偏移值是90°。关于矢量V的旋转分量,这个标量表示以T为旋转轴的角度旋转量,并且其中用于测量角度的基线轴是在P点处的矢量N。相应地,矢量N表示0°旋转以及使用右手定则旋转范围扩大从-180°至180°,作为本领域的技术人员将应理解。关于矢量V的模分量,它仅是矢量V的长度。注意,对于给定的T和N,利用三维笛卡儿(Cartesian)坐标表示的任何矢量能够被一一对应地变换为旋转、偏移、模概念。
注意,矢量N可以从在垂直于T的平面中的矢量中选择。但是,它不精确地定义N。因此,可用几种方法去定义N。第一个用于定义N的方法仅是选择常数矢量VC,并接着通过随后的表示:N=T×VC来确定N。但是,当T和VC共线时,这个方法产生对应N的非定义值。为了提供对应N的值,这里该等式产生零矢量,N能够在该共线性的拓扑邻域内逼近。另外,在生成N的第二个方法中,如本领域技术人员将应理解的,可以选择Frenet-Serrat框架(frame)的基础曲线。但是,Frenet-Serrat框架沿曲线在拐点可以是不连续的。相应地,本发明提供一种方法,用于创建对应复杂(即,三维)曲线的最小旋转参考框架以消除在定义矢量N中的问题,而不考虑该曲线及其正切矢量T的方位和形状。
如前述提到的旋转-偏移方法提供一种新颖方法去获得跨越一个轮廓的GI连续。例如,考虑图44所示的几何体,其中显示了附带左右等倾带LR和RR的轮廓P。左右等倾带LR和RR的每一个在端点处具有两个对应的等倾手柄,即HL1和HL2对应LR,以及HR1和HR2对应RR。假定轮廓P的端点具有表示为HP1和HP2的手柄,对于任何在该轮廓上的点pp,则通过插值等倾值IL和IR,确定跨越对应因此包围的曲面的轮廓的连续性。还有,IR是从HR1和HR2插值(根据本发明的技术)来的,以及IL是从HL1和HL2插值来的。因此,本领域技术人员将应理解,对于跨越轮廓P的GI连续,IL和IR必须至少在相反(共线)方向上。另外,本领域技术人员应该理解,如果IL和IR是在对应IL的HL1和HL2、以及对应IR的HR1和HR2之间使用立体厄米特(Hermite)插值形成的,那么对应GI连续的条件是:HL1和HR1必须是大小相等且方向相反的矢量。另外,对HL2和HR2也必须同样成立。但是,如果不在笛卡儿空间插值等倾值IL和IR,而在(旋转、偏移、模)空间执行插值,则可能以较不严格的条件获得GI连续,即,HL1和HL2的旋转值必须相等。相应地,这也可以等价地表述为HL1、HR1以及HP1必须仅仅是共面的,以保证在轮廓P上各处GI连续。另外注意,如果等倾手柄是曲线的而不是直的,也可以施加类似条件。具体地说,在它们的共有点处对等倾手柄的正切矢量和轮廓P可以被用于图44中任何对应等倾手柄矢量的地方。因此,本领域技术人员应该原意,如果需要,提供具体化“旋转-偏移”方法的计算步骤,用于把笛卡儿矢量转换为“旋转、偏移、模”矢量,并接着确保满足上述共面约束,以确保该曲面跨越轮廓P是GI连续的。
4.6.在模型中嵌入模型
本发明允许曲面被要设计的轮廓包围的部分互相分离。例如,曲面的三角部分可以被设计成自由直立曲面模型。即,设计者可以按需要增加轮廓和等倾带,直到获得满意的模型设计(如本领域技术人员应该理解的,使用重心映射)。其后这个对象可以被变形、旋转并安放在另一个模型的三角部分。因此,精细的模型可以不设计和嵌入另一个模型。通过保持链接该程序可被用于细节管理的层次。即,当从以某一距离处看该模型,不需要显示细节,而当观者靠近时,嵌入的对象被链接用于它所能提供的更多细节。在随后的下个子节里是嵌入类型的两个例子。
4.6.1.圆化技术
参见图20,小的混合曲面圆化两个相交曲面484和486之间的边482。该混合曲面480从薄曲面带488和490混合而成,曲面带488和490的原像在参数空间中与边482的原像有“小”的偏移。该程序是公式(1)的直接应用,这里两个曲面484和486被使用它们的共有参数空间(未示出)混合。
该新曲面类型导致新的计算程序,该程序在所描述的特定情况中尤其有效。
5.计算
认识到其它形式是从这个基本形式导出的,我们将首先考虑二边混合的计算。因为其重要性,我们将回顾公式(1),它是:
S(u,v)=S1(u,v)B1(u,v)+S2(u,v)B2(u,v) (1)在计算时,混合函数Bi和等倾带Si都确定曲面S。该混合函数被当作参数空间中距离的单变量函数计算。如第2节所讨论的,距离函数的计算根据在参数空间中原像的复杂程度而变化很大。一旦被确定,实际混合值能够通过简单的表查询来计算,即,混合函数被充分高精度地表列化并存储于存储器中,在存储器中,它们可被输入变量索引。研究一下公式(3.1)中的Bi(x)。计算该函数在x=0,.01,.02,...,.99和1时的值。这1001个值作为阵列被存储。当给定点X,它用于找出在阵列(例如,.52和.53之间)中最近的点。接着,B(.52)和B(.53)被作为该函数值。
根据距离和等倾带函数是什么,有许多技术可以应用。本发明关注于这样一种方法:即假定模型计算简单,但设计仍然相当方便。在图21中将给出等倾带508(S1)和516(S2)。它们都被以从0到1的参数u和v参数化。本领域技术人员应该理解,对于沿轮廓线504的每个v的固定值,如果在等倾带508上的对应尖桩是条直线段(例如,线段512),则该等倾带是直纹曲面。相应地,参数u提供沿建立点p的母线的有距离特征的量度。假定等倾带508和516每个都是直纹曲面。进一步假定轮廓504和506每个在参数空间中的原像是该轮廓自己,并且有距离特征的量度是在该等倾的v0母线上的点(u,v0)的参数u值。因为等倾带508和516是直纹曲面,对于常量参数v0,通过仅对前一个值增加适当的偏移矢量,我们可以沿线段512和520搜索到等距离的一组点。该初始值是Si(0,v0)。该偏移矢量由下式获得:
T0=[S1(1,v0)-Si(0,v0)]/n (10)这里n是在母线上从一条等倾带(原像)边扫描到相对的另一条边所需点的数量。
如果我们加入限制:该混合函数是单位分解,即B1=1-B2,这是设计透视图所需的,则公式(1)产生:
S(u,v)=[S1(u,v)-S2(u,v)]B1(u,v)+S2(u,v) (11)
在一个实施例中,这个形式以及前述简化,显而易见每个点要求三个矢量加法(对应S1、S2和“+”),一个表查询(对应B1(u,v))和一个标量乘法。这是在包括找出每个Si(0,v0)并(使用公式(10))计算偏移矢量T0的初始化以后。为在S上搜索一组点,人们只要通过递增参数v,并且接着以u计算沿母线的点。
在所限定的四边曲面(如在4.6.1节中)的情况中,一些Si是如上述二边的情况,但是其它的Si首先跨越该带纵向混合。特别地,在图34中的v-模线情况与图35的重新标签是一样的,同时图34的u-模线是等倾带的水平混合。所有四边的重心混合产生该四边曲面。
在图33中,显示了需要在其间放置曲面的四条轮廓曲线P11、P12、P21和P22。在图33中,使用该轮廓P11和P12连同它们各自对应的等倾带R11和R12去创建混合曲面S1。
虽然S1作为已描述的二边情况精确计算,但S2的生成则不同,因为参数u和v是相反的。在此情况下,在等倾R21和R22上的直线段对应于u不变、以v扫描的情形,这与快速扫描是矛盾的。但是,在图34和35中都需要仅一个参数不变而扫描另一个参数。在一个实施例中,这可以通过个别地定义等倾R12和R22来解决。即,每个这样的带变成仅通过用户输入定义的两个直纹曲面的混合。例如,研究一下R21。它可以通过类似于2.2节所述及图37至39所示的曲面生成技术的方式去混合双线性曲面1950和1952而定义。即,正切于轮廓P21的双线性曲面1950和1952的边是轮廓手柄1956和1960;边界手柄1964和1968正切于带边界1972并形成该双线性曲面的相对边。其它两条线段1976和1980是用户输入的。
现在也可以在第二个(u-模线(loft))中固定v,并且通过增加单个矢量偏移来扫描。这一作法在等倾带S21和S22上产生各点,每个与在v-模线上产生各点的代价相同。另外,我们必须混合这些新点以计算S2上的点。在操作中计有七个矢量加、五个标量乘和一个表查询。附加的包括三个用于v-模线的、三个每个都用于u-模线的、一个用于混合这些等倾和一个用于混合这两个模线。
对于一般的N边曲面,首先需要在每条带上计算距离。使用2.2节的N边参数化技术计算这些参数。这些距离接着被插入公式(6)的混合函数中。它们可以被调整在从0到1之间变化。
对应该带的参数必须从所给定的距离设定。即,一个参数必须是距离(离开该轮廓的)。通过确定在何处图12的参数线相交于N边多边形的边,可以推导出其它参数。这里假定该多边形有条长度为1的边。在计算这些参数后,接着公式(4)计算所需要的所有组份。
6.应用
本发明可以用于很多计算设计领域。具体地,下列清单提供了能应用本发明的一些领域的简要描述。
6.1容器设计
诸如瓶子的容器的自由形成设计至今为止是非直观的和冗长乏味的。本发明减轻了这些缺点。
6.2汽车设计
在汽车行业中,本发明可用于汽车车身设计,也可用于汽车部件设计。具体地说,利用本发明可执行的变形零件和轮廓的方便性使得可以直接了当地变形部件和凹槽,以使在特定凹槽中安放部件更容易被设计。
6.3航空
本发明提供航空业所需要的高精度剪裁和曲面拼接操作。
6.4造船业
造船业的独特需求是设计船体和螺旋桨。船体和螺旋桨的设计都遵从于与水流相关的约束的物理学。满足这样的约束可以结合到本发明中。
6.5传统的CAD/CAM软件
设计发动机、管线布局、金属薄片产品的软件一般要求剪裁和混合能力。因此,因为本发明在提供这样的操作以及提供曲面的方便变形方面特别有效率,所以在这些领域,它的效率可以是个特别的优点。
6.6其它应用
下面是本发明可用于计算设计的其它领域的清单。它们是:家用电器设计、注塑模具设计、工具和钢模设计、玩具设计、地质造型、几何造型、采矿设计、艺术和娱乐、动画、雕塑、流体力学、气象学、热力循环、电磁学、整形外科、焊接面具、畸齿校正术、弥补术、服装设计、鞋设计、建筑设计、虚拟空间设计、数据的科学形象化、用于培训员工的几何模型(例如,医学培训)。
已经提出的本发明的前述讨论是为了图解和描述的目的。另外,该描述不试图将本发明局限于这里已公开的形式。因而,在本领域技术人员及其相关领域知识之内,与上述讲授相当的变化和修改,都是在本发明的范围之内。上述实施例进一步试图解释目前所知最好的实践本发明的模式,并且使其它本领域技术人员可以这样利用本发明,或者在其它实施例中,通过他们专用软件或使用本发明作各种修改。意思就是所附权利要求被解释为包括到由现有技术所许可范围的替代实施例。
Claims (39)
1.一种用于确定所混合的几何对象的方法,包括:
(A1)多个参数化几何对象
中的至少一个几何对象,具有大于或等于2的维度;
计算在PS中多个点q的每一个点处的函数S,以获得在GS中的对应点S(q),其中(B1)和(B2)遵守:
显示所述对应点S(q)的表示作为
和Sj之间混合的几何对象的表示。
2.如权利要求1所述的方法,其中:
(a)每一个所述映射
是用于参数化所述Si的参数映射;
(b)每一个所述Si是曲面;
(c)每一个所述Pi是对应Si之一的曲线;
(d)所述点S(q)包含于由所述函数S所定义的曲面内,其中所述曲线Pi
包括在所述曲面的周长内。
3.如权利要求2所述的方法,其中每一个所述Pi是通过多个点插值得到的。
4.如权利要求1所述的方法,其中所述参数空间PS的点被表示为一预定义数量的坐标的多元组,其中每个坐标具有预定义的范围。
6.如权利要求5所述的方法,其中所述计算步骤包括:对于至少一些所述点S(q),确定一个或多个所述加权和的对应权重,其中每个权重w缩放所述几何对象Si之一的点。
7.一种用于由用户修改曲面表示的方法,包括:
图形地显示具有近似地包含在第一曲面内的第一曲线的第一曲面;
图形地显示第二曲线,它的点表示为在或近似在所述第一曲线上每个点处正切于所述第一曲面;
相对于所述第一曲线,改变所述第二曲线的一部分的位置,以便改变所述第一曲面的轮廓。
8.如权利要求7所述的方法,其中在所述第一曲线上每个点是在所述第一曲面的预定距离内。
9.如权利要求8所述的方法,其中所述预定距离是在10-3至10-6范围内。
10.如权利要求7所述的方法,其中所述第一曲线是从在所述第一曲面上至少两点插值得到的轮廓曲线。
11.如权利要求7所述的方法,其中在所述第一和第二曲线之间曲面的点被用于确定所述第一曲面和第二曲面的一个或多个点。
12.如权利要求7所述的方法,其中还包括从在正切于所述第一曲面上的点的曲面插值所述第一曲线的点的步骤。
13.如权利要求7所述的方法,其中所述步骤包括改变表示正切于所述第一曲面的矢量的方向和模之一。
14.一种用于在计算系统上修改曲面表示的方法,包括:
图形地显示在该曲面上提供第一和第二曲线的特定曲面;
经由计算系统的用户激活用于变形所述特定曲面的用户界面技术,其中执行下列步骤A1至A3:
(A1)首先在第一几何对象表示上确定点,其中所述第一几何对象表示代表用于在所述第一曲线上大多数点处计算所述特定曲面的所需轮廓的第一数据,所述第一曲线是所述计算系统能加以描述的;
(A2)其次在第二几何对象表示上确定点,其中所述第二几何对象表示代表用于在所述第二曲线上大多数点处计算所述特定曲面的所需轮廓的第二数据,所述第二曲线是所述计算系统能加以描述的;
(A3)生成所述特定曲面的修改版本,其中在所述修改版本上有多个新点不在所述特定曲面上,并且每个所述新点被确定作为下列之一的函数:(a)从所述第一几何对象表示获得的至少一个点,以及(b)从所述第二几何对象表示获得的至少一个点;以及
图形地显示所述修改版本。
15.如权利要求14所述的方法,其中至少一个所述第一和第二几何对象表示包括曲面的表示。
16.如权利要求14所述的方法,其中所述生成步骤包括:对于一个或多个所述新点的每一个点,计算在所述第一和第二几何对象表示的每一个表示上至少一个点的加权和。
17.如权利要求16所述的方法,其中所述计算步骤包括:对于一个或多个所述新点的每一个点,建立所述加权和的一个或多个对应权重,其中每个所述权重w缩放所述第一和第二几何对象表示之一的对应点Pw。
19.如权利要求18所述的方法,其中对于所述集合Q的q1和q2,当q1的所述原像参数化到
的原像参数化比q2的所述原像参数化到
的原像参数化更接近时,则
20.一种通过计算系统的用户用于修改N维几何对象的表示的方法,其中N大于或等于2,包括:
在所述计算系统上图形地显示具有N维的第一几何对象,并且其中有较低维度的第二几何对象内嵌于所述第一几何对象中;
图形地显示第三几何对象,它的点表示为在所述第二几何对象的点处的所述第一几何对象的一个或多个尺寸的改变速率;以及
改变相关于所述第二几何对象的、所述第三几何对象的一个或多个几何特性,以影响所述第一几何对象的一个或多个几何特性。
21.如权利要求20所述的方法,其中:
对于所述第一、第二及第三几何对象的每一个,该几何对象的维度是要求表示该几何对象的所有点的线性独立矢量的最低数。
22.如权利要求20所述的方法,其中所述第一和第三几何对象的一个或多个几何特性包括一个或多个:切线方向、切线矢量模、以及曲率量度。
23.用于在计算系统上生成几何对象的方法,包括:
提供曲线的表示;
对于在该曲线上多个点的每一个,获得在该点处第一曲面形状的数据表示:
确定所述第一曲面的表示,其中所述第一曲面包括该曲线;
生成具有轮廓是第一曲面的点的函数的第二曲面的表示。
24.如权利要求23所述的方法,其中所述第一曲面包括:对应所述第二曲面的等倾带,以及所述曲线是对应所述等倾带的轮廓。
25.如权利要求23所述的方法,其中所述第一和第二曲面以所述曲线为边界,以及所述第一和第二曲面在所述曲线的每一点处具有等同的切平面。
26.如权利要求23所述的方法,其中所述确定步骤包括提供所述第一曲面作为可展曲面和标签曲面之一。
27.如权利要求23所述的方法,其中所述生成步骤包括:确定所述第二曲面作为在所述第一曲面和至少一个附加曲面之间的混合曲面,其中在所述第二曲面上的每个点实质上是在所述第一曲面上的点以及在所述附加曲面上的点的函数。
28.用于生成几何对象表示的方法,包括:
获得第一曲面,其中它的部分是可展曲面;
构建对应所述可展曲面的封闭曲线边界,其中所述边界在所述第一曲面上的所述封闭曲线的内部;
剪裁所述第一曲面逼近于所述边界,以使实质上仅有所述第一曲面的所述内部被图形地显示;
图形地连接标签到所述内部,以使所述标签实质上覆盖所述内部。
29.如权利要求28所述的方法,其中所述获得步骤包括:确认所述第一曲面为直纹曲面。
30.如权利要求28所述的方法,其中所述构建步骤包括:生成所述边界作为具有对应等倾带的轮廓曲线,该等倾带用于导出以所述边界为对应所述混合曲面的边界的混合曲面。
31.如权利要求30所述的方法,其中所述混合曲面的点是从来自所述等倾带和至少一个其它曲面的点的加权和导出的。
32.一种用于修改几何对象的表示的方法,包括:
首先显示具有维度大于或等于二的第一几何对象表示;
其次显示一个或多个附加几何对象表示,其中所述附加几何对象表示的一个或多个形状和位置表示为所述第一几何对象表示的形状,其中一个或多个附加几何对象表示具有大于或等于一的维度;
同时执行下列步骤(A1)和(A2):
(A1)改变一个或多个所述附加几何对象表示的形状和位置之一;
(A2)用对所述附加几何对象表示的所述改变的修改表示去重新显示所述第一几何对象表示。
33.如权利要求32所述的方法,其中所述附加几何对象表示包括图形表示,当其被显示在计算机图形输出设备上时,该图形表示被连接到所述第一几何对象表示。
34.如权利要求32所述的方法,其中所述附加几何对象表示包括一个或多个用户可选择点、矢量、曲线及曲面。
35.如权利要求32所述的方法,其中所述改变步骤包括由用户输入实质上连续时间系列的改变请求以改变所述附加几何对象表示;
其中在输入所述改变请求之一期间,所述重新显示步骤同时执行图形地显示对于所述时间系列的一个或多个先前输入改变请求,对所述第一几何对象表示的对应修改的子步骤。
36.如权利要求35所述的方法,其中所述显示和重新显示步骤的至少一个步骤包括确定所述第一几何对象表示作为至少一些所述附加几何对象表示的步骤。
37.如权利要求36所述的方法,其中所述确定步骤包括:计算点P的加权和,以获得所述第一几何对象表示的点p,其中所述点P使用所述附加几何对象表示来获得。
38.如权利要求37所述的方法,其中所述加权和包括权重,其中每个权重使用对应混合函数获得,每个所述混合函数具有0至1的值域,并且每个所述混合函数取决于q的参数化原像,q用于确定该混合函数对应的权重。
39.如权利要求32所述的方法,其中每个所述第一几何对象表示和所述附加几何对象表示是在三维坐标空间表示的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1999/016844 WO2001008102A1 (en) | 1999-07-23 | 1999-07-23 | Geometric design and modeling system using control geometry |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1391683A true CN1391683A (zh) | 2003-01-15 |
Family
ID=22273274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99816901A Pending CN1391683A (zh) | 1999-07-23 | 1999-07-23 | 使用控制几何的几何设计和建模系统 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP1210692A4 (zh) |
JP (1) | JP2003505800A (zh) |
KR (1) | KR20020021800A (zh) |
CN (1) | CN1391683A (zh) |
AU (1) | AU5390799A (zh) |
CA (1) | CA2379459A1 (zh) |
HU (1) | HUP0700118A2 (zh) |
MX (1) | MXPA02000845A (zh) |
WO (1) | WO2001008102A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141377A (zh) * | 2011-01-30 | 2011-08-03 | 睿励科学仪器(上海)有限公司 | 光学关键尺寸检测设备中用户自定义轮廓的方法 |
CN102496140A (zh) * | 2011-12-06 | 2012-06-13 | 中国科学院自动化研究所 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
CN103530435A (zh) * | 2013-05-07 | 2014-01-22 | 常海超 | 一种基于敏感度的船体型线设计方法 |
CN103679811A (zh) * | 2013-12-31 | 2014-03-26 | 北京数码大方科技股份有限公司 | 多曲面实体化建模方法 |
CN104029280A (zh) * | 2014-03-27 | 2014-09-10 | 南京倍立达新材料系统工程股份有限公司 | 一种三维数字化地面模具生产方法 |
CN104375632A (zh) * | 2013-08-13 | 2015-02-25 | Lg电子株式会社 | 显示装置及其控制方法 |
CN105051782A (zh) * | 2013-01-15 | 2015-11-11 | 通用电气公司 | 用于无损对象分析的方法、系统和计算机产品 |
CN105229647A (zh) * | 2013-05-28 | 2016-01-06 | 西门子产品生命周期管理软件公司 | 使用相互依赖混合进行几何建模 |
CN105718626A (zh) * | 2014-12-23 | 2016-06-29 | 达索系统公司 | 由控制点的栅格定义的3d 建模对象 |
CN109558624A (zh) * | 2017-09-26 | 2019-04-02 | 达索系统公司 | 生成代表机械部件的2d绘图 |
CN109894614A (zh) * | 2019-03-25 | 2019-06-18 | 华中科技大学 | 一种可展曲面上填充轨迹规划的方法及其应用 |
CN110033512A (zh) * | 2017-12-22 | 2019-07-19 | 达索系统公司 | 用于计算3d对象的建模的弯曲部件的展开部件的方法 |
CN111861608A (zh) * | 2019-04-29 | 2020-10-30 | 杭州优工品科技有限公司 | 基于三维在线可视化的产品定制方法、装置及存储介质 |
US11144679B2 (en) | 2015-02-02 | 2021-10-12 | Dassault Systemes | Engraving a 2D image on a subdivision surface |
WO2023149844A1 (en) * | 2022-02-07 | 2023-08-10 | Cleanfuture Energy Co., Ltd. | Variable pitch propeller blades and associated propeller applications |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8836701B1 (en) | 1998-07-23 | 2014-09-16 | Freedesign, Inc. | Surface patch techniques for computational geometry |
US6981695B1 (en) | 2003-10-14 | 2006-01-03 | Polaris Industries Inc. | All terrain vehicle with multiple winches |
US7196702B1 (en) | 1998-07-23 | 2007-03-27 | Freedesign, Inc. | Geometric design and modeling system using control geometry |
US7191029B2 (en) * | 2001-06-22 | 2007-03-13 | Siemens Hearing Instruments, Inc. | Rapid prototype fabrication of a monolithic hearing instrument housing with an integrally-fabricated faceplate |
GB0219623D0 (en) | 2002-08-22 | 2002-10-02 | British Telecomm | Method and system for virtual object generation |
US7589720B2 (en) * | 2004-08-04 | 2009-09-15 | Microsoft Corporation | Mesh editing with gradient field manipulation and user interactive tools for object merging |
EP1881457B1 (en) * | 2006-07-21 | 2017-09-13 | Dassault Systèmes | Method for creating a parametric surface symmetric with respect to a given symmetry operation |
US7868885B2 (en) | 2007-06-22 | 2011-01-11 | Microsoft Corporation | Direct manipulation of subdivision surfaces using a graphics processing unit |
US11907617B2 (en) | 2008-07-18 | 2024-02-20 | Cad-Sense Llc | Surface patch techniques for computational geometry |
FR2937770B1 (fr) | 2008-10-27 | 2011-04-22 | Snecma | Procede de creation d'une surface non axisymetrique |
CN103186516B (zh) * | 2011-12-29 | 2016-07-06 | 广州市中海达测绘仪器有限公司 | 一种生成监测图表的方法、装置及系统 |
EP2660782B1 (en) | 2012-05-02 | 2019-04-10 | Dassault Systèmes | Designing a 3D modeled object |
KR101657673B1 (ko) * | 2015-04-30 | 2016-09-22 | 주식회사 와이즈오토모티브 | 파노라마뷰 생성 장치 및 방법 |
CN107918691B (zh) * | 2016-10-07 | 2023-09-29 | 福特全球技术公司 | 用于评估信号的方法和装置 |
CN111414662B (zh) * | 2020-03-31 | 2023-05-26 | 北京市建筑设计研究院有限公司 | 利用直线型材拼装带状曲面建筑表皮的方法 |
KR102439313B1 (ko) * | 2022-06-15 | 2022-09-01 | 주식회사 모쓰 | 프로펠러 날개의 단면 특성 정보 획득 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999789A (en) * | 1987-02-05 | 1991-03-12 | Hewlett-Packard Co. | Method and apparatus for trimming B-spline descriptions of patches in a high performance three dimensional graphics system |
US5251160A (en) * | 1988-02-23 | 1993-10-05 | Evans & Sutherland Computer Corporation | System for blending surfaces in geometric modeling |
US5497451A (en) * | 1992-01-22 | 1996-03-05 | Holmes; David | Computerized method for decomposing a geometric model of surface or volume into finite elements |
US5818452A (en) * | 1995-08-07 | 1998-10-06 | Silicon Graphics Incorporated | System and method for deforming objects using delta free-form deformation |
-
1999
- 1999-07-23 CN CN99816901A patent/CN1391683A/zh active Pending
- 1999-07-23 CA CA002379459A patent/CA2379459A1/en not_active Abandoned
- 1999-07-23 HU HU0700118A patent/HUP0700118A2/hu unknown
- 1999-07-23 JP JP2001513115A patent/JP2003505800A/ja active Pending
- 1999-07-23 EP EP99939655A patent/EP1210692A4/en not_active Withdrawn
- 1999-07-23 WO PCT/US1999/016844 patent/WO2001008102A1/en active Application Filing
- 1999-07-23 MX MXPA02000845A patent/MXPA02000845A/es unknown
- 1999-07-23 AU AU53907/99A patent/AU5390799A/en not_active Abandoned
-
2002
- 2002-01-23 KR KR1020020004000A patent/KR20020021800A/ko not_active Application Discontinuation
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141377A (zh) * | 2011-01-30 | 2011-08-03 | 睿励科学仪器(上海)有限公司 | 光学关键尺寸检测设备中用户自定义轮廓的方法 |
CN102496140A (zh) * | 2011-12-06 | 2012-06-13 | 中国科学院自动化研究所 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
CN102496140B (zh) * | 2011-12-06 | 2013-07-31 | 中国科学院自动化研究所 | 一种基于多层嵌套笼体的实时交互式图像变形方法 |
CN105051782A (zh) * | 2013-01-15 | 2015-11-11 | 通用电气公司 | 用于无损对象分析的方法、系统和计算机产品 |
CN103530435B (zh) * | 2013-05-07 | 2017-02-08 | 常海超 | 一种基于敏感度的船体型线设计方法 |
CN103530435A (zh) * | 2013-05-07 | 2014-01-22 | 常海超 | 一种基于敏感度的船体型线设计方法 |
CN105229647B (zh) * | 2013-05-28 | 2018-12-18 | 西门子产品生命周期管理软件公司 | 在几何模型中执行混合的方法、系统和计算机可读介质 |
CN105229647A (zh) * | 2013-05-28 | 2016-01-06 | 西门子产品生命周期管理软件公司 | 使用相互依赖混合进行几何建模 |
CN104375632B (zh) * | 2013-08-13 | 2018-07-20 | Lg电子株式会社 | 显示装置及其控制方法 |
CN104375632A (zh) * | 2013-08-13 | 2015-02-25 | Lg电子株式会社 | 显示装置及其控制方法 |
US9852528B2 (en) | 2013-08-13 | 2017-12-26 | Lg Electronics Inc. | Display device having display screen and method for controlling curvature of the display screen |
CN103679811B (zh) * | 2013-12-31 | 2017-05-10 | 北京数码大方科技股份有限公司 | 多曲面实体化建模方法 |
CN103679811A (zh) * | 2013-12-31 | 2014-03-26 | 北京数码大方科技股份有限公司 | 多曲面实体化建模方法 |
CN104029280B (zh) * | 2014-03-27 | 2016-03-16 | 南京倍立达新材料系统工程股份有限公司 | 一种三维数字化地面模具生产方法 |
CN104029280A (zh) * | 2014-03-27 | 2014-09-10 | 南京倍立达新材料系统工程股份有限公司 | 一种三维数字化地面模具生产方法 |
CN105718626B (zh) * | 2014-12-23 | 2021-09-07 | 达索系统公司 | 由控制点的栅格定义的3d建模对象 |
CN105718626A (zh) * | 2014-12-23 | 2016-06-29 | 达索系统公司 | 由控制点的栅格定义的3d 建模对象 |
US11144679B2 (en) | 2015-02-02 | 2021-10-12 | Dassault Systemes | Engraving a 2D image on a subdivision surface |
CN109558624A (zh) * | 2017-09-26 | 2019-04-02 | 达索系统公司 | 生成代表机械部件的2d绘图 |
CN109558624B (zh) * | 2017-09-26 | 2023-11-07 | 达索系统公司 | 生成代表机械部件的2d绘图 |
CN110033512A (zh) * | 2017-12-22 | 2019-07-19 | 达索系统公司 | 用于计算3d对象的建模的弯曲部件的展开部件的方法 |
CN109894614A (zh) * | 2019-03-25 | 2019-06-18 | 华中科技大学 | 一种可展曲面上填充轨迹规划的方法及其应用 |
CN109894614B (zh) * | 2019-03-25 | 2020-07-03 | 华中科技大学 | 一种可展曲面上填充轨迹规划的方法及其应用 |
CN111861608A (zh) * | 2019-04-29 | 2020-10-30 | 杭州优工品科技有限公司 | 基于三维在线可视化的产品定制方法、装置及存储介质 |
CN111861608B (zh) * | 2019-04-29 | 2024-04-30 | 杭州优工品科技有限公司 | 基于三维在线可视化的产品定制方法、装置及存储介质 |
WO2023149844A1 (en) * | 2022-02-07 | 2023-08-10 | Cleanfuture Energy Co., Ltd. | Variable pitch propeller blades and associated propeller applications |
Also Published As
Publication number | Publication date |
---|---|
MXPA02000845A (es) | 2003-10-15 |
JP2003505800A (ja) | 2003-02-12 |
WO2001008102A1 (en) | 2001-02-01 |
HUP0700118A2 (en) | 2007-05-29 |
AU5390799A (en) | 2001-02-13 |
EP1210692A1 (en) | 2002-06-05 |
CA2379459A1 (en) | 2001-02-01 |
KR20020021800A (ko) | 2002-03-22 |
EP1210692A4 (en) | 2006-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1391683A (zh) | 使用控制几何的几何设计和建模系统 | |
CN1781111A (zh) | 基于共形结构的几何曲面分析 | |
US20140340388A1 (en) | System, method and computer program for using a suggestive modeling interface | |
Olsen et al. | Sketch-based modeling: A survey | |
CN1269066C (zh) | 信息处理设备和方法 | |
CN1238819C (zh) | 三维字符生成设备及三维图形数据生成设备 | |
Lau et al. | Modeling-in-Context: User Design of Complementary Objects with a Single Photo. | |
CN1293518C (zh) | 具有割截与支援框线模式的三角形描绘方法与装置 | |
CN1218282C (zh) | 用深度图像表示三维物体的节点结构 | |
CN1607524A (zh) | 包含可变数据的文档或版面的选择性预览和校对 | |
CN100341031C (zh) | 曲面图像处理装置及曲面图像处理方法 | |
CN1526098A (zh) | 与二维或三维几何实体相关的数据的输出方法和系统 | |
CN1849608A (zh) | 由边界表示数据生成体数据的方法及其程序 | |
CN1764917A (zh) | 采用混合模型进行过程模拟的设备和方法 | |
CN1058480A (zh) | 自适应浓淡的方法和设备 | |
CN1841386A (zh) | 三维模具结构参数化组装设计及二维图自动标注尺寸方法 | |
CN1274439A (zh) | 窗口显示装置 | |
CN1790421A (zh) | 基于深度图像表示三维物体的装置和方法 | |
CN101046883A (zh) | 图形绘制设备 | |
CN1846234A (zh) | 形态变形装置、物体动作编码装置以及物体动作解码装置 | |
CN102509357A (zh) | 基于笔触的铅笔素描模拟和绘制系统 | |
He et al. | Creation of user-defined freeform feature from surface models based on characteristic curves | |
Deng et al. | Interactive modeling of lofted shapes from a single image | |
CN110947186A (zh) | 一种基于部件模板的三维玩具模型开版方法 | |
Draper et al. | A Gestural Interface to Free-Form Deformation. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |