芦席斜纹组织:
该组织是由左斜和右斜有机的结合在一块的,因为其外观酷似芦席故称之为芦席斜纹组织。
织物组织效果:
所需参数:
其基层组织采用双面加强型斜纹,即分子和分母是相同的组织点,例如2上2下(2个经组织点2个纬组织点),或者3上3下;
经组织点个数和纬组织点个数相同的组织成为双面加强型斜纹。
z为基层组织
L为同一方向上的斜纹条数
思路:
例如3上3下,L=3的芦席斜纹组织:
由公式可得N1=N2=(3+3)×3=18
先从左下角开始3上3下右斜纹,画到第9列(N2/2)停止,算第一根完整的右斜
左斜的起点为(N2/2 + 1),也可以将右斜的最后一个列向上移动z格,得到左斜的第一列,任何继续左斜即可得到第一根完整的左斜。
第二根右斜是在第一根右斜的基础上向右下方进行移动z格(先向下移动3格再向右移动3格)
第二根左斜是在第一根左斜的基础上向右上方进行移动z格(先向右移动3格再向上移动3格)
最后的实际效果如下:
一、右斜组织
总结规律可得:,其中x=1,2,…,N1;y=1,2,…,N2;表示组织矩阵中的各点的坐标
i=1,2,...,c;j=1,2,...,N2/2;t=0,1,...,L-1;
i代表斜纹的高度、j代表斜纹的宽度、t代表斜纹的根数
满足上式条件的赋值为1,不满足条件的赋值为0
二、左斜组织
总结规律可得:
其中i=1,2,...,c;j=1,2,...,N2/2;t=0,1,2,...,L-1;
满足上式条件的赋值为1,不满足条件的赋值为0
三、程序流程图
四、代码实现
#include <iostream>
#include<stdio.h>
using namespace std;int main()
{int i,j,N1,N2,l,t;int c,c1,d,a[100][100]= {0};printf("please input C:");scanf("%d",&c);printf("please input D:");scanf("%d",&d);printf("please input L:");scanf("%d",&l);N1=N2=(c+d)*l;for(t=0; t<=l-1; t++){for(j=1; j<=N2/2; j++){for(i=1; i<=c; i++){/*对右斜组织进行赋值*/if(N1-(i+j)+2+c*t > N1){a[c*t+2-(i+j)][j+d*t]=1;}else a[N1-(i+j)+2+c*t][j+d*t]=1;/*对左斜组织进行赋值*/if(N1/2-(i-j)-c*(1+t)+1 <= 0){if(j+d*t+(N2/2)>N2){a[(3*N1/2)-(i-j)-c*(1+t)+1][j+d*t-(N2/2)]=1;}else a[(3*N1/2)-(i-j)-c*(1+t)+1][j+d*t+(N2/2)]=1;}else{if(j+d*t+(N2/2)>N2){a[(N1/2)-(i-j)-c*(1+t)+1][j+d*t-(N2/2)]=1;}else a[(N1/2)-(i-j)-c*(1+t)+1][j+d*t+(N2/2)]=1;}}}}/*输出二维数组a[i][j]*/for(i=1; i<=N1; i++){for(j=1; j<=N2; j++){printf("%5d",a[i][j]);}printf("\n");}getchar();return 0;
}
运行效果如下: