针织物结构研究与计算机仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1期张克和等:针织物结构研究与计算机仿真
T=alla12
a21a22
a31a32
oP
a13
k
a23
Z
a33
m
q5
将变换矩阵r分为4块,左上角的3×3小矩阵,可对针织物结构图产生缩放、旋转、对称变换;右上角[kzmr矩阵产生三维平移变换;左下角[oPq]矩阵产生透视变换;右下角的[s]产生整个图像的全比例变换。
OpenGL中通过函数voidglRotate{fd}(TYPEangle,TYPEx,TYPEy,TYPEz)来完成旋转变换;通过voidglScale{fd}(TPYEx,TYPEy,TYPEz)函数来实现场景中织物结构的放大、缩小、拉伸及镜像变换;通过glTranslate()来进行视点变换操作。
3.2织物模拟的光照模型
织物三维实体模型中,表面的光亮度不仅受光源的影响,也与其本身特性相关。在OpenGL中,将光源亮度分成4个组成部分:发射光、环境光、漫反射光和镜面反射光。发射光是来自于物体本身,不受光源的影响;环境光,来自周围环境,在各个方向均匀散布;漫反射也称散射光,来自于同一个方向,镜面反射光来自于特定的方向,再以特定的方向离开。
在OpenGL光照模型中,织物表面上任何一点光亮度计算采用以下公式:
,=K。×la+Kd×llcosO+K×,f×COS”仅+t
式中:Ko为纱线环境光反射系数,0<Ka<1;K为纱线的漫反射系数,0<Kd<1;K为纱线的镜面反射系数,0<K<1;Ia为纱线的环境光强;,f为纱线的入射光强;t为纱线的发光强,t=0;a为视线与纱线法向量的夹角,0<a<,rr/2;0为光的入射角,0<0<'n/2;n为纱线的聚光指数,一般取0<n<50。
纱线镜面反射值很小,可忽略不计,则得到与实际效果接近的线圈模型表面光强表达式:
,=Ka×la+Kd×,f×cosO
3.3织物模拟的消隐
纱线在成圈时,空间上的相互串套,使得线圈单元部分被其他线圈单元遮隐,显示时必须将这部分纱线隐藏消去。在OpenGL中,可采用z缓冲区消隐算法,即开辟一个z缓冲区存放每个像素点深度值,以近的像素点代替远的像素点。函数GL—VERIFY()实现像素点的消隐,像素消隐的程序流程为:GLVERIFY(glClear(GL—COLOR—BUFFER—BITGL_DEPTH—BUFFER—BIT));//将窗口清为当前的清空颜色,并清空深度缓存。
GL_VERIFY(glClear(GL_DEPTH—BUFFER—BITR))//将所有像素的深度值设置为可能的最大距离值程序利用深度值判断像素点距离视点的相对距离,用距离视点近的像素点覆盖距离远的像素点,达到消隐的目的。
3.4织物模拟的显示结果
根据以上结构模型,以及显示方法,得效果图7~图10,其中图7为平针组织模拟图,图8为双反面组织经向模拟图,图9、图10为罗纹组织模拟图。
图7平针组织模拟图图8双反面组织模拟图图9罗纹组织模拟图一图10罗纹组织模拟图二
4结论
a)对pierce线圈模型与实际针织物结构进行了比较,提出了计算改进的方法,使实际针织物的结构设计