CN115157654B - 一种彩色3d模型的表面颜色向内扩散方法 - Google Patents

一种彩色3d模型的表面颜色向内扩散方法 Download PDF

Info

Publication number
CN115157654B
CN115157654B CN202210894743.2A CN202210894743A CN115157654B CN 115157654 B CN115157654 B CN 115157654B CN 202210894743 A CN202210894743 A CN 202210894743A CN 115157654 B CN115157654 B CN 115157654B
Authority
CN
China
Prior art keywords
point
color
points
voxel
value
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
CN202210894743.2A
Other languages
English (en)
Other versions
CN115157654A (zh
Inventor
杨伟东
刘睿颖
李浩南
马千朝
王媛媛
于建军
贾照强
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.)
Tangshan Haozhong Technology Co ltd
Hebei University of Technology
Original Assignee
Tangshan Haozhong Technology Co ltd
Hebei University of Technology
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 Tangshan Haozhong Technology Co ltd, Hebei University of Technology filed Critical Tangshan Haozhong Technology Co ltd
Priority to CN202210894743.2A priority Critical patent/CN115157654B/zh
Publication of CN115157654A publication Critical patent/CN115157654A/zh
Application granted granted Critical
Publication of CN115157654B publication Critical patent/CN115157654B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/10Processes of additive manufacturing
    • B29C64/106Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
    • B29C64/112Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using individual droplets, e.g. from jetting heads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y10/00Processes of additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Image Generation (AREA)

Abstract

本发明为一种彩色3D模型的表面颜色的向内扩散方法,对彩色3D模型进行分层切片,对切片轮廓进行栅格化,将表面体素点与纹理像素点的颜色值进行绑定,获得带有颜色信息的表面体素模型;利用扫描线填充算法对切片轮廓内部进行填充获得内部体素点;设定表面颜色向内扩散的阈值n0,将彩色3D模型表面带有颜色信息的体素点沿该体素点法向量的反方向在设置的阈值范围内进行扩散;计算表面体素点向内扩散阈值范围内的内部体素点的颜色值,将内部体素点受到多个表面体素点影响下计算获得的颜色值,计算各表面体素点的颜色值在该内部体素点最终表征的颜色值计算公式中所占的权重,按照权重计算获得最终颜色值。提出一种新的表面颜色向内扩散的方法。

Description

一种彩色3D模型的表面颜色向内扩散方法
技术领域
本发明涉及一种彩色3D模型的表面颜色向内扩散方法。
背景技术
在增材制造领域,立体喷射打印技术(Three-Dimension Printing,3DP)、聚合物喷射成型技术(PolyJet)等工艺均具有体素级成型的能力,通过喷射装置将微小液滴状态的打印材料阵列排布在打印平面的指定位置处,实现工艺过程中对模型的体素级的控制。3D模型通过离散的方式将需要打印的模型进行体素化,生成一个可以精确表达模型的体素点的集合。体素模型的基本单元体素点是模型在三维空间中最小的表达单位,除了几何信息,体素点中可同时包括颜色、材质和透明度等属性的信息,可以实现多彩色和多材料模型的打印。
现有的彩色3D打印技术中,使用粉末粘结剂和层压技术的打印系统虽然可以有效实现彩色3D打印,但没有多喷射系统打印成型制件的表面光滑,而且只能使用几乎不透明的材料,无法调制具有复杂外观特性的颜色。目前市场上用于彩色打印的多喷射3D打印机,彩色材料是半透明的,这意味着材料表面下体素的颜色可以在极大的程度上影响视觉感知。因此,控制彩色3D模型表面下体素的颜色设置非常重要。
因此,本发明提出一种新的表面颜色向内扩散的方法。
发明内容
针对现有技术的不足,本发明拟解决的技术问题是,提供一种彩色3D模型的表面颜色向内扩散方法及扫描线填充方法。
本发明解决所述技术问题采用的技术方案是:
第一方面,本发明提供一种彩色3D模型的表面颜色的向内扩散方法,其特征在于,该方法包括以下内容:
对彩色3D模型进行分层切片,对分层切片获得的切片轮廓进行栅格化,得到模型的表面体素点,同时将模型表面的纹理图片进行离散并获取纹理像素点的颜色值,将模型的表面体素点与纹理像素点的颜色值进行绑定,获得带有颜色信息的表面体素模型;
利用扫描线填充算法对切片轮廓内部进行填充获得内部体素点;
设定表面颜色向内扩散的阈值n0,将彩色3D模型表面带有颜色信息的体素点沿该体素点法向量的反方向在设置的阈值范围内进行扩散,阈值为被表面体素点影响的模型内部体素点的个数;计算表面体素点向内扩散阈值范围内的内部体素点的颜色值,将内部体素点受到多个表面体素点影响下计算获得的颜色值,按照两点之间距离的远近,来计算各表面体素点的颜色值在该内部体素点最终表征的颜色值计算公式中所占的权重,并按照权重计算获得该内部体素点的最终颜色值。
本发明第一方面的技术方案对于模型表面颜色的表达,利用了模型表面三角网格的法向量,带有颜色信息的表面体素点沿所属三角网格的法向量的反方向,将模型表面的颜色向模型的内部进行扩散,提供了一种新的彩色3D模型的表面颜色的向内扩散的方法,用于彩色3D打印技术中。
当模型中出现了夹角大于180°的相邻的三角网格,进行颜色二次扩散,将相邻的三角网格对应的切片轮廓线段的相交点法向量的反方向,进行颜色向内扩散,向内扩散阈值范围内的模型内部体素点的颜色进行二次扩散,向内扩散阈值范围内的内部体素点哪个方向出现颜色扩散增量时,该内部体素点将在垂直这个方向的正负方向上进行颜色的二次扩散,获得内部体素点的二次扩散颜色值,将内部体素点的二次扩散颜色值作为当前内部体素点的最终颜色值。将模型内部属于三角网格边缘扩散范围内的内部体素点的颜色进行二次扩散,使模型表面三角网格公共边处的附近的体素点实现颜色的再现,能解决夹角大于180°的相邻三角网格之间的区域颜色设置的问题。
所述扫描线填充算法包括:通过切片轮廓线段栅格化获得所有栅格点,同时找到切片轮廓中带有颜色信息的表面体素点,对于栅格化生成的栅格点进行填充标志点判断,若为填充标志点则进行保留否则删去该栅格点;
完成填充标志点判断后,统计y值相同的扫描线上所有的栅格点,对于y值相同的扫描线上的栅格点按照x坐标值的大小进行排序编号,在切片轮廓内部按照奇偶配对原则进行填充,获得内部体素点。
所述填充标志点的判断是按照栅格点所属切片轮廓线段的斜率来判断。所述填充标志点的判断条件是:
切片轮廓线段的斜率k在k->∞、k≥1和k≤-1的情况下,栅格化生成的栅格点的y值都不相同,所以这些栅格点只需要按照“上开下闭”的原则剔除奇点后,剩余的栅格点保存为填充标志点;
在切片轮廓线段的斜率为0时,生成的所有栅格点的y值都相同,并且栅格点的数量不可控,所以斜率为0的轮廓线生成的栅格点都不保存为填充标志点;
在切片轮廓线段的斜率为-1<k<0条件下,当轮廓线法向量Np与X轴正向夹角大于225°小于270°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于45°小于90°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点;
在切片轮廓线段的斜率为0<k<1条件下,当轮廓线法向量Np与X轴正向夹角大于90°小于135°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于270°小于315°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点。
将上述的扫描算法和颜色向内扩散方式用于彩色3D模型的彩色3D打印中,能够精准地再现彩色3D模型表面颜色。
第二方面,本发明提供一种获得体素模型的扫描线填充方法,其特征在于,该扫描线填充方法包括以下内容:
对3D模型进行分层切片,对分层切片获得的切片轮廓,同时对切片轮廓的组成线段进行栅格化;
获得所有切片轮廓线段栅格化生成的栅格点,也就是获得所有表面体素点,对于栅格化生成的栅格点进行填充标志点判断,确定为填充标志点进行保留否则删去该栅格点;
完成填充标志点判断后,统计y值相同的扫描线上所有的栅格点,对于y值相同的扫描线上的栅格点按照x坐标值的大小进行排序编号,在切片轮廓内部按照奇偶配对原则进行填充,获得内部体素点;
所述表面体素点和内部体素点构成体素模型。
所述填充标志点的判断是按照表面体素点所属切片轮廓线段的斜率来判断,具体是:
切片轮廓线段的斜率k在k->∞、k≥1和k≤-1的情况下,栅格化生成的栅格点的y值都不相同,所以这些栅格点只需要按照“上开下闭”的原则剔除奇点后,剩余的栅格点保存为填充标志点;
在切片轮廓线段的斜率为0时,生成的所有栅格点的y值都相同,并且栅格点的数量不可控,所以斜率为0的轮廓线生成的栅格点都不保存为填充标志点;
在切片轮廓线段的斜率为-1<k<0条件下,当轮廓线法向量Np与X轴正向夹角大于225°小于270°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于45°小于90°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点;
在切片轮廓线段的斜率为0<k<1条件下,当轮廓线法向量Np与X轴正向夹角大于90°小于135°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于270°小于315°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点。
本发明第二方面提供的获得体素模型的方法,能够对模型内部进行完全填充,获得模型内部体素点的位置坐标。将其与第一方面的技术方案联合使用,实现彩色3D模型的完全体素化后再进行有效的颜色扩散,使得颜色呈现更加精确。
与现有技术相比,本发明的有益效果是:
本发明的实质性特点是:本发明针对彩色3D模型的特点,对其体素化过程中的内部填充方法进行改进,并针对表面颜色再现的出现的问题提出了解决办法,实现了彩色3D模型表面颜色精准地再现。
本发明针根据彩色3D模型的特点,对扫描线填充算法进行了改进,既保证了模型表面带有颜色信息的体素点不丢失,还保证了模型内部填充时不能出现抽丝和空缺的问题。
针对一般的彩色3D模型的表面颜色再现,模型表面颜色向内扩散方式将模型表面的颜色扩散至模型的内部,加深表面颜色纵向的深度,增强了模型的视觉效果,计算时间与扩散的纵深的深度具有线性关系,具有较低的时间复杂度。
针对模型中存在夹角大于180°的相邻三角网格的模型的表面颜色再现,将体素点的颜色进行了二次扩散,使夹角处的体素点也具有颜色信息,得到颜色精确地再现的彩色3D模型。
在上述问题的现有的研究方向中,使用误差扩散半色调算法对模型内部等高线上的体素点的颜色值进行设置的方法具有较高的时间复杂度,因为随着模型的精细化,体素点大小逐渐减小,这将导致体素模型具有数量庞大的体素点,模型体素化的时间成本呈指数增加,使用误差扩散半色调算法对模型表面下的体素颜色进行设置所使用的计算时间也将大大增加,而本发明所提出的扩散方式能够大大降低时间复杂度。
附图说明
图1(a)为理想直线栅格化后所形成的栅格点示意图;
图1(b)为保留填充标志点后的效果图;
图1(c)为传统扫描线填充算法的填充效果图;
图1(d)为按照保留填充标志点的方式获得的扫描线填充算法的填充效果图。
图2为斜率不同的直线栅格化的示意图。
图3(a)为彩色3D模型的三角网格模型的法向量示意图;
图3(b)为三角网格模型的投影向量;
图3(c)为切片轮廓的法向量示意图。
图4(a)为切片轮廓为不规则多边形时的填充标志点的保留效果图;
图4(b)为通过斜率判断填充标志点后所保留的填充标志点的效果示意图;
图4(c)为按照奇偶配对原则进行填充获得切片轮廓多边形的内部体素点。
图5为表面体素点的颜色值沿法向量的反方向向内扩散示意图。
图6为受到表面体素颜色值影响的内部体素点。
图7为凹陷轮廓边附近相交区域的效果示意图。
图8为颜色值的二次扩散效果示意图。
图9为站立的狗的体素化模型切片示意图。
具体实施方式
下面结合实施例及附图进一步解释本发明,但并不以此作为对本申请保护范围的限定。
扫描线填充算法:获得模型的二维切片轮廓,经栅格化处理后获得表面体素模型,具有相同z坐标的表面体素点为同一切片轮廓上的点,这些表面体素点组成了栅格化的切片轮廓,切片轮廓上的表面体素点在忽略z坐标后被称为栅格点,按照栅格点所属切片轮廓的线段的斜率来判断该体素点是否保留为填充标志点,填充标志点在扫描线填充算法中作为多边形内部按照奇偶配对原则进行填充时的重要标志。
彩色3D模型由若干个三角网格呈现,按照传统的模型分层切片的过程离散为二维的切片轮廓,对切片轮廓进行栅格化获得栅格点,栅格点为具有表面体素点中心坐标的点,表征模型表面体素点的几何信息,所有的表面体素点组成了表面体素模型,同时,模型的表面纹理离散为具有RGB三通道颜色值信息的纹理像素点,将表面体素点的几何信息与表面纹理中对应的纹理像素点绑定,获得带有颜色信息的表面体素模型。在表面体素模型的所有表面体素点中,具有相同z坐标的表面体素点为同一切片轮廓上的点,这些表面体素点组成了栅格化的切片轮廓,栅格化后的切片轮廓上的表面体素点在忽略z坐标后可以被称为栅格点。使用扫描线填充算法对这些表面体素点组成的切片轮廓的内部进行填充,获得内部体素点。
如图1(a)所示为将理想直线进行栅格化的过程示意图,图中黑色像素点表示的是任意理想直线栅格化后生成栅格点,可以看到具有相同y值的黑色栅格点不止一个。常规的扫描线填充算法对多边形内部进行填充的过程中,是根据扫描线上具有相同y坐标值的奇数点和偶数点这两个点之间的跨度来对多边形的内部进行填充的,奇数点和偶数点的配对遵循了奇偶原则。栅格化的切片轮廓上的表面体素点在忽略z坐标后可以被称为栅格点,栅格点需要使用奇偶原则进行配对,来对切片轮廓的内部进行填充,所以在扫描线上,y值相同的栅格点只能保留一个,否则在切片轮廓内部进行填充时就会出现空缺或抽丝的问题,如图1(b)所示,理想直线在这里可以认为是切片轮廓的线段,在同一扫描线(X方向水平线)上,y值相同的栅格点只能保留一个,即y值相同的黑色栅格点只有一个,在同一条扫描线上被保留的黑色栅格点称为填充标志点。
图1(c)为一个多边形的切片轮廓经栅格化后直接按照奇偶规则对内部进行填充的示意图,P0~P6为多边形按逆时针进行排序的7个顶点,在y=8的扫描线上找到切片轮廓中带有颜色信息的表面体素点作为黑色栅格点,线段P6P0栅格化生成的栅格点在y=8的扫描线上存在两个y值相同的黑色栅格点,在同一条扫描线y=8上形成多个黑色栅格点,黑色栅格点按x坐标值的大小进行排序,得到如图1(c)所示的点1、2、3、4、5,在填充时,按照奇偶原则点1、2之间和点3、4之间为填充区间,被灰色栅格点填充(表示被填充了),若为偶数和奇数之间,如点4和5之间不进行填充,图中呈现空白区域,显然这种传统的扫描线填充算法不能对多边形内部进行完全的填充,会存在未填充区域。
图1(d)为多边形轮廓上的栅格点只保留填充标志点后按照奇偶原则进行填充的示意图,在y=8的扫描线上找到切片轮廓中带有颜色信息的表面体素点作为黑色栅格点,线段P6P0栅格化生成的栅格点在y=8的扫描线上存在两个y值相同的栅格点,这两个y值相同的栅格点只能保留一个,图中删去一个点,在y=8的扫描线上形成四个黑色栅格点,黑色栅格点按x坐标值的大小进行排序,依次记为点1、2、3和4,以此作为填充标志点,点1、2和点3、4之间的区域为轮廓内部,被灰色栅格点填充(表示被填充了),此时能够实现对多边形内部的完全填充。
为保证模型表面带有颜色信息的表面体素点不丢失和模型内部填充时不出现抽丝和空缺的问题,模型带有颜色信息的表面体素点直接保存,不进行任何处理,为颜色扩散做准备,同时,将表面体素点中符合填充标志点条件的体素点保存为填充标志点。
所述填充标志点的确定过程是:获得组成切片轮廓的各直线斜率,如图2为斜率不同的直线栅格化后生成的栅格点,可以看出,直线的斜率k在k->∞、k≥1和k≤-1的情况下,栅格化生成的栅格点的y值都不相同,所以这些栅格点只需要按照“上开下闭”的原则(按y坐标的大小,y值区间左闭右开)剔除奇点后,剩余的栅格点保存为填充标志点,而对于直线的斜率k在-1<k<0、k=0和0<k<1的这三种情况下,栅格化生成的栅格点中会出现y值相同的栅格点,所以只对这三种情况做出改进,斜率k在-1<k<0和0<k<1时需要使用轮廓线法向量Np与X轴正向夹角来进一步判断填充标志点。
在直线的斜率为0时,生成的所有栅格点的y值都相同,并且栅格点的数量不可控,所以斜率为0的轮廓线生成的栅格点都不保存为填充标志点。
轮廓线法向量Np的确定方式是:图3(a)为模型表面三角网格的法向量N,图3(b)为三角网格法向量N在XOY平面投影生成投影向量Np,该投影向量即为切片轮廓的轮廓线法向量Np如图3(c)所示。组成切片轮廓的线段的轮廓线法向量为该线段所属三角网格的法向量N在XOY平面上的投影向量Np,Np指向模型的外部。
轮廓线斜率为-1<k<0,当轮廓线法向量Np与X轴正向夹角大于225°小于270°时,当前轮廓线的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于45°小于90°时,当前轮廓线的填充标志点为y值相同的栅格点中x值最小的栅格点。
轮廓线斜率为0<k<1,当轮廓线法向量Np与X轴正向夹角大于90°小于135°时,当前轮廓线的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于270°小于315°时,当前轮廓线的填充标志点为y值相同的栅格点中x值最小的栅格点。
在根据“上开下闭”原则剔除奇点后,按照上述填充标志点的确定过程来确定图4(a)中不规则多边形的填充标志点。如图4(a)所示,在具有内外轮廓的不规则多边形中,线段L1到L14按逆时针进行排序组成多边形的外轮廓,线段L15到L18按顺时针进行排序组成多边形的内轮廓,线段L1到L18经过栅格化生成栅格点,栅格点按照以上扫描线填充算法,筛选出符合填充标志点要求的栅格点,填充标志点在图中表示为灰色或深灰色的栅格点,白色的像素点表示为0个填充标记点,灰色的栅格点表示为1个填充标志点,深灰色的栅格点表示为2个填充标志点,即几何位置相同但属于两条不同切片轮廓线段的两个填充标志点。
如图4(b)所示,线段L1、L2、L9、L11首先按照“上开下闭”的原则剔除每条线段上会形成奇点的y值最大的栅格点,然后使用上述扫描线填充算法筛选多边形轮廓线段的斜率k在-1<k<0、k=0和0<k<1的情况下的填充标志点,线段L2和L9的斜率k大于-1小于0,线段L2的法向量Np与X轴正向的夹角大于45°小于90°,所以同一条扫描线上的栅格点中x值最小的点保存为填充标志点,线段L9的法向量Np与X轴正向的夹角大于225°小于270°,所以同一条扫描线上的栅格点中x值最大的点保存为填充标志点;线段L10的斜率k为0,生成的栅格点都不保存为填充标志点;线段L1和L11的斜率k大于0小于1,线段L1的法向量Np与X轴正向的夹角大于90°小于135°,所以同一条扫描线上的栅格点中x值最大的点保存为填充标志点,线段L11的法向量Np与X轴正向的夹角大于270°小于315°,所以同一条扫描线上的栅格点中x值最小的点保存为填充标志点。
图4(c)为不规则多边形按奇偶配对原则使用上述扫描线填充算法,对多边形的内部进行填充生成的栅格化的多边形,在彩色3D模型中,生成带有z坐标值的栅格化的切片,栅格化的切片轮廓内部的点为模型的内部体素点。
模型表面颜色向内扩散算法的过程:
在使用扫描线填充算法获得模型的表面体素点和内部体素点后,模型表面体素点的颜色沿所属三角网格的法向量的反方向进行扩散,处于扩散范围内的内部体素点的颜色值逐渐靠近模型内部的底色,如图5所示为表面体素点C沿N的反方向逐渐扩散,且颜色值逐渐趋近于白色。除了颜色值的逐渐变化,如图6所示,内部体素点在多个表面体素点向内扩散的范围内时,会被多个表面体素点共同影响颜色的表征,所以根据该内部体素点与表面体素点之间的距离来计算表面体素点对该内部体素点产生的影响,即每个表面体素点在计算内部体素点颜色值时所占权重,最后经过加权计算得到该内部体素点的最终颜色值。
向内扩散体素点的颜色值计算公式,体素点的大小为m,三角网格法向量N=(xn,yn,zn),将表面体素点向内扩散的体素点个数的范围称为阈值n0
三角网格法向量:
Figure BDA0003768923170000071
三角网格法向量的单位向量:
Figure BDA0003768923170000072
向内扩散体素点中心坐标为
Figure BDA0003768923170000073
内部体素点被T个表面体素点影响,i为当前体素点被第i个表面体素点影响,di为当前内部体素点与第i个表面体素点之间的距离,0≤di≤n0,第i个表面体素点的中心坐标为
Figure BDA0003768923170000079
颜色值/>
Figure BDA00037689231700000710
分别为表面体素点的颜色值
Figure BDA00037689231700000711
的红色、绿色和蓝色三个颜色通道的颜色值。模型内部的底色为RGBB=(RB,GB,BB),RB、GB、BB分别为底色的三个颜色通道的颜色值。内部体素点P距离点Pi越远,受到Pi颜色值的影响越小,点P的颜色值越趋近于模型内部的底色。距离第i个表面体素点di个距离的内部体素点,受到第i个表面体素点影响的颜色值为RGBi=(Ri,Gi,Bi),Ri、Gi、Bi分别为当前内部体素点受第i个表面体素点影响下的颜色值RGBi的三个颜色通道的颜色值。
处于第i个表面像素点影响下的内部扩散阈值内的内部体素点的颜色值:
Figure BDA0003768923170000074
Figure BDA0003768923170000075
Figure BDA0003768923170000076
内部体素点P最终颜色值:
Figure BDA0003768923170000077
pi为表面体素点影响当前内部体素点颜色值的权重,当前内部体素点离表面体素点越远,该表面体素点的权重越小。所有表面体素点与内部体素点的阈值都是相同的。
Figure BDA0003768923170000078
颜色二次扩散的过程:
切片轮廓由多条线段组成,判断相邻线段之间的夹角是否大于180°,若当相邻的线段之间的夹角大于180°时,如图7所示,此时为凹陷轮廓,根据模型表面体素点的颜色沿该点法向量的反方向向内扩散的方法,模型内部体素点P'处于相邻的切片轮廓之间无法进行扩散的区域。所以当切片轮廓之间的夹角大于180°时,两条切片轮廓线段的公共点将作为两个相交的体素点来进行计算。
如图8所示,第i个表面体素点Pi此时为两个夹角大于180°的相邻切片轮廓线段的端点,体素点P为点Pi法向量反方向上扩散范围内的模型内部体素点,当体素点Pi的扩散方向上的体素点在Y方向上出现增量时,颜色值受到点Pi影响的点P将在X的正负方向上进行二次扩散,同样的,当点Pi的扩散方向上的体素点在X方向上出现增量时,点P将在Y的正负方向上进行二次扩散。在体素点Pi影响下的体素点P再一次进行扩散的体素点P'为夹角大于180°的切片轮廓线段之间的模型内部体素点。在点P的颜色值进行的二次扩散中,扩散阈值为n0,扩散过程中的内部体素点受到点Pi影响的颜色值RGBi将趋近于模型内部底色的颜色值RGBB。二次扩散的内部体素点记为二次扩散点P'。
所以计算内部体素点颜色值的公式(3)-(5)中的距离di将转换为当前内部体素点P'离表面体素点Pi的扩散距离Di,Di为点P与点Pi之间的距离di与二次扩散点P'与内部体素点P之间的相对距离
Figure BDA0003768923170000081
相加之和。二次扩散点P'与内部体素点P之间的相对距离的含义为:在点Pi的颜色值扩散到点P时还未进行扩散到的点的个数,即点Pi的扩散阈值范围内最后一个点到点P的距离(n0-di)乘上点P'与点P之间的距离d'i与扩散阈值n0的比值。二次扩散点P'的最终的颜色值RGB'i的计算公式为式(10)。权重计算公式为式(11)。
处于第i个表面体素点的颜色值二次扩散阈值范围内的内部体素点的颜色值为:
Figure BDA0003768923170000082
Figure BDA0003768923170000083
二次扩散点P'的最终颜色值RGB':
Figure BDA0003768923170000084
p'i为第i个表面体素点影响当前内部体素点颜色值的权重,当前内部体素点P'离表面体素点P的相对距离越远,该表面体素点的权重越小。
Figure BDA0003768923170000085
以站立的狗为例,站立的狗的最大包围盒的尺寸为99.9mm×34.7mm×83.6mm,在体素点大小为0.1mm的情况下对站立的狗进行体素化,将表面颜色向内扩散的阈值n0分别设置为0、20、50,将模型表面的颜色向模型内部进行扩散,如图9所示,不同的表面颜色向内扩散阈值下体素模型在Z轴正方向上二分之一处的切片图片。可以看到,复杂的彩色3D模型在使用本发明提出的一种彩色3D模型的表面颜色向内扩散方法生成的体素化模型达到了预期的效果。
本发明一种彩色3D模型的表面颜色向内扩散方法,包括以下步骤:
步骤一:将彩色的站立狗的3D模型进行分层切片后,所得的切片轮廓进行栅格化,得到模型的表面体素点,同时将模型表面的纹理图片进行离散并获取纹理像素点的颜色值,将模型的表面体素点与纹理像素点的颜色值进行绑定,获得带有颜色信息的表面体素模型。
步骤二:在带有颜色信息的表面体素模型中,分别读取具有相同z坐标值的带有颜色信息的表面体素点,这些表面体素点在同一切片轮廓上,使用扫描线填充算法对切片轮廓的内部进行填充,得到带有z坐标值的栅格化的切片,切片中填充的点为内部体素点,每一层切片都可以被看作一张带有z坐标的彩色的位图图片,栅格化的切片包括表面体素点和内部体素点,所有的栅格化的切片共同组成了具有彩色外表的站立的狗的体素模型。
步骤三:根据设定的表面颜色向内扩散的阈值n0,使用模型表面颜色向内扩散方式,计算表面体素点向内扩散阈值范围内的内部体素点的颜色值,将内部体素点受到多个表面体素点影响下计算获得的颜色值,按照两点之间距离的远近,来计算各表面体素点的颜色值在该内部体素点最终表征的颜色值计算公式中所占的权重,并按照权重计算获得该内部体素点的扩散颜色值。
步骤四:模型中出现了夹角大于180°的相邻的三角网格,说明彩色的站立的狗的切片轮廓中出现凹陷轮廓边的情况,使用颜色二次扩散方式,将相邻的三角网格对应的切片轮廓线段的相交点向内扩散阈值内的模型内部体素点的颜色进行二次扩散,获得内部体素点的二次扩散颜色值,将内部体素点的二次扩散颜色值作为当前内部体素点的最终颜色值,获得精确地再现表面色彩的站立狗的体素模型。
上述仅本发明较佳可行的实施例而已,非因此局限本发明保护范围,依照上述实施例所作各种变形或套用或技术特征的任意组合均在此技术方案保护范围之内.
本发明未述及之处适用于现有技术。

Claims (10)

1.一种彩色3D模型的表面颜色的向内扩散方法,其特征在于,该方法包括以下内容:
对彩色3D模型进行分层切片,对分层切片获得的切片轮廓进行栅格化,得到模型的表面体素点,同时将模型表面的纹理图片进行离散并获取纹理像素点的颜色值,将模型的表面体素点与纹理像素点的颜色值进行绑定,获得带有颜色信息的表面体素模型;
利用扫描线填充算法对切片轮廓内部进行填充获得内部体素点;
设定表面颜色向内扩散的阈值n0,将彩色3D模型表面带有颜色信息的体素点沿该体素点法向量的反方向在设置的阈值范围内进行扩散,阈值为被表面体素点影响的模型内部体素点的个数;计算表面体素点向内扩散阈值范围内的内部体素点的颜色值,将内部体素点受到多个表面体素点影响下计算获得的颜色值,按照两点之间距离的远近,来计算各表面体素点的颜色值在该内部体素点最终表征的颜色值计算公式中所占的权重,并按照权重计算获得该内部体素点的最终颜色值。
2.根据权利要求1所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,当模型中出现了夹角大于180°的相邻的三角网格,进行颜色二次扩散,将相邻的三角网格对应的切片轮廓线段的相交点法向量的反方向,进行颜色向内扩散,向内扩散阈值范围内的模型内部体素点的颜色进行二次扩散,向内扩散阈值范围内的内部体素点哪个方向出现颜色扩散增量时,该内部体素点将在垂直这个方向的正负方向上进行颜色的二次扩散,获得内部体素点的二次扩散颜色值,将内部体素点的二次扩散颜色值作为当前内部体素点的最终颜色值。
3.根据权利要求1所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,所述扫描线填充算法包括:通过切片轮廓线段栅格化获得所有栅格点,同时找到切片轮廓中带有颜色信息的表面体素点,对于栅格化生成的栅格点进行填充标志点判断,若为填充标志点则进行保留否则删去该栅格点;
完成填充标志点判断后,统计y值相同的扫描线上所有的栅格点,对于y值相同的扫描线上的栅格点按照x坐标值的大小进行排序编号,在切片轮廓内部按照奇偶配对原则进行填充,获得内部体素点。
4.根据权利要求3所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,所述填充标志点的判断是按照栅格点所属切片轮廓线段的斜率来判断。
5.根据权利要求4所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,所述填充标志点的判断条件是:
切片轮廓线段的斜率k在k->∞、k≥1和k≤-1的情况下,栅格化生成的栅格点的y值都不相同,所以这些栅格点只需要按照“上开下闭”的原则剔除奇点后,剩余的栅格点保存为填充标志点;
在切片轮廓线段的斜率为0时,生成的所有栅格点的y值都相同,并且栅格点的数量不可控,所以斜率为0的轮廓线生成的栅格点都不保存为填充标志点;
在切片轮廓线段的斜率为-1<k<0条件下,当轮廓线法向量Np与X轴正向夹角大于225°小于270°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于45°小于90°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点;
在切片轮廓线段的斜率为0<k<1条件下,当轮廓线法向量Np与X轴正向夹角大于90°小于135°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于270°小于315°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点。
6.根据权利要求5所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,所述轮廓线法向量为切片轮廓线段所属三角网格的法向量N在XOY平面上的投影向量Np,Np指向模型的外部。
7.根据权利要求1所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,按照权重计算获得该内部体素点的最终颜色值RGB的过程是:
内部体素点被T个表面体素点影响,i为当前体素点被第i个表面体素点影响,di为当前内部体素点与第i个表面体素点之间的距离,0≤di≤n0,第i个表面体素点的中心坐标为
Figure FDA0003768923160000021
颜色值/>
Figure FDA0003768923160000022
分别为表面体素点的颜色值/>
Figure FDA0003768923160000023
的红色、绿色和蓝色三个颜色通道的颜色值;模型内部的底色为RGBB=(RB,GB,BB),RB、GB、BB分别为底色的三个颜色通道的颜色值;
处于第i个表面像素点影响下的内部扩散阈值内的内部体素点的颜色值为:
Figure FDA0003768923160000024
Figure FDA0003768923160000025
Figure FDA0003768923160000026
内部体素点P的最终颜色值RGB为:
Figure FDA0003768923160000027
pi表达式为:
Figure FDA0003768923160000028
其中,RGBi=(Ri,Gi,Bi),表示受到第i个表面体素点影响的颜色值,Ri、Gi、Bi分别为当前内部体素点受第i个表面体素点影响下的颜色值RGBi的三个颜色通道的颜色值,pi为表面体素点影响当前内部体素点颜色值的权重。
8.根据权利要求2所述的彩色3D模型的表面颜色的向内扩散方法,其特征在于,获得内部体素点的二次扩散颜色值的过程是:
内部体素点P与二次扩散点P'之间的相对距离为
Figure FDA0003768923160000029
d'i为二次扩散点P'与内部体素点P之间的距离,di为内部体素点P与第i个表面体素点Pi之间的距离,Di为内部体素点P与表面体素点Pi之间的距离di与二次扩散点P'与内部体素点P之间的相对距离/>
Figure FDA00037689231600000210
Figure FDA00037689231600000211
相加之和;
处于第i个表面体素点的颜色值二次扩散阈值范围内的内部体素点的颜色值为:
Figure FDA00037689231600000212
/>
Figure FDA0003768923160000031
二次扩散点P'的最终颜色值RGB':
Figure FDA0003768923160000032
p'i表达式为:
Figure FDA0003768923160000033
9.一种获得体素模型的扫描线填充方法,其特征在于,该扫描线填充方法包括以下内容:
对3D模型进行分层切片,对分层切片获得的切片轮廓,同时对切片轮廓的组成线段进行栅格化;
获得所有切片轮廓线段栅格化生成的栅格点,也就是获得所有表面体素点,对于栅格化生成的栅格点进行填充标志点判断,确定为填充标志点进行保留否则删去该栅格点;
完成填充标志点判断后,统计y值相同的扫描线上所有的栅格点,对于y值相同的扫描线上的栅格点按照x坐标值的大小进行排序编号,在切片轮廓内部按照奇偶配对原则进行填充,获得内部体素点;
所述表面体素点和内部体素点构成体素模型。
10.根据权利要求9所述的获得体素模型的扫描线填充方法,其特征在于,所述填充标志点的判断是按照表面体素点所属切片轮廓线段的斜率来判断,具体是:
切片轮廓线段的斜率k在k->∞、k≥1和k≤-1的情况下,栅格化生成的栅格点的y值都不相同,所以这些栅格点只需要按照“上开下闭”的原则剔除奇点后,剩余的栅格点保存为填充标志点;
在切片轮廓线段的斜率为0时,生成的所有栅格点的y值都相同,并且栅格点的数量不可控,所以斜率为0的轮廓线生成的栅格点都不保存为填充标志点;
在切片轮廓线段的斜率为-1<k<0条件下,当轮廓线法向量Np与X轴正向夹角大于225°小于270°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于45°小于90°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点;
在切片轮廓线段的斜率为0<k<1条件下,当轮廓线法向量Np与X轴正向夹角大于90°小于135°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最大的栅格点,当轮廓线法向量Np与X轴正向夹角大于270°小于315°时,当前切片轮廓线段的填充标志点为y值相同的栅格点中x值最小的栅格点。
CN202210894743.2A 2022-07-28 2022-07-28 一种彩色3d模型的表面颜色向内扩散方法 Active CN115157654B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210894743.2A CN115157654B (zh) 2022-07-28 2022-07-28 一种彩色3d模型的表面颜色向内扩散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210894743.2A CN115157654B (zh) 2022-07-28 2022-07-28 一种彩色3d模型的表面颜色向内扩散方法

Publications (2)

Publication Number Publication Date
CN115157654A CN115157654A (zh) 2022-10-11
CN115157654B true CN115157654B (zh) 2023-05-26

Family

ID=83496566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210894743.2A Active CN115157654B (zh) 2022-07-28 2022-07-28 一种彩色3d模型的表面颜色向内扩散方法

Country Status (1)

Country Link
CN (1) CN115157654B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115988186B (zh) * 2023-03-20 2023-06-09 厦门精图信息技术有限公司 一种影像处理系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108381905A (zh) * 2018-03-21 2018-08-10 北京印刷学院 基于八叉树误差扩散的3d打印色彩呈现方法和装置
CN108664730A (zh) * 2018-05-11 2018-10-16 河北工业大学 一种面向多模态工业产品的动态色彩设计方法
CN110757804A (zh) * 2018-07-26 2020-02-07 中国科学院沈阳自动化研究所 一种基于纹理贴图三维模型的全彩色分层切片算法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3311988A1 (en) * 2016-10-24 2018-04-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A method for joint color and translucency 3d printing and a joint color and translucency 3d printing device
EP3856499B1 (en) * 2018-09-28 2024-04-17 Stratasys Ltd. Method and system for diffusing color error into additive manufactured objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108381905A (zh) * 2018-03-21 2018-08-10 北京印刷学院 基于八叉树误差扩散的3d打印色彩呈现方法和装置
CN108664730A (zh) * 2018-05-11 2018-10-16 河北工业大学 一种面向多模态工业产品的动态色彩设计方法
CN110757804A (zh) * 2018-07-26 2020-02-07 中国科学院沈阳自动化研究所 一种基于纹理贴图三维模型的全彩色分层切片算法

Also Published As

Publication number Publication date
CN115157654A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
US6313840B1 (en) Smooth shading of objects on display devices
US10668666B2 (en) Color mapping in 3D printing
CN107206696B (zh) 三维物体子结构
CN115157654B (zh) 一种彩色3d模型的表面颜色向内扩散方法
CN107209961B (zh) 用于3d打印的3d对象数据的压缩表示
CN108437449B (zh) 3d打印颜色呈现方法、装置及系统
DE112005002076T5 (de) Unterteilung von Geometriebildern in Grafikhardware
EP3856499B1 (en) Method and system for diffusing color error into additive manufactured objects
EP3250973B1 (en) Control data for generation of 3d objects
JPH11232441A (ja) 画像生成方法及び装置
EP3251093A1 (en) Generating previews of 3d objects
CN107967715A (zh) 数据处理装置、三维物体创建系统以及数据处理方法
CN107850985A (zh) 对三维物体的物体数据进行半色调
CN110253889A (zh) 一种基于数字光栅图像处理器的多材料3d打印方法
Kuipers et al. 3D Hatching: Linear Hal oning for Dual Extrusion Fused Deposition Modeling
CN108407290B (zh) 体素并列聚集式的3d打印颜色呈现方法、装置及系统
US11663693B2 (en) Generating downscaled images representing an object to be generated in additive manufacturing
US11235532B2 (en) Three-dimensional object substructures
IL262881A (en) A method of converting three-dimensional visual information into a two-dimensional image
CN111145363A (zh) 一种用于3dp增材制造的快速切片方法
CN111223142A (zh) 一种gpu点光栅化点大小奇偶配置的顶点坐标映射方法
CN117882114A (zh) 通过数控工具制造三维物体的方法
CN106296800A (zh) 信息处理方法及电子设备
JP3892526B2 (ja) マーブリング模様の作成方法および作成装置
Kuipers et al. https://creativecommons. org/licenses/by-nc-nd/4.0

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant