1、技术领域
本发明涉及CAD/CAM技术领域,尤其涉及鞋楦三维模拟和二维展平的方 法。
2、背景技术
鞋楦是鞋子的母体,鞋楦设计是依据脚型,加以美化和艺术化处理得到三 维模型。在各类鞋子特别是皮鞋生产过程中,一般直接从鞋楦上设计,设计完 成后三维模型,通过人工手段把设计展平为一套鞋样,这些鞋样可以直接投入 批量生产。三维鞋楦和二维鞋样是整个设计的基础,把三维鞋楦人工处理为二 维鞋样的这个过程即展平;同时在鞋业设计领域,鞋样设计师能从他们设计的 二维鞋样看到相应的三维鞋楦的立体效果,这个设计师把二维鞋样组合成三维 鞋楦的过程即伏楦。传统的二维鞋样的来源主要有两种:一种是通过鞋样设计 师手工打板,再通过扫描,使用矢量化软件,导入计算机进行处理;另一种则 是利用传统二维CAD软件制作完成。由于通过这两种渠道得到的鞋样,都是利 用平面设计方法来完成,所以设计的鞋样往往与实际不符,需依赖设计师经验 反复修改才能投入生产,工作量大。基于细分曲面的三维曲面造型技术,可以 实现鞋楦二、三维相互转换设计与展平,使得鞋样二、三维之间相互转换得到 自动实现,使得设计师有充分自由进行三维设计,集中精力在鞋子款式和功能 上考虑。三维鞋楦模型和自动展平将为鞋业CAD/CAM带来新的设计手段.
三维曲面的展平和展开是不同的。曲面展平是模拟在外力的情况,把三维 曲面近似的转换给二维曲面,保证三维曲面和二维曲面面积近似相等,边界线 相互对应且长度保持相等,三维网格点的位置和二维网格点相互对应。曲面展 开要求三维曲面和转换后的二维曲面在形状和大小上完全相等。对于三维单向 曲面来说,可以进行直接的展开。例如圆柱体表面,展开面和原曲面在形状和 大小上完全相等;而对于对于多向弯曲的表面来说,由于表面弯曲方向是多变 的,所以不能被展开,只能模拟外力压迫下的方式,做近似的展平。例如球面, 由于是多向弯曲的三维曲面,所以只能进行展平,而不能进行展开。通过展平 得到的展平面与原曲面在形状和大小上只是相似而不能完全相等。
鞋楦是一个由复杂的不规则的异形曲面,也是一个类似球面的多向弯曲的 三维曲面,因此要把鞋楦从三维到二维完全展开是不可能的,只能把鞋楦表面 进行近似展平,然后再利用鞋样设计师的经验与技巧,如转换过程中背中线基 本保持不变,在皮子特别容易褶皱处打剪口等对鞋楦做进一步的展平,最后鞋 帮经绷楦后即可成为正式的鞋样型,使用到生产中。
在鞋楦的三维建模和二维展平整个设计中,首先在三维视图上通过曲线放 样形成三维母楦曲面,接着对三维曲面进行B-Spline的曲面细分,使用大量的 四边形表示细分整个曲面,得到三维网格点,然后求出每个三维网格点对应的 二维鞋样的二维网格点,网格点一经求出,再利用其对应性即可完成鞋楦二维、 三维的相互转换。据实验结果显示,这种方法是完全符合工艺要求的。
3、发明目的
目前中国目前有近10万家鞋厂,但是还没有一套真正可实用的鞋三维设计 系统,而国内生产数控鞋楦机厂家已有三家,切割机的厂家多家,并且还呈现 逐步上升的趋势。随着国内制鞋行业的快速发展,很多制鞋企业早已完成原始 的资金积累,开始向高档次,自动化方面发展,对高性能的数控设备及软件系 统的需求也日趋旺盛,经过多家厂商多年的培植,已形成了数千万的市场规模。 开发高性能三维设计系统已成为我国制鞋楦高速发展的必要手段。
为了实现以上目的,本发明提出了一种基于曲面细分的鞋楦三维设计和二维 曲面展平方法。不同于传统的三维建模方式,本文采用B-Spline进行三维放 样方式表示鞋楦的三维模型,为了将来展平方面,同时采用四边形方式细分整 个曲面。该设计使得鞋楦二维到三维和三维到二维的转换得到统一实现。并且 满足转换前后,二维鞋样和三维鞋样的面积近似相等,边界线相互对应且长度 保持相等,鞋样上网格点的位置相互对应。在OpenGL平台上实现并给出了转换 的直观效果,验证了该设计的可实施性。
为了实现以上目的,本发明还提供了一种鞋楦设计三维模拟的系统,用于对 原始三维输入的离散点进行转换,表示基于放样曲线构成曲面的装置;本发明 还提供了一种把前面建立好放样曲面进行二维展平的装置;这个装置同时可以 实现建立三维设计和二维鞋样的自动对应关系的功能。
4、技术方案
图1是本发明的一种曲面细分的鞋楦三维模型的基本原理图。如图1所示, 本发明的系统该方法的主要思路是:1:采用基于放样曲线的曲面三维造型技术, 即使用一组B-Spline曲线表示三维的鞋楦曲面。2:然后,对每个B-Spline曲线 进行等数目的水平细分。把水平细分后的曲线,组成垂直的一组B-Spline曲线, 再对垂直的曲线进行等数目的垂直细分。垂直细分结束后,就可以形成细分的 三维曲面。由于这个细分曲面是很多三维四边形组合成的曲面,很容易就可以 进行三维到二维的展平。3:最后当展平结束后,可以建立起来三维到二维的对 应关系。各模块的详细操作将在下面分别详细描述。
4.1放样曲线的鞋楦曲面表示
B-样条曲线有三维控制点为集合P={Pk K=[1..n]}确定,则在Pk处的方程为 Sk(x,y,z)=Ak*t3+Bk*t2+Ck*t1+D 0<=t(x,y,z)<Pk+1-Pk (公式1) 为了将来三维和二维展平使用同样的方程,在这个表示中,和一般的B-Spline 只考虑二维<x,y>不同,同时考虑三维的点<x,y,z>。所以Sk是有x,y,z三个不同 的方式。因为这三个方式是类似的,以下的讨论中,只给出x方向的公式。
由于三维手动数字化仪,可以很好的控制同一个平面上的点进行三维输入。 用户先确定高一个特定的高度后,使用数字化仪沿着物理的三维鞋楦的在同一 高度轮廓选择一些特征点进行描绘,这样就把这个相同高度的数据点集合输入 到系统中了。
对输入的离散的点进行B-Spline插数,变化给光滑的曲线。[图2]是导入的 四个平面点的后进行样条化后的图形。需要注意的是在输入数据中,每一个高 度的第一个点,也可以组成一条曲线,称为脊曲线。其他在一个平面内的曲线, 称为面曲线。
4.2细分曲面
在细分曲面的时候,假定细分度为m,表示把一个面曲线分为m段小的直 线;和前面相同n表示控制点的个数;q表示总共面曲线的个数。
4.2.1面曲线的水平细分
对于特定面曲线,所有点的高度都是相同的,采用如下的细分公式。
首先定义Fk表示Sk段样条曲线应当分为小段数,
让 F k = m / n ( k < n - 1 ) m / n + m % n ( k = n - 1 ) ]]>(公式2)
则4.1节中公式1采用离散的方式表示为:
S k = { S i k = A k * ( L * i ) 3 + B k * ( L * i ) 2 + C k * ( L * i ) + D k , L = ( P k + 1 - P k , ) / F k , i = [ 1 . . F k ] } ]]>
(公式3)
在这种表示下,每个平面的B-Spline曲线上都有m个离散的,则这m 个离散的点中包括了所有原来样条曲线的断点(控制点)。这样表示的优点是用 户控制比较方便和直观。
4.2.2脊曲线的垂直细分
对脊曲线也同样使用公式3进行细分,让脊曲线也离散化为m个段的直线 段。
4.2.3曲面的网格细分化
当把所有g个的面曲线都进行细分后,可以得到g个都由m个短线段表示 的曲线。现在定义m个垂直B-Spline曲线,其中每个曲线由g个控制点。称m 个样条曲线组成网格G的控制曲线组。如公式4说明的一样,G中第k条曲线是 从细分后的g个输入样条线中取第k个段线段的开始点构成的。
G k = { G i k = S k i , k = [ 1 . . m ] , i = [ 1 . . g ] } ]]>(公式4)
下面,再对网格G中的每条曲线进行B-Spline插值,这个Gk这只有g个 控制点的曲线,也变成了m个小线段组成的曲线。图3是图2进行网格细分后 的图形。
当把输入的点进行网格化后,形成了m条,每条由m段小直线组合的网格。 可以形成(m-1)×(m-1)个面F组合三维鞋楦曲面。其中每个面由四个小线 段组成。图4是图3进行曲面显示。
F = { F i k - > F i + 1 k - > F i + 1 k + 1 - > F i k + 1 - > F i k , k = [ 1 . . m - 1 ] , i = [ i . . m - 1 ] } ]]>(公式5)
4.4.4曲面的展平
在公式5中,把整个鞋楦曲面表示为了F=(m-1)×(m-1)个小的四边形面, 下面需要把这些小的三维空间的四边形面,展平到一个二维平面上。由于展平 面只需要和原曲面在形状和大小上只是相似而不必要完全相等。但是为了展平 的效果好,应当确保展平前和展平后,小线段的长度和关系保持不变。
事实上展平是根据g条三维面曲线进行。
定义展平三维曲线L3曲线为L2,L3其中每条线都由m个小线段组成,则 展平公式为
l 2 ( x , y ) = { l i 2 = Σ j = 1 i | l j + 1 3 - l j 3 | , i = [ 1 . . m - 1 ] } ]]>(|lj+1-lj|表示线段的长度)(公式6)
需要注意的是对于所有g条面曲线,只进行x方向的展平,而对脊曲线, 只进行y方向的二维展平。同时展平后,需要把二维曲线的中心点进行调整。
设三维脊线展平的二维曲线是J。利用公式6,把g条面曲线展平为条二维 曲线称为q集合,那么则有
q k ( x ) = { q ij k = Σ j = 1 i | S j + 1 i - S j i | , i = [ 1 . . m - 1 } ]]>
q k ( y ) = J k , ]]>(k=[1..g|](公式7)
通过公式7,把g条三维的面曲线,展平转换为g条二维的面曲线集合q。 对待q二维线集合,使用和《4.2.3节》曲面的网格细分化一样的方法,可以转 换为二维的细分曲面。图5是图4在二维展平后的效果图图6是在m=100时 候,对图2的数据进行三维曲面造型和曲面展开的效果图。
5积极效果
采用以上的处理,本发明提出了一种基于曲面细分的鞋楦三维设计和二维 曲面展平方法。不同于传统的三维建模方式,本文采用B-Spline进行三维放样 方式表示鞋楦的三维模型,为了将来展平方面,同时采用四边形方式细分整个 曲面。该设计使得鞋楦二维到三维和三维到二维的转换得到统一实现。并且满 足转换前后,二维鞋样和三维鞋样的面积近似相等,边界线相互对应且长度保 持相等,鞋样上网格点的位置相互对应。在OpenGL平台上实现并给出了转换 的直观效果,验证了该设计的可实施性。