CN105844711B - 在细分曲面上雕刻2d图像 - Google Patents

在细分曲面上雕刻2d图像 Download PDF

Info

Publication number
CN105844711B
CN105844711B CN201610150690.8A CN201610150690A CN105844711B CN 105844711 B CN105844711 B CN 105844711B CN 201610150690 A CN201610150690 A CN 201610150690A CN 105844711 B CN105844711 B CN 105844711B
Authority
CN
China
Prior art keywords
mesh
image
nurbs
subdivision
user
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
Application number
CN201610150690.8A
Other languages
English (en)
Other versions
CN105844711A (zh
Inventor
R·迈松纳夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of CN105844711A publication Critical patent/CN105844711A/zh
Application granted granted Critical
Publication of CN105844711B publication Critical patent/CN105844711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Abstract

一种方法,包括以下步骤:由用户定义(S10)与细分曲面以及相应的预定的网格到NURBS曲面转换算法(PCCM(·))相关的基网格(B0),所述细分曲面表征所述3D建模对象;由所述用户定义(S20)2D图像和用于在所述细分曲面上雕刻所述2D图像的位置;以及确定(S30)NURBS曲面(S1)对应于将形变映射
Figure DDA0002902592350000011
应用(S36)在对所述基网格执行(S34)所述网格到NURBS曲面转换算法所得的结果(S0=PCCM(B0))上,所述形变映射包括针对对所述基网格执行(S34)所述网格到NURBS曲面转换算法所得的结果所在的位置提供的位移向量,所述位置与雕刻所述2D图像的位置对应,所述位移向量是基于所述2D图像的对应像素值来计算(S32)的。该方法改善了3D建模对象的设计。

Description

在细分曲面上雕刻2D图像
技术领域
本发明主要涉及计算机辅助设计(CAD)领域,尤其是一种用于通过图形用户交互借助基于2D图像的数据处理来设计3D建模对象的方法、程序和系统。
背景技术
在市场中针对对象的设计、工程和制造提供有多个系统和程序。CAD是计算机辅助设计的首字母缩写,举例来说,它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的首字母缩写,举例来说,它涉及用于仿真未来产品的物理行为的软件解决方案。CAM是计算机辅助制造的首字母缩写,举例来说,它涉及定义制造过程和操作的软件解决方案。在这些计算机辅助设计系统中,图形用户界面扮演着与技术效率相关的重要角色。这些技术可嵌入在产品生命周期管理(PLM)系统中。PLM指的是一种商业策略,围绕“延伸性企业”的概念,其帮助公司共享产品数据、应用通用的过程,并且提升用于产品从概念到该产品生命结束的开发的企业知识。
由DASSAULT SYSTEMES(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了:工程中心,其对产品工程知识进行组织;制造中心,其对制造工程知识进行管理;以及企业中心,其使得能够将企业整合并结合到工程中心和制造中心二者中。总之,该系统提供了一种开放的对象模型,将产品、过程、资源联系起来,以实现动态的、基于知识的产品创新和决策支持,这推动了对产品定义、制造准备、生产和服务的优化。
CAD解决方案广泛使用两项主要的众所周知的曲面(surface)建模技术:非均匀有理B样条曲面(下称NURBS)以及细分曲面。
NURBS技术基于的是通过被称为“控制点”的3D点的矩形栅格(grid)进行处理的多项式参数化或有理参数化。通过移动控制点来执行对NURBS曲面的编辑。以多项式的次数不取决于控制点的数量的方式来设计该技术。进一步地,控制点的影响被限制在相邻区域。因此,用户能够局部修改表面的形状,而不用触及所述相邻区域之外的区域。该领域经典的参考资料是课本《The NURBS book》,L.Piegl和T.Wayne,Springer,第2版,2013年。
另一方面,细分曲面是通过由点和线段构成的三维“基网格”定义的。基网格由用户定义,其特定可以是任意的拓扑结构,这与NURBS的控制点的矩形栅格相反。基网格控制了细分曲面的整体形状,并且可以由用户编辑。基网格的改变会影响整个细分曲面。与NURBS曲面相反,细分曲面是细分过程中的始于基网格的限定对象。图1示出了三孔闭合基网格11和第一细分步骤。限定曲面是光滑三孔环状对象13。主要在如下参考中解释了基本原理:“Recursively generated B-Spline surfaces on arbitrary topologicalmeshes”,E.Catmull,J.Clark,Computer Aided Design,第10卷第6期,1978年11月。值得注意的是,如文献US 7595799 B2(对应于EP 1750229 B1)和US 7400323 B2中所解释的,通过将基网格转换为NURBS曲面,经由配置NURBS曲面来趋近细分曲面是可能的。
简而言之,NURBS技术的特点在于局部修改能力和网格定义的拓扑结构,细分技术的特点在于任意拓扑结构和非局部编辑能力。显然,由于其处理局部修改的能力,因此NURBS技术能够良好地支持在保存曲面的整体形状的同时在其上进行的小细节的创建。相反,细分曲面技术则不支持该能力。另一方面,与自身拓扑结构被限制为矩形的控制点栅格的NURBS曲面相反,细分曲面技术能支持任意拓扑结构。
显然,现有技术中缺乏在具有任意拓扑结构的曲面上作出局部改变的能力。在这种环境下,仍然需要一种用以设计3D建模对象的改进的解决方案。
发明内容
由此,提供了一种计算机实现的设计3D建模对象的方法。该方法包括以下步骤:由用户定义与细分曲面以及相应的预定的网格到NURBS曲面转换算法相关的基网格。该细分曲面代表该3D建模对象。该方法还包括以下步骤:由用户定义2D图像和在该细分曲面上雕刻该2D图像的位置。该方法还包括以下步骤:确定NURBS曲面对应于将形变映射应用在对基网格执行网格到NURBS曲面转换算法所得的结果上。该形变映射包括针对对基网格执行网格到NURBS曲面转换算法所得的结果的位置提供的位移向量。该位置对应于雕刻该2D图像的位置。该位移向量是基于该2D图像的对应像素值计算的。
该方法可包括以下项目的一项或多项:
-该方法包括计算位移向量,包括:从基网格确定与雕刻该2D图像的位置对应的第一3D网格;通过基于2D图像的对应像素值在第一3D网格的法线方向上位移第一3D网格的顶点,来从第一3D网格确定第二3D网格;以及针对对基网格执行网格到NURBS曲面转换算法所得的结果的位置,计算一位移向量,该位移向量等于对第二3D网格执行网格到NURBS曲面转换算法所得的结果的对应控制点与对第一3D网格执行网格到NURBS曲面转换算法所得的结果的对应控制点之间的3D位置差;
-确定第一3D网格包括提取基网格的与雕刻2D图像的位置对应的子网格,然后将该子网格细分预定的倍数;
-该预定的倍数是由用户定义的和/或基于与2D图像的细节水平有关的预定标准而递增;
-2D图像的对应像素值是像素灰度值;
-位移向量的幅度基于对应的灰度值而递增;和/或
-用户进一步从预定的二元表(binary list)中选择雕刻方向。
进一步提供了一种由该方法设计而成的3D建模对象。
进一步提供了一种包括该3D建模对象的设计规格的计算机文件。
进一步提供了一种包括执行该方法的指令的计算机程序。
进一步提供了一种其上存储有该计算机程序的计算机可读数据存储介质。
进一步提供了一种包括耦合到存储器和图形用户界面的处理器的CAD系统,该存储器上存储有该计算机程序。
进一步提供了一种制造工业产品的方法,包括以下步骤:根据以上设计方法设计代表工业产品的三维对象,然后基于所设计的三维对象制造该工业产品。
附图说明
现在将以非限制性例子的形式,参考附图,描述本发明的实施例,其中:
-图1示出了细分曲面;
-图2是方法的例子的流程图;
-图3示出了系统的图形用户界面的例子;
-图4示出了系统的例子;以及
-图5至图26阐释了方法。
具体实施方式
参考图2的流程图,提出了一种计算机实现的设计3D建模对象的方法。该方法包括以下步骤:由用户定义(S10)与细分曲面以及相应的预定的网格到NURBS曲面转换算法相关的基网格。该细分曲面代表该3D建模对象。该方法还包括由用户定义(S20)2D图像和在该细分曲面上雕刻该2D图像的位置。该方法然后包括确定(S30)NURBS曲面对应于将形变映射应用在对基网格执行网格到NURBS曲面转换算法所得的结果上(即,所谓“对应”,意味着获取NURBS曲面的特定方式是个实施细节,只要能够通过以下步骤获得结果(至少大约地获得结果,例如,一会儿提到的“近似值”的意思),即使这些特定步骤没有被实施)。该形变映射包括针对对基网格执行网格到NURBS曲面转换算法所得的结果的位置提供的位移向量。这些位置对应于雕刻2D图像的位置。这些位移向量是基于2D图像的对应像素值来计算的。该方法改善了3D建模对象的设计。
值得注意的是,该方法允许在与细分曲面以及相应的预定的网格到NURBS曲面转换算法相关的基网格的环境下对3D建模对象进行设计修改,带来的优势是这样的设计环境对CAD领域来说是及其熟悉的。事实上,贯穿整个方法保留了基网格结构以及有关曲面设计的相关用户意图,这只是相当于对CAD设计者所习惯的基网格框架增加了设计规格(specification)。不同于现有技术在基网格上实施的修改方案(例如,增加多分辨率信息和/或在细分后增加细节),该方法不打算在基网格随后的转换(通过在S30的预定的网格到NURBS曲面转换算法)之前对该基网格作细分,从而使得所述随后的转换可以容易地(在计算成本方面)实现,而不会抑制控制点的数量。换句话说,随后将要输入到转换算法的网格的面数不会由于该方法而过度增长。不同于现有技术在NURBS上实施的修改方案,该方法允许对被提供为具有细分曲面的基网格的模型进行修改,从而得益于该环境(优势在于在该框架内可能的任意拓扑结构,以及相对于复杂NURBS而言,基网格所占用的小存储空间),用户随后可以以相对简单的方法执行其它修改。事实上,如CAD领域众所周知的,花式设计由于这些原因而更适合在细分曲面上而不是在NURBS上执行。因此,即使增加了在S20所定义的设计规格之后,用户也可以执行对3D建模对象的基网格编辑。同样,既然定义步骤S20执行在基网格层面上,那么该方法确保了NURBS面片(patch)之间的连续性不会被过度地破坏。
因此该方法向用户提供了简单的、交互式的并且直观的方式,通过在S20以在细分曲面上具有位置的2D图像的形式定义设计规格,从而在3D建模对象上增加局部细节。该编辑仿真了真实的雕刻,同时也考虑到了用户的工业需求,包括基于(利用基网格的)曲面细分技术来保持一项设计的前后环境,此外在这里,最终的曲面的连续性也很重要。
该方法是计算机实现的。该方法的步骤实际上在计算机系统上由该计算机系统单独执行,或者由图形用户交互(即,由用户通过计算机系统的GUI进行交互)执行。因此,特定由计算机系统执行的步骤可以完全自动地执行。例如,对该方法的至少一些步骤的触发可以是通过用户-计算机交互而执行的。尤其是,定义步骤S10和S20由在计算机上工作的用户在相同工作会话或不同工作会话中执行。确定步骤S30可以由用户在相同的工作会话中(S10和S20二者的工作会话,或者仅S20的工作会话)或者在不同的工作会话中触发。所需的用户-计算机交互水平可以取决于所预见的自动化水平,并且与实现用户愿望的需求保持平衡。例如,该水平可以由用户定义和/或预定义。
本方法的计算机实现方式的典型示例将通过适配于本目的的系统来执行该方法。该系统可包括耦合到存储器和图形用户界面(GUI)的处理器,该存储器在其上记录有计算机程序,该计算机程序包括用于执行该方法的指令。存储器还可存储数据库。该存储器是任意适用于这种存储的硬件,可能包括若干不同的物理部分(例如,一个用于程序,可能还有一个用于数据库)。
该方法通常处理建模对象。建模对象是由数据库中存储的数据定义的任意对象。扩展开来,“建模对象”这一表述指的是数据本身。“设计3D建模对象”指的是任意一个或系列动作,这些动作是加工3D建模对象的过程的至少一部分。因此,该方法可包括从头开始创建3D建模对象。可替代地,该方法可包括提供先前创建的3D建模对象,然后修改该3D建模对象,尤其是通过由该方法所完成的雕刻来实现。
根据系统的类型,建模对象可由不同种类的数据来定义。系统实际上可以是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任意组合。在这些不同系统中,建模对象由对应的数据来定义。人们可以因此提到CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统之间互相并不排除,因为建模对象可以由与这些系统的任意组合相对应的数据来定义。因此,系统也可以既是CAD也是PLM系统,正如在以下提供的这种系统的定义中将变得显而易见的那样。
所谓CAD系统,是指至少适用于基于建模对象的图形化表征而设计建模对象的任意系统,例如CATIA。在这种情况下,定义建模对象的数据包括能够实现建模对象的表征的数据。CAD系统例如可以使用边沿或线条(在某些情况下通过面或曲面)来提供对CAD建模对象的表征。线条、边沿或曲面可由各种方式来表征,例如,非均匀有理B样条(NURBS)。特别地,CAD文件包含了生成几何图形所可以依据的设计规格,而该设计规格转而使得能够生成表征。建模对象的设计规格可存储在单个或多个CAD文件中。表征CAD系统中的建模对象的文件的典型大小在每个部件1MB的范围之内。建模对象典型地可以是数以千计个部件的组合。
在CAD系统的环境中,建模对象通常可以是3D建模对象,例如,表征一件产品,诸如部件或是部件的组合,或可能表示产品的组合。所谓“3D建模对象”,是指通过实现任意对象的3D表征的数据所建模的该对象。3D表征允许从所有角度查看该部件。例如,3D建模对象当被3D展示时,可围绕其任意轴、或围绕显示该表征的屏幕中的任意轴对其进行处理和旋转。这尤其不包括2D图符(icon),其并不是3D建模的。3d表征的显示有助于设计(即,提高了设计者数据式地完成任务的速度)。这加快了行业中的制造过程,因为产品的设计是生产或建模过程的一部分。3D建模对象还具有的特性是不仅由S10的基网格定义、而且还由在S20定义的数据来定义,在S20定义的数据构成了对传统3D建模对象的附加的设计规格。
3D建模对象可表征在通过例如CAD软件方案或CAD系统对产品的虚拟设计完成之后将在实际世界中制造的产品的几何图形,诸如一个(例如,机械的)部件或部件的组合,或更常规地,任意刚性体的组合(例如,移动机构)。CAD软件方案允许设计各种非限制性行业领域中的产品,这些行业领域包括:航空航天、建筑、建设、生活消费品、高科技装置、工业设备、运输、海运、和/或离岸业务(offshore)或运输。因此,由该方法设计的3D建模对象表征工业产品,其可以是陆地交通工具的一部分(包括,例如,汽车和轻型卡车设备、赛车、摩托车、卡车和摩托设备、卡车和公共汽车、火车)、航空工具的一部分(包括,例如,机身设备、航空航天设备、推进设备、防御产品、航线设备、空间设备)、船舶工具的一部分(包括,例如,海军设备、商业船只、离岸设备、游艇和施工船、海运设备)、机械部件(包括,例如,工业制造机械、重移动机械或设备、安装设备、工业设备产品、装配金属产品、轮胎制造产品)、电动机械或电子部件(包括,例如,消费类电子设备、安保和/或控制和/或仪器产品、计算和通信设备、半导体、医用装置和设备)、生活消费品(包括,例如,家具、家居和园艺产品、休闲品、时尚产品、耐用商品零售商的产品、软商品零售商的产品)、包装(包括,例如,食品和饮料以及烟草、美容和个人护理、家庭产品包装)。在3D建模对象的美学方面很重要时,该方法尤其有用。尤其是当3D建模对象表征车辆或飞机的机械部件(例如可视部件)、或生活消费品(例如电子商品,如摄像机)时尤为有用。
所谓PLM系统,是指适配于管理表征物理制造的产品的建模对象的任意系统。在PLM系统中,建模对象因此由适合于制造物理对象的数据来定义。这些典型地可以是维度值和/或容限值。为了正确地制造对象,确实最好能有这些数值。
CAM代表计算机辅助制造。所谓CAM解决方案,是指适用于管理产品的制造数据的任何(软件或硬件)解决方案。制造数据通常包括与要制造的产品、制造进程和所需资源相关的数据。CAM解决方案用于计划和优化产品的整个制造过程。例如,可以向CAM用户提供可行性、制造过程的持续时间或可被用于制造过程的特定步骤的资源数等信息,例如特定自动设备;并因此使得能够对管理或所需投资进行决策决策。CAM是CAD进程和潜在的CAE进程之后的后续进程。这些CAM解决方案由Dassault Systèmes在商标
Figure GDA0002902592340000081
下提供。
CAE代表计算机辅助工程。所谓CAE解决方案,是指适用于分析建模对象的物理行为的任何(软件或硬件)解决方案。一种公知并广泛使用的CAE技术是有限元法(FEM),其典型地包括将建模对象划分成可以通过方程式计算和仿真其物理行为的元件。这些CAE解决方案由Dassault Systèmes在商标
Figure GDA0002902592340000082
下提供。另一种新兴的CAE技术涉及在无需CAD几何数据的情况下对由来自不同物理领域的多个分量组成的复杂系统的建模和分析。CAE解决方案允许对待制造的产品进行仿真,并且由此允许对其进行优化,改进和验证。这些CAE解决方案由Dassault Systèmes在商标
Figure GDA0002902592340000083
下提供。
PDM代表产品数据管理。所谓PDM方案,是指适用于管理与特定产品相关的所有种类的数据的任何(软件或硬件)解决方案。PDM解决方案可由参与到产品生命周期中的所有参与者使用:主要是工程师,但也包括项目经理、财务人员、销售人员和购买者。PDM解决方案通常是基于面向产品的数据库的。其允许用户共享他们产品的一致数据,并且由此防止了参与者使用有差异的数据。这些PDM解决方案由Dassault Systèmes在商标
Figure GDA0002902592340000084
下提供。
图3示出了系统的GUI例子,其中该系统是CAD系统。
GUI 2100可以是典型的类CAD的界面,具有标准菜单条2110、2120、以及底部和侧边工具条2140、2150。这些菜单条和工具条包括用户可选图标的集合,如技术中已知的,每个图标与一个或多个操作或功能相关。这些图标中的某些与软件工具相关,适用于在GUI2100所显示的3D建模对象2000上进行编辑和/或工作,所显示的3D建模对象2000例如是执行该方法所得的结果。软件工具可分组为工作台。每个工作台包括软件工具的子集。特别地,工作台中的一个是编辑工作台,适合于编辑该建模对象2000的几何特征。操作中,设计者例如可以预选择对象2000的一个部件,然后发起一项操作(例如,改变大小、颜色、等等)或者通过选择一个合适的图标,编辑几何约束条件。例如,典型的CAD操作是对屏幕上所显示的3D建模对象的冲压或折叠进行建模。该GUI例如可以显示与所示的产品2000相关的数据2500。在图2的例子中,数据2500被显示为“特征树”,它们的3d表征2000有关于包括制动钳和制动盘的制动组件。GUI还可显示例如用于简化对象的3D方位、用于触发对被编辑产品的操作的仿真、或用于呈现所显示产品2000的各种属性的各种类型的图形工具2130、2070、2080。指针2060可由触觉装置控制,以允许用户与图形工具交互。
图4示出了该系统的例子,其中该系统是客户端计算机系统,例如用户的工作站。
该例子中的客户端计算机包括:中央处理单元(CPU)1010,其与内部通信BUS 1000连接;随机存取存储器(RAM)1070,其也与BUS连接。该客户端计算机还配备有图形处理单元(GPU)1110,其与连接到BUS的视频随机存取存储器1100相关联。视频RAM 1100作为帧缓冲器是在本领域技术中公知的。大容量存储装置控制器1020管理对大容量存储装置的存取,如硬盘驱动器1030。适合有形体现计算机程序指令和数据的大容量存储装置包括所有形式的非易失存储器,例如包括:半导体存储装置,诸如EPROM、EEPROM、闪存装置;磁盘,诸如内部硬盘和可移除盘;磁性光盘;以及CD-ROM盘1040。前述的任意一个可以由专门设计的ASIC(专用集成电路)补充,或并入专门设计的ASIC(专用集成电路)中。网络适配器1050管理对网络1060的接入。客户端计算机还可包括触摸装置1090,如指针控制装置、键盘等等。指针控制装置用于客户端计算机,使用户可以选择性地将指针定位于显示器1080上任意期望的位置。此外,指针控制装置允许用户选择各种命令和输入控制信号。指针控制装置包括用于向系统输入控制信号的多个信号产生装置。典型地,指针控制装置可以是鼠标,鼠标的按键用于生成信号。可替换地或是附加地,客户端计算机系统可包括感应/触摸板、和/或感应/触摸屏。
计算机程序可以包括可由计算机执行的指令,指令包括使得上述系统执行该方法的单元。程序可以是可被记录在任何数据存储介质上的,包括该系统的存储器在内。程序例如可以实现在数字电子电路中、或计算机硬件、固件、软件或它们的组合中。程序可以被实现为设备,例如在机器可读存储装置中有形体现的用于由可编程处理器执行的产品。方法步骤可以由可编程处理器执行,可编程处理器执行程序指令以通过操作输入数据和产生输出来实施该方法的功能。处理器因此可以是可编程的,并且耦合以从数据存储系统、至少一个输入装置、和至少一个输出装置处接收数据和指令,以及向数据存储系统、至少一个输入装置、和至少一个输出装置发送数据和指令。应用程序可以被实现为高级程序或对象导向的编程语言,或者被实现为汇编语言或机器语言(如果需要的话)。在任意情况下,语言可以是已编译的或已解译的语言。程序可以是完整的安装程序或更新程序。将程序应用于系统的在任何情况下得到的都是用于执行该方法的指令。
现在来讨论定义S10。
如CAD领域所公知的,用户常常会定义(即,设计)网格,称为与细分曲面相关联的“基网格”。这就是本方法中S10所做的事。网格表示具有顶点(3D位置)和边沿(例如,段)的任何图形结构,边沿将顶点两两连接并形成网格的所谓的面(即,边沿的最小的环)。网格可以是不同类型中的一个,包括四方网格(主要或完全由四边沿面组成)和三角形网格(主要或完全由三边沿面组成)。定义S10可以以任意方式实现,包括依据US 7893937 B2中的对称操作进行的快速复制。
CAD中的基网格关联于细分曲面和对应的预定的网格到曲面转换算法。事实上,基网格在定义3D建模对象几何图形的数据中是基础网格。换句话说,对象的几何图形由网格来表示。更特别地也是公知地,基网格在概念上与细分算法相关联。依据所述细分算法对基网格作无限细分将得到一个曲面,称为“细分曲面”,其代表了所设计的3D建模对象的包络/边界,从而对该3D建模对象进行建模。因此说基网格“控制”细分曲面。细分算法可以是任意已知的细分算法,例如四方网格情况下的Catmull-Clark细分算法,或三角形网格情况下的循环细分算法。
众所周知,出于实用的目的,细分曲面实际上不由系统确定。作为替代,系统以参数面片(典型的是NURBS(例如,Bézier)曲面面片)的集合的形式确定细分曲面的近似值。例如,系统存储有用于执行将网格转换成与细分曲面近似的参数面片集合的方案的程序。从这个意义上说,该方案对应于基础细分算法。在本方法的上下文中,这都意味着该方法运行于支持细分曲面技术的系统上,被配置为/适应于针对用户来定义基网格(如S10处),以及依据预定的细分方案(例如,Catmull-Clark用于四方网格,或循环法用于三角形网格),基于预定的转换算法,自动输出/计算/确定与真实的和理论的细分曲面近似的曲面,例如用于CAD中已知的对曲面进行显示/编辑/仿真或任何其它处理。所谓“近似”,是指所定义(一个正标量函数的积分)的在理论细分曲面与网格到曲面转换算法的输出之间的标量体积是小于包络该细分曲面的最小平行六面体边沿框的体积的10%或5%的。
在本方法的情况下,系统的预定转换算法是网格到NURBS曲面转换算法,意味着该基网格被转换成与关联于基网格的细分曲面近似的NURBS基本曲面/面片的集合(在随后延展性示出的例子中,该基网格是四方网格,细分方案是Catmull-Clark细分方案)。所预定的网格到NURBS曲面转换算法可称为“近似算子”,可以记为PCCM(·)。基网格B0的变换/转换以下将写作S0=PCCM(B0)。在一个例子中,算子PCCM(·)是文献US 7595799 B2(对应于EP1750229 B1)和US 7400323 B2(其中US 7595799 B2描述了如何生成NURBS面片,而US7400323 B2描述了如何改善面片之间的几何连接的质量)中描述的网格到NURBS曲面转换算法,这些文献通过引用并入本文,该算法被配置为:在除不规则(extraordinary)顶点附近之外的任何地方(即,在所有NURBS面片对之间)都得到C2的连续性,而在不规则顶点附近得到的至少是C0。但是预定的网格到NURBS曲面转换算法可以是生成除在不规则顶点附近之外(在不规则顶点附近连续性至少是C0)彼此之间都具有C2连续性的未修整的面片的任意其它已知的算子(Catmull-Clark细分收敛特性,参见“Recursively generated B-Splinesurfaces on arbitrary topological meshes”,E.Catmull,J.Clark,Computer-AidedDesign,第10卷第6期,1978年11月,第350-355页)。出于完整性的考虑,需要注意的是,如已知的,这些算子会执行初始数量的细分以便具有同质(homogenous)的网格(经常是两个),然后依据方程的求解,创建NURBS面片,该操作的复杂性基于所输入的网格面的数量而递增。因此,这些算子与多分辨率网格(该网格带有局部信息以修改预定的细分方案,从而增加局部细节)至少当增加第二或第三级细分之外的信息包括多分辨率的设定时是不相容的。
作为提示,如果顶点符合以下条件之一,顶点即可以被称为是规则的(相对的,其它顶点被称为是不规则的):
·该顶点不位于网格的独立边界(free border)上,并且被四个非锐边沿(non-sharp edges)包围(因此被四个面包围)。
·该顶点位于网格的独立边界上,并且被两个独立边沿和一个非独立且非锐边沿包围(因此被两个面包围)。
还可以在文献,尤其是US 7595799 B2(对应于EP 1750229 B1)和US 7400323 B2中找到该定义。在Catmull-Clark细分理论中规则顶点确保了最好的曲面质量。
如本身已知的那样,NURBS曲面由所谓的“控制点”的(2D)栅格定义,其具有“栅格”的通常的拓扑定义,例如,具有若干(至少两个)行和若干(至少两个)列。贯穿整个方法,该计算机系统根据预定的可逆函数确定(S20)属于NURBS曲面并且对应于控制点的栅格的曲面点的栅格。曲面点是在几何上位于/属于该曲面的点。在NURBS的情况下,直接的曲面栅格是示例的Gréville点的栅格。实现曲面Gréville点与NURBS的控制点(通常在曲面本身之外)之间一对一的对应的预定的可逆函数是从描述NURBS几何结构的众所周知的数学运算中预先确定并得出的。出于完整性的考虑,这些数学运算仍然将在下文中作详细描述。需要注意,确定S20可以以任意方式实现,例如,作为后台进程,在每次曲面及其控制点被修改时,实时重新计算Gréville点。
NURBS曲面是一种广泛应用于CAD的曲面,其通过3D空间中的数值被定义在2D空间中:S(u,v)→(x,y,z)。通过两个节点(knot)向量和控制点的一个二维阵列以及取决于所使用的CAD的软件的其它可能数据来表征NURBS曲面。典型地,节点向量是浮点数值的一维阵列。对控制点阵列可以进行索引。每个控制点是一个3D点,具有坐标x,y,z。在阵列中的位置由两个指标i和j来定义;其中,0≤i<M,0≤j<N。被认为是Gréville参数的参数集可以从节点向量算出,从而索引i或j的每个值可以与Gréville参数(ui,vj)相关联。传统地,Gréville参数是节点向量的固定数量个连续值的若干个单元。该固定数量被称为“度”,对于节点向量的每个维度(u或v)而言,该固定数量可能是不同的。总之,若干个度属于表征NURBS曲面的数据。更详细的内容,Gerald Farin的文章“Curves and surfaces for ComputerAided Geometric Design”,编辑Morgan Kaufmann,(2001),介绍了NURBS曲面的基础。
经典地,NURBS曲面由以下输入所定义。
1.(n+1)(m+1)个控制点
Figure GDA0002902592340000131
的栅格,i∈{0,…,n},j∈{0,…,m}。
2.两个正整数p,q,其出于后续将要解释的理由而被称为“度”。
3.第一有序系列的被称为“u节点向量”的实数u0≤...≤ui≤ui+1≤…≤up+n+1,使得最先的p+1个值ui是相等的,且最后p+1个值ui也是相等的。
4.第二有序系列的被称为“v节点向量”的实数v0≤…≤vj≤vj+1≤…≤vq+m+1,使得最先的q+1个值vj是相等的,且最后q+1个值vj也是相等的。
5.(n+1)(m+1)个权数ωij>0的栅格,其中,i∈{0,…,n},j∈{0,…,m}。
这些输入定义了两个B样条基,分别记为
Figure GDA0002902592340000132
Figure GDA0002902592340000133
Figure GDA0002902592340000134
Figure GDA0002902592340000135
Figure GDA0002902592340000136
B样条基函数
Figure GDA0002902592340000137
Figure GDA0002902592340000138
是分段多项式,分别具有度数p和q。它们的具体定义对本发明而言没有用处。NURBS曲面S:
Figure GDA0002902592340000139
由以下有理参数化式定义。
Figure GDA00029025923400001310
类似地,NURBS曲线C:
Figure GDA00029025923400001311
由度数p的一系列的n+1个控制点Pi和权重ωi来定义,包含在以下公式中。
Figure GDA00029025923400001312
事实上,从数学观点来看,NURBS曲面是两个NURBS曲线的张量乘积。为了清楚起见,主要用NURBS曲线而不是NURBS曲面来示例(在下面的附图上)该方法。
现在简要讨论Gréville点。
Gréville横坐标是(u,v)参数的特殊值,记为
Figure GDA0002902592340000141
Figure GDA0002902592340000142
它们由以下公式唯一定义。
Figure GDA0002902592340000143
图5示出了NURBS曲线及其n+1=6个控制点Pi和Gréville点Gi
需要注意的是,预定转换算法可包括用于局部修改或擦除NURBS结构(可能依据基网格的局部特征,或依据添加到基网格的设计规格)的细化(例如,未披露的处理)。这例如包括US 7952575 B2所说的区段的平滑化,或者US 2013293541 A1所说的特征线的定义。然而,该曲面(其面积的——如果不是100%的话——至少90%)存在于NURBS的最后阶段。需要注意的是,该方法本身构成了细化。还需注意的是,这些细化与包含在当前方法中的局部改变的设计规格之间的同时发生,可以以任意方式实现,这仅仅是实施方式的细节。还需注意的是,该方法的实施方式可以以任何方式执行,以使得该细化之间的顺序和处理的全部序列是不相关的。这包含在这样的事实中:就是说在S30确定NURBS曲面“对应于”执行给定处理。在S30所确定的NURBS因此可以被提交给该进一步的细化过程,并且仍然对应于在S30中所应对的主要处理。然而在一个示例中,基网格没有配置其他的设计规格(除了S20中的设计规格),即,基网格是“未加工的”。在另一个示例中,该同时发生的细化对整个曲面的影响少于其面积的10%,或甚而少于其面积的5%,以使得对于补偿面积,在S30确定的结果与曾提到的处理之间,存在精确的匹配。
定义S10由用户执行。其结果是得到基网格,该基网格达到对该曲面的描述与点的数量之间的良好权衡。这与纯粹的细分不同。在S10定义的基网格不同于(例如,依据相关的细分方案)来源于另一网格的纯粹细分的网格。如果这样的细分由用户在设计过程中调用,那么至少一个从细分得到的顶点可被手动移动(即,直接定位——例如,图形上而言,由用户规定的拖-放)。总之,从零开始,定义S10可以包括多个低于5或2的细分。这些细分允许对细节的定义,也因此允许复杂设计,但是基网格是用户设计的网格,因而它不会太复杂(相对而言),也因而用以上提到的转换算法种类对其进行转换相对较快,并且能得到合理数量的NURBS控制点。例如,考虑到3D建模对象的总长度L(例如,包络该3D建模对象的最小平行六面体边界框的最大长度),在S10中由用户定义的用于表征3D建模对象的基网格的一条边沿的平均长度可以高于L的1%、L的5%或甚至是L的10%。这些特征一直保留到该方法最后阶段,这保留了用户的意图。
现在讨论定义S20。
定义S20还是由用户执行。在这一点上,用户输入的数据可作为3D建模对象的附加设计规格,保存于该模型中,因此该3D建模对象至少由基网格来定义(与对于系统来说是预先确定的细分算法/曲面以及与如上述被记为PCCM()的预定算子相关),以及由2D图像和在细分曲面上雕刻该2D图像的位置来定义。因此该定义S20对应于在基于特征的CAD系统中设置一特征,和/或在基于历史的CAD系统中设置一历史设计操作,即,历史树的一个节点,这些系统本身是已知的。2D图像是任意类型的图像。它可以是照片(例如,RGB的或灰度级的),或者是用户(同一用户或者另外的用户)画的2D图(例如,也是RGB的或灰度级的)。通常来说,该2D表征了将被雕刻在最终设计的和/或制造的对象上的局部细节,例如一个logo。本方法的目的是执行“雕刻”设计操作,其也像这样由确定S30的结果来定义,并且从视觉上表征了(当之后显示由确定S30输出的曲面时)将2D视角中包含的设计向细分曲面上的真实的雕刻。然而,这对系统而言是内在的,为实施S30而(例如,依据用户需求/用户触发)预先确定的。用户仅仅指定2D图像应当被应用到哪个位置。用户可以以任何方式指定细分曲面上的这个位置,例如通过2D图像和细分曲面之间的纯粹同构关系。
例如,基网格与细分曲面相关联,系统被配置于计算其近似值(得益于算子PCCM()),该方法可包括示出所述细分曲面(的近似值)。然后用户可以图形化地定义该位置。例如,用户可以将2D图像的3d表征定位在细分曲面(基网格是3D的,2D图像可以被移到包含3D基网格的3D工作空间中)的任何地方上(附近),2D图像的大小潜在地可以随意增加或减少,并且该系统可以执行预定的投影(2D图像到曲面上,或曲面到2D图像上)。用户还可以指定2D图像的取向。用户还可以指定该投影。任何容易使用的和图形化的执行该定位的方式(相当于将该2D图像投影/附着/应用到细分曲面的表征上)都可以由该方法实现。
用户在S20处提供的位置在任何情况下都由系统解释为细分曲面上的位置,也因此会影响基网格或NURBS面片的基础面。因此系统可将基网格的面和/或NURBS面片与该位置关联起来。事实上,预定转换算法将基网格的面与所得到的NURBS面片关联起来。因此,当用户把3D图像定位在细分曲面上时,用户实际上是将它定位在NURBS面片的子集上,从而定位在基网格面的对应子集上。该关联/影响的检索可以以任何方式实现。该方法可用于向细分曲面增加小细节,同时保存其整体形状。首先,保存该曲面的拓扑结构。而且,初始细分曲面(即,简单转换基网格的结果)中超过75%,或超过90%可以留着不修改,针对这样来调整2D图像的大小(例如,在可能的扩展之后)。
现在讨论确定S30。
该方法确定了NURBS曲面,该NURBS曲面不同于由预定网格到NURBS曲面转换算法(即,PCCM()算子)所输出的曲面(可被称为“未加工的结果”或“未加工的NURBS/曲面”。在S30确定NURBS实际上对应于将形变映射应用在对基网格执行网格到NURBS曲面转换算法所得的结果上。因此,该形变映射(至少在概念上)修改了“未加工的结果”,以用2D图像来雕刻该曲面。为此,通过定义,该形变映射包括针对所述未加工结果的位置提供的位移向量,并不是任何位置,而是与雕刻2D图像的位置对应的位置。基于2D图像的对应的像素值,精确计算该位移向量,从而使其的确是雕刻在细分曲面上的2D图像。需要注意的是,位移向量可以是空(即,不位移)。实际上,可以针对比2D图像的雕刻位置更广的范围来定义形变映射,例如,整个曲面,只要在适当的地方(尤其在不涉及雕刻的位置)位移向量为空即可。这仅仅是一种实施方式。简而言之,形变映射是一种函数,它指定了细分曲面的位置(进而是基础NURBS面片的位置,诸如其控制点,和/或基网格的面上的位置)的3D移动,该方法实现了所述位置与2D图像像素(例如,根据给定标准而保留的像素)之间的预定的关联(或者其计算,即,值是预定的,或者对其进行计算的方式是预定的,并且不取决于用户的任何进一步的输入),该方法进一步实现了基于相关联像素的3D移动值的预定计算。需要注意的是,该3D动作的方向(或者其计算,即,值是预定的,或者对其进行计算的方式是预定的,并且不取决于2D图像或用户的任何进一步输入,而是例如仅仅取决于基网格)可以是预定的。
位移向量可以利用形成雕刻特征的函数来以任何方式计算,只要其是基于2D图像的。图像的像素值被映射到细分曲面(得益于定义步骤S20)的位置上,并由此映射到所考虑的NURBS曲面的位置上。在一个例子中,该方法所预期的像素值是像素灰度值。换句话说,关联于2D图像的像素的灰度值被确定,并用于计算位移向量。该2D图像可以以灰度形式提供,此时灰度值可以直接是像素值。2D图像还可以以RGB形式提供,此时该方法使用任意预定的RGB-灰度转换算法。在两种情况下,该方法都可以对所保留的值实施任何进一步的处理。
在一例子中,位移向量的幅度(或大小)基于对应的灰度值而递增。换句话说,所保留的像素值的(灰度)值越高,该方法对未加工的曲面进行越多的修改(从幅度上说)。可以实施任何递增函数。在一例子中,该函数仅是指示函数(如果像素值高于一预定阈值,则位移,否则不位移,“正位移”值和“不位移”值之间可能具有平滑化,用以避免突兀的转换)。在另一示例中,该函数是更细化的函数,例如线性函数。
用户还可以进一步从预定的二元列表中选择雕刻方向。通常,用户手动将2D图像投影/附着到曲面上,如此前已解释的那样,然后用户可选择该位移是应当在投影的方向上(即,从用户到曲面)还是反方向上(即,从曲面到用户)。可替换地,雕刻方向可以如以上提到的那样预先确定。这些都是可配置的特征,用于增加系统的用户友好性。
现在参考图6到图19,讨论该方法的一个特定例子。
如图6的流程图所示,该例子中,该方法实际上通过在S32处计算位移向量(也因此,形变映射),以及并行地在S34处对被标示为B0的基网格执行网格到NURBS曲面转换算法,来执行S30,然后示例的方法实际上在S36处,对S34的结果(记为S0=PCCM(B0))应用该形变映射(记为
Figure GDA0002902592340000181
)。
特别地,计算S32包括,根据B0,首先确定(S320)对应于2D图像的雕刻位置的第一3D网格(B4=Rn(B1))。该第一3D网格(记为B4),对应于B0的一部分,在该部分处将根据在S20的用户设计规格来雕刻2D图像。其可以对应于B0的受定义S20影响的所有面(与S20定义的位置相关的相邻区域,其可以以任何预定的方式确定),并且可以是它的细分。需要注意的是,也可以被选择性地保留无影响的面的狭带。
那么,计算S32包括:根据B4,在B4的法线方向上,基于2D图像的对应的像素值,对B4的顶点进行位移,以确定(S322)第二3D网格(B5(i)=B4(i)+diN(i))。换句话说,该方法考虑基网格的受雕刻影响的部分,并且依据该雕刻图像的像素值对其位置进行位移。按照网格在顶点的法线方向来以预定方式计算位移方向(可以实施任何法线方向计算)。可以依据以上的说明完成该计算,例如,像素灰度值线性地/按比例地/递增地确定位移的幅度(方向是法向的,取向(朝向用户或相反)是用户可选的或是预定的)。
那么,针对S34的结果的位置,计算S32可以计算(S324)位移向量(Δ(i,j)=Ci,j(S5)-Ci,j(S4)),该位移向量(Δ(i,j)=Ci,j(S5)-Ci,j(S4))等于对B5执行网格到NURBS曲面转换算法所得的结果(S5=PCCM(B5))的对应控制点(Ci,j(S5))与对B4执行网格到NURBS曲面转换算法所得的结果(S4=PCCM(B4))的对应控制点(Ci,j(S4))之间的3D位置差。在此,可计算S4和S5以对其进行快速执行。但是可以考虑任何其它计算实施方式。
基于图6的特定示例执行起来尤其有效率,这得益于它所执行的特定计算方法。此外,该示例确保了PCCM()输出的所需的连续性得以保持(除不规则顶点的相邻区域外的任何地方都是C2的连续性,在不规则顶点的相邻区域得到的至少是C0)。事实上,与PCCM算子的特征相关,该例子实现的特定代数确保了这种保持。
如图7所示,其描述了整体环境,输入的数据是细分曲面的基网格和二维图像。目标在于在由基网格定义的曲面上雕刻2D图像的细节。该雕刻的结果是得到局部形变。相对于曲面定位该2-D图像,以便定义图像的细节将位于曲面上的哪里。输出的数据是NURBS曲面,体现了被雕刻的图像。在雕刻细节之外,初始曲面的整体形状并未改变。
过程如下:
1.通过使用初始基网格B0,将输入的细分曲面转换为NURBS曲面S0
2.通过使用初始基网格B0和2D图像,执行基网格的计算。这提供了NURBS曲面S4和S5。曲面S4是局部的未改变的形状,曲面S5是局部的所雕刻的形状。
3.由NURBS曲面S4和S5,计算控制点偏差。
4.通过向NURBS曲面S0应用这些控制点偏差,来雕刻该2D图像的细节。这样可产生所得的NURBS曲面S1
显然,该方法保存了两个世界(细分曲面设计和NURBS设计)中的最佳部分,意味着不需要改变雕刻区域以外的形状,即可将图像的细节雕刻在细分曲面上。这准确捕获了该设计。
该例子的整个过程是完全自动化的,可以作为“雕刻”特征存储在基于历史的CAD系统的数据结构中。输入的是细分曲面和图像,输出的是雕刻后的NURBS曲面。在执行了雕刻操作之后,细分曲面能够被编辑,或者图像定义也能被改变。通过重新进行该雕刻特征,获得对所得的曲面的修改版本。这允许了容易、快速地改变该设计。
尽管所得曲面是NURBS曲面,然而从用户的观点来看,功能性是细分曲面的功能性。这是因为编辑是在输入的细分曲面上执行的。所得的曲面的NURBS方面是一种不限制编辑能力的处理该结果的方式。
现在结合更多实施细节来讨论该示例。
输入的数据和算子以以下方式细化。由其基网格B0定义的细分曲面近似于NURBS曲面S0。图8示出了表征花瓶的3D建模对象的基网格B0。图9示出了NURBS曲面S0(其被示出给最终用户,例如,消费者)。
包括图像的平面记为P,其设计规格由本方法连续确定(例如,更新)。其由点X0和两个正交的法向量U,V定义。平面上的任意点可以写成X0+uU+vV,其中
Figure GDA0002902592340000191
平面P的位置定义了图像将被雕刻在曲面S0的哪里。依据平面P的U,V向量定义形变映射d:
Figure GDA0002902592340000192
其捕获与每个图像点相关联的灰度级,d(u,v)=0意味着点(u,v)处没有图像细节。图像被包括在矩形I=[umin,umax]×[vmin,vmax]中,意味着在这个矩形外面d(u,v)=0。图10示出了平面P上的矩形I,和它有关于曲面S0的定位。函数d可以是递增函数,这对于技术人员而言是个实施细节。
示例的方法可以实现从3D空间到平面P的平整化操作,平面P由映射Q:
Figure GDA0002902592340000201
定义。映射Q是否是线性的是不相关的。从3D空间正交投影到平面P是由线性映射H:
Figure GDA0002902592340000202
定义的,也即:
H(X)=X0+<X-X0,U>U+<X-X0,V>V
从网格Mi到更精细网格Mi+1的网格细化被记为R,意味着Mi+1=R(Mi)。典型地,算子R是Catmull-Clark细分步骤。得到NURBS曲面S的控制点Pi,j被记为Pi,j=Ci,j(S)。
现在描述基网格计算的主要阶段。图11的图表示出了整个过程,并构成了图7的方块图“基网格计算”的细节。
第一步是识别将在其上雕刻图像的B0面。令B1为从B0提取得到的基网格,如图12所示。
该网格通过B2=Q(B1)操作而平整化到平面P,生成体现了相同的拓扑结构的平坦网格B2,如图13所示。
现在,第一3D网格(B4)的确定S310不仅包括提取基网格中对应于2D图像雕刻位置的子网格B1,如前所示地,还可包括此后的将子网格B1细分预定倍数n,如前所述。这实现了对2D图像细节的调整,以及更精炼的雕刻。
预定倍数n可以由用户(交互地)定义。然而它也可以基于与2D图像的细节水平相关联的预定标准而递增。在后者的情况下,可以完全自动地通过评估该预定标准来执行n的确定。
接下来提供该自动化的例子。
网格B2将被细分,直到该网格的大小符合图像的细节。这产生网格B3=Rn(B2),其中整数n是细分的倍数,如图14所示。相同的细分过程B3=Rn(B2)然后被应用到非平坦基网格B1,即B4=Rn(B1),如图15所示。网格B4和B3具有相同的拓扑结构。网格B3是平坦的,网格B4是不平坦的。
通过确保足够数量的细分点以表示输入的图像,尤其在非空的形变区域,来估算细分级数n:
-根据B2容易估算两个相邻细分点之间的平均长度。
-根据输入的图像,腐蚀类的算法能够计算图像空间中所有非空形变区域的平均厚度(参考“The Scientist and Engineer’s Guide to Digital Signal Processing”,Steven W.Smith)。
然后n可以首先被选择(为例如最小整数,其确保)使得比值
Figure GDA0002902592340000211
大于1。该标准对用户而言是个良好的指标。
对于每个整数i,令Xi=(xi,yi,zi)为平坦网格B3的第i个点B3(i)的3D坐标。在平面P的局部2D轴系统中,该点的2D坐标是(ui,vi),其中ui=<Xi-X0,U>U,vi=<Xi-X0,V>V。令di=d(ui,vi)为平面P在点(ui,vi)处的形变映射的值。
网格B4现在被变为体现了相同的拓扑结构的另一网格B5,并且被修改如下。对于每个整数i,令N(i)为按照网格Rn-1(B1)、通过使用B4(i)的邻近点计算的法向量。通过对n-1级的每个细分单元周围的法线取平均,计算向量N(i)。然后,网格B5的第i个点由B5(i)=B4(i)+diN(i)定义。这在图16中示出。
目前为止,所有计算都是在网格上执行的。现在,是时候翻译控制点方面的信息了,因为,最终,输出的是NURBS曲面。令S4为与由网格B4定义的细分曲面近似的NURBS曲面,即S4=PCCM(B4),如图17所示。类似地,令S5为与由网格B5定义的细分曲面近似的NURBS曲面,即S5=PCCM(B5),如图18所示。
必须理解的是,S5不是所得曲面的局部形状。S5的边界不适配初始曲面S0
为了报告S0的形变,由S4和S5计算新的函数Δ。
通过构造:
-除了不规则顶点的相邻区域之外,来自S4(相应的是S5)的NURBS面片互相之间是C2,在不规则顶点的相邻区域它们至少是C0(根据定义PCCM(·))
-形变区域中的每个基网格面可以链接到两个NURBS面片:一个在S4,一个在S5。然而,这两个面片通常不具有相同的节点向量,并且在定义Δ之前,可以通过节点插入或度数提升(参见“The NURBS Book”,L.Piegl和T.Wayne,Springer,第二版,2013年)而针对每对面片均匀化其向量。
控制点偏差的映射
Figure GDA0002902592340000221
由S5和S4控制点的差来定义:Δ(i,j)=Ci,j(S5)-Ci,j(S4)。该形变映射将仅被应用于S0上的形变区域面片的子集上。在此,这些面片的节点向量大体上仍然与Δ的节点向量不一致,因此它们也需要被均匀化。
一旦完成,通过对有关的NURBS曲面的控制点应用偏差Δ(i,j),获得初始曲面S0的形变,生成输出曲面S1。通过应用Δ,来保留S1的几何连续性。如果Φ表征由Δ的控制点和S0的均匀化的节点向量计算出的形状,那么除了不规则顶点的相邻区域外,Φ的面片互相之间是C2,在不规则顶点的相邻区域它们至少是C0。因此S1可以表达为线性组合:S1=S0+S5-S4、S0、S4和S5拥有相同的参数化(它们的面片共享相同的节点向量),它们几乎在所有地方都是C2,S1也是如此。正如已经提到的,该方法可以在任何必要的地方实现上述合适的均匀化(如众所周知的,并且解释在参见“The NURBS Book”,L.Piegl和T.Wayne,Springer,第二版,2013年)。
图19示出了最终结果。
图20至图26示出了在实际案例中该方法的应用。
图20示出了不同纹理,图21示出了将这些纹理应用于平行六面体3D建模对象(由基础基网格来建模,该基础基网格没有以图21的模式向用户示出,在该情况中其可以是很简单的)的顶面上的结果,得益于该方法。可见,该方法可用于在平面上鲜明地雕刻纹理。图22示出了吹风机,在它们的前面上雕刻有图案。图24示出了在平面上和在剃须刀柄上雕刻图23所示图案的结果。图25示出了完整设计的剃须刀,带有雕刻于其上的所述图案。图26示出了用该方法在3D建模对象264上雕刻标志260和图案/浮雕262的结果(对象264也由基础基网格来建模,该基础基网格没有以图21的模式向用户示出)。

Claims (11)

1.一种计算机实现的用于设计3D建模对象的方法,所述方法包括以下步骤:由用户定义与细分曲面以及相应的网格到NURBS曲面的预定转换算法相关的基网格,所述细分曲面表征所述3D建模对象;由所述用户定义2D图像和用于在所述细分曲面上雕刻所述2D图像的位置;以及确定与将形变映射应用在对所述基网格执行所述网格到NURBS曲面的预定转换算法所得的结果对应的NURBS曲面,所述形变映射包括在对所述基网格执行所述网格到NURBS曲面的预定转换算法所得的结果上、与用于雕刻所述2D图像的位置对应的位置提供的位移向量,所述位移向量是基于所述2D图像的对应像素值利用形成雕刻特征的函数来计算的。
2.根据权利要求1所述的方法,其中,所述方法包括计算所述位移向量,包括:从所述基网格确定与用于雕刻所述2D图像的位置对应的第一3D网格;通过基于所述2D图像的对应像素值在所述第一3D网格的法线方向移动所述第一3D网格的顶点,来从所述第一3D网格确定第二3D网格;以及计算位移向量,每个位移向量等于相应第一控制点与相应第二控制点之间的3D位置差,其中,所述相应第二控制点是对所述第二3D网格执行所述网格到NURBS曲面的预定转换算法所得的结果的控制点,所述相应第一控制点是对所述第一3D网格执行所述网格到NURBS曲面的预定转换算法所得的结果的控制点。
3.根据权利要求2所述的方法,其中,确定所述第一3D网格包括:提取所述基网格中的与用于雕刻所述2D图像的位置对应的子网格,以及在之后以预先确定的倍数细分所述子网格。
4.根据权利要求3所述的方法,其中,所述预先确定的倍数是由所述用户定义的和/或是基于与所述2D图像的细节水平有关的预先确定的标准而递增的。
5.根据权利要求1所述的方法,其中,所述2D图像的对应像素值是像素灰度值。
6.根据权利要求5所述的方法,其中,位移向量的幅度是基于对应的所述灰度值而递增的。
7.根据权利要求1-6中的任一项所述的方法,其中,所述用户进一步从预先确定的二元列表中选择雕刻方向。
8.一种用于设计3D建模对象的装置,包括基于由权利要求1-7中的任一项所述的方法设计而成的3D建模对象而制造的部件。
9.一种制造产品的方法,包括:根据权利要求1-7中任一项所述的方法设计3D建模对象,以及基于所设计的3D建模对象来制造所述产品。
10.一种计算机可读数据存储介质,存储用于使得计算机执行权利要求1-7中的任一项所述的方法的计算机可执行指令。
11.一种CAD系统,包括耦合到GUI和存储器的处理器,所述存储器上存储有指令,所述指令在由所述处理器运行时使得所述CAD系统执行权利要求1-7中的任一项所述的方法。
CN201610150690.8A 2015-02-02 2016-02-02 在细分曲面上雕刻2d图像 Active CN105844711B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15305153.7A EP3051446A1 (en) 2015-02-02 2015-02-02 Engraving a 2D image on a subdivision surface
EP15305153.7 2015-02-02

Publications (2)

Publication Number Publication Date
CN105844711A CN105844711A (zh) 2016-08-10
CN105844711B true CN105844711B (zh) 2021-07-06

Family

ID=52595241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610150690.8A Active CN105844711B (zh) 2015-02-02 2016-02-02 在细分曲面上雕刻2d图像

Country Status (4)

Country Link
US (2) US10108752B2 (zh)
EP (1) EP3051446A1 (zh)
JP (1) JP6773419B2 (zh)
CN (1) CN105844711B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3554349A4 (en) 2016-12-19 2020-06-17 Lantos Technologies, Inc. MANUFACTURE OF INFLATABLE MEMBRANES
US10915678B1 (en) * 2016-12-22 2021-02-09 Msc.Software Corporation Surface mapping apparatuses and methods
US10810793B2 (en) 2017-03-13 2020-10-20 Technion Research & Development Foundation Limited Microstructures and porous geometry modeling
US10725452B2 (en) * 2017-03-13 2020-07-28 Technion Research & Development Foundation Limited Systems and methods for manufacturing of microstructures
US10783708B2 (en) * 2017-03-14 2020-09-22 Siemens Industry Software Inc. Systems and methods for determining mass properties of a modeled object
CN107256557B (zh) * 2017-05-03 2020-05-22 华南理工大学 一种误差可控的细分曲面图像矢量化方法
US11016470B2 (en) * 2018-11-09 2021-05-25 Autodesk, Inc. Conversion of mesh geometry to watertight boundary representation
JP2019075132A (ja) * 2018-11-29 2019-05-16 株式会社ゼンリン 走行支援装置、プログラム
CN109685911B (zh) * 2018-12-13 2023-10-24 谷东科技有限公司 一种可实现虚拟试衣的ar眼镜及其实现方法
US11120625B2 (en) * 2019-04-02 2021-09-14 Autodesk, Inc. Producing overall curvature continuous surfaces from subdivision surface meshes
US11928391B2 (en) * 2019-04-02 2024-03-12 Autodesk, Inc. Hybrid surface modelling with subdivision surfaces and NURBS surfaces
CN110189392B (zh) * 2019-06-21 2023-02-03 重庆大学 一种流速流向测绘图自动分幅方法
CN111400934B (zh) * 2020-04-15 2023-04-07 天华化工机械及自动化研究设计院有限公司 基于workbench低温碳化炉氧含量分布模拟方法
CN113572846A (zh) * 2021-07-27 2021-10-29 广州引力波信息科技有限公司 一种跨平台数据交换插件系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738062B1 (en) * 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation
US6859202B2 (en) * 2002-04-23 2005-02-22 Alias Systems Corp. Conversion of a hierarchical subdivision surface to nurbs
US20060109269A1 (en) * 2001-01-08 2006-05-25 Sensable Technologies, Inc. Systems and methods for three-dimensional modeling
US7944443B1 (en) * 2006-06-09 2011-05-17 Pixar Sliding patch deformer
CN103500236A (zh) * 2012-05-02 2014-01-08 达索系统公司 设计3d模型对象
US20140267268A1 (en) * 2013-03-15 2014-09-18 3D Systems, Inc. Apparatus and methods for detailing subdivision surfaces

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104855B2 (ja) 1985-03-28 1995-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 数値シミュレーション装置
US5428718A (en) 1993-01-22 1995-06-27 Taligent, Inc. Tessellation system
US5510995A (en) 1993-08-13 1996-04-23 Iowa State University Research Foundation, Inc. Sculptured surface synthesis based on functional design constraints
US6639592B1 (en) 1996-08-02 2003-10-28 Silicon Graphics, Inc. Curve network modeling
US6037949A (en) 1997-08-04 2000-03-14 Pixar Animation Studios Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation
JPH11156674A (ja) * 1997-12-01 1999-06-15 Nkk Corp 凹凸模様付き容器の製造方法
US6389154B1 (en) 1998-07-15 2002-05-14 Silicon Graphics, Inc. Exact evaluation of subdivision surfaces generalizing box splines at arbitrary parameter values
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
US6271856B1 (en) 1998-11-19 2001-08-07 Paraform, Inc. Creating and modifying parameterizations of surfaces
US6256038B1 (en) * 1998-12-10 2001-07-03 The Board Of Trustees Of The Leland Stanford Junior University Parameterized surface fitting technique having independent control of fitting and parameterization
US6553337B1 (en) 1998-12-23 2003-04-22 Silicon Graphics, Inc. Parameterization of subdivision surfaces
WO2001008102A1 (en) 1999-07-23 2001-02-01 Curventa Softworks, Llc Geometric design and modeling system using control geometry
JP2001067491A (ja) 1999-08-30 2001-03-16 Sega Corp 再分割多角形を用いる画像表示方法及び装置
US6636853B1 (en) 1999-08-30 2003-10-21 Morphism, Llc Method and apparatus for representing and navigating search results
US6603473B1 (en) 2000-04-12 2003-08-05 California Institute Of Technology Detail data pertaining to the shape of an object surface and related methods and systems
US7023435B1 (en) 2000-04-12 2006-04-04 California Institute Of Technology Object surface representation and related methods and systems
US6476804B1 (en) * 2000-07-20 2002-11-05 Sony Corporation System and method for generating computer animated graphical images of an exterior patch surface layer of material stretching over an understructure
US6587105B1 (en) 2000-09-29 2003-07-01 Silicon Graphics, Inc. Method and computer program product for subdivision generalizing uniform B-spline surfaces of arbitrary degree
WO2002041190A2 (en) 2000-11-15 2002-05-23 Holbrook David M Apparatus and method for organizing and/or presenting data
US6760022B1 (en) 2001-01-11 2004-07-06 Autodesk, Inc. Simple soft creases for subdivision surfaces
JP4253190B2 (ja) 2001-02-01 2009-04-08 メンタル イメージズ ゲーエムベーハー 細分表面における滑らかな特徴線の生成
US7272541B2 (en) 2001-02-16 2007-09-18 Dassault Systems Method and system for generating and handling a harmonized network of points
JP3954318B2 (ja) 2001-03-09 2007-08-08 独立行政法人科学技術振興機構 3次元モデル変形システム
JP4330285B2 (ja) 2001-04-16 2009-09-16 沖電気工業株式会社 機械翻訳用辞書登録装置、機械翻訳用辞書登録方法、機械翻訳装置、機械翻訳方法及び記録媒体
US6806874B2 (en) 2001-07-24 2004-10-19 International Business Machines Corporation Method and apparatus for providing sharp features on multiresolution subdivision surfaces
US7080059B1 (en) 2002-05-13 2006-07-18 Quasm Corporation Search and presentation engine
US7227545B2 (en) 2002-05-24 2007-06-05 Autodesk, Inc. Unified subdivision scheme for polygonal modeling
US7200532B1 (en) 2002-06-14 2007-04-03 University Of Kentucky Research Foundation Subdivision surface-based geometric modeling system
US6950099B2 (en) 2002-07-01 2005-09-27 Alias Systems Corp. Approximation of Catmull-Clark subdivision surfaces by Bezier patches
KR101177131B1 (ko) 2003-03-26 2012-08-24 티-스플라인즈, 인크. 국부 정교화를 이용하여 t-스플라인 및 t-nurcc표면을 정의하기 위한 시스템 및 방법
US7251777B1 (en) 2003-04-16 2007-07-31 Hypervision, Ltd. Method and system for automated structuring of textual documents
US8471852B1 (en) 2003-05-30 2013-06-25 Nvidia Corporation Method and system for tessellation of subdivision surfaces
US7369972B2 (en) 2003-11-25 2008-05-06 International Business Machines Corporation System, method, and program product for re-parameterizing three dimensional models represented as Catmull-Clark subdivision surfaces
US7936352B2 (en) 2004-07-21 2011-05-03 Dassault Systemes Solidworks Corporation Deformation of a computer-generated model
PL1861458T3 (pl) 2005-03-21 2010-09-30 Chemtura Corp Opóźniacze płomieni i opóźniające płomień polimery
WO2006111976A2 (en) 2005-04-18 2006-10-26 Technion Research & Development Foundation Ltd. Automatic remeshing by mapping a 2d grid on 3d genus-g meshes based on topological analysis
US7400323B2 (en) 2005-08-04 2008-07-15 Dassault Systemes Process for creating a parametric surface having a required geometrical continuity
US7595799B2 (en) 2005-08-04 2009-09-29 Dassault Systemes Process for creating from a mesh an isotopologic set of parameterized surfaces
US7443393B2 (en) 2006-01-19 2008-10-28 International Business Machines Corporation Method, system, and program product for re-meshing of a three-dimensional input model using progressive implicit approximating levels
KR100707841B1 (ko) 2006-04-04 2007-04-17 중앙대학교 산학협력단 3차원 목표곡선을 이용한 곡면 변형 장치 및 그 방법
US7821513B2 (en) 2006-05-09 2010-10-26 Inus Technology, Inc. System and method for analyzing modeling accuracy while performing reverse engineering with 3D scan data
EP1881458B1 (en) 2006-07-21 2011-06-08 Dassault Systèmes Computer-implemented process for creating a parametric surface
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
US20080024499A1 (en) 2006-07-27 2008-01-31 Christopher Bateman Method and apparatus of manipulating parameterized surfaces
EP1883020B1 (en) 2006-07-28 2013-05-22 Dassault Systèmes Method and system for navigating in a database of a computer system
US20090027396A1 (en) 2007-07-26 2009-01-29 Tufts University Method for fitting a parametric representation to a set of objects
US8525838B2 (en) 2008-02-08 2013-09-03 Autodesk, Inc. Associative fillet
US8269770B1 (en) 2008-02-29 2012-09-18 Adobe Systems Incorporated Tessellation of trimmed parametric surfaces by walking the surface
BRPI0917864A2 (pt) * 2008-08-15 2015-11-24 Univ Brown aparelho e método para estimativa da forma corporal
US8279239B1 (en) * 2009-03-02 2012-10-02 Pixar Animation Studio Graphical user interface for performing deformations
US8970628B1 (en) * 2009-03-02 2015-03-03 Pixar Graphical user interface for performing deformations
US8610720B2 (en) 2009-04-24 2013-12-17 Adobe Systems Incorporated Decomposing an n-sided patch into multiple patches
CN101887470A (zh) 2009-05-15 2010-11-17 鸿富锦精密工业(深圳)有限公司 常规曲面转换到自由曲面的计算机系统及方法
US8731876B2 (en) 2009-08-21 2014-05-20 Adobe Systems Incorporated Creating editable feature curves for a multi-dimensional model
US9036898B1 (en) * 2011-01-18 2015-05-19 Disney Enterprises, Inc. High-quality passive performance capture using anchor frames
US8810571B2 (en) 2011-02-14 2014-08-19 IntegrityWare, Inc. Methods and systems for generating continuous surfaces from polygonal data
JP5791312B2 (ja) * 2011-03-08 2015-10-07 カルソニックカンセイ株式会社 表面加工データの作成方法および装置
EP2523130A1 (en) 2011-05-11 2012-11-14 Dassault Systèmes Method for designing a geometrical three-dimensional modeled object
US9013480B2 (en) 2011-10-21 2015-04-21 IntegrityWare, Inc. Methods and systems for generating and editing surfaces
US20130271459A1 (en) 2012-04-13 2013-10-17 IntegrityWare, Inc. Systems and methods of editing graphical data
CN103424070A (zh) 2012-05-23 2013-12-04 鸿富锦精密工业(深圳)有限公司 曲面坐标系建立系统及方法
US10013792B2 (en) * 2013-06-28 2018-07-03 Vital Mechanics Research Inc. Methods and systems for computer-based skin animation
US9734264B2 (en) * 2014-05-05 2017-08-15 Microsoft Technology Licensing, Llc Fabricating three-dimensional objects with embossing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060109269A1 (en) * 2001-01-08 2006-05-25 Sensable Technologies, Inc. Systems and methods for three-dimensional modeling
US6738062B1 (en) * 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation
US6859202B2 (en) * 2002-04-23 2005-02-22 Alias Systems Corp. Conversion of a hierarchical subdivision surface to nurbs
US7944443B1 (en) * 2006-06-09 2011-05-17 Pixar Sliding patch deformer
CN103500236A (zh) * 2012-05-02 2014-01-08 达索系统公司 设计3d模型对象
US20140267268A1 (en) * 2013-03-15 2014-09-18 3D Systems, Inc. Apparatus and methods for detailing subdivision surfaces

Also Published As

Publication number Publication date
US10108752B2 (en) 2018-10-23
US11144679B2 (en) 2021-10-12
JP6773419B2 (ja) 2020-10-21
US20180373816A1 (en) 2018-12-27
EP3051446A1 (en) 2016-08-03
JP2016157429A (ja) 2016-09-01
US20160224693A1 (en) 2016-08-04
CN105844711A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN105844711B (zh) 在细分曲面上雕刻2d图像
CN106713923B (zh) 三维建模对象的压缩
KR101250163B1 (ko) 메쉬로부터 파라미터화 표면의 아이소토폴로직(isotopologic) 세트를 생성하는 프로세스
CN108228987B (zh) 副本选择
KR102060839B1 (ko) 3d 모델링된 객체의 설계
CN108073682B (zh) 基于参数视图函数查询数据库
EP2833326B1 (en) Lossless compression of a 3D mesh including transforming of the mesh to a image
KR100707841B1 (ko) 3차원 목표곡선을 이용한 곡면 변형 장치 및 그 방법
CN105718626B (zh) 由控制点的栅格定义的3d建模对象
JP2019106177A (ja) 3d部品の付加製造
CN105761303B (zh) 在3d建模组件上创建包围盒
EP3525175A1 (en) Designing a part manufacturable by milling operations
KR20140139984A (ko) 3d 모델링된 오브젝트의 압축 및 압축해제
CN111382530A (zh) 学习用于推测实体cad特征的神经网络
CN111382778A (zh) 形成用于推测实体cad特征的数据集
JP2019075103A (ja) 機械部品を表す2d図面の生成
JP2020115340A (ja) 弱型定義を用いるモデリング
CN107526859B (zh) 设计复合零件的外表面以用于生产模具的方法、装置及系统
US11605200B2 (en) System for optimizing a 3D mesh
CN111105501A (zh) B-rep皮肤的3d设计
CN111383342A (zh) 使用弱类型定义进行灵活建模
EP4312192A1 (en) Design of a 3d modeled object representing a manufacturing product
JP2023160791A (ja) 画像からの3d再構成

Legal Events

Date Code Title Description
C06 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