十、非规则组织分析及其数学模型——锯齿形斜纹组织

锯齿形斜纹组织图:在这里插入图片描述

分析
在这里插入图片描述
前半齿长度k,表示山谷到山峰的列数,也就是锯齿的宽度;
锯齿飞数s,表示山峰到山峰的行数,也就是锯齿的高度。
在这里插入图片描述

起始点相差4格,也就是第一部分整体向上移动4格即可得到第二部分,同样道理,第二部分向上移动4格即可得到第三部分在这里插入图片描述

一、求出N1和N2

在这里插入图片描述
其中W为以一个完整循环中的锯齿数;V为一个锯齿内的经纱根数。
在这里插入图片描述
在这里插入图片描述
锯齿形之所以有个上升的趋势,是因为下降的高度和上升的高度有一个差即S,也就是少下降了S根,故上升的山峰高度差为S。
核心代码如下:

    a=N1;b=s;while(a!=b)                      //当a==b时结束{if(a>b)                          //如果a>b,则a=a-b{a=a-b;}else                            //否则b>a,b=b-a{b=b-a;}}w=N1/a;v=(2*k-2)-s;N2=w*v;printf("w:%d\n",w);printf("v:%d\n",v);printf("N1:%d\n",N1);printf("N2:%d\n",N2);

效果图如下:在这里插入图片描述

二、求F1第一段锯齿

可以把整体分为多个部分,每个锯齿的行为N1,列为V。即每一个锯齿都为N1×V的子矩阵,最终的组织矩阵就是多个子矩阵并列即可。
为了形成锯齿,K和S之间必须满足以下关系:在这里插入图片描述
1,对第1列元素赋值
在这里插入图片描述,其中i=1,2,3…,N1;j=2,3,4…,K

2,对第2到k列进行赋值
在这里插入图片描述,其中i=2,3…,N1;j=2,3,4…,K

3,对第k+1列到V列进行赋值
Ⅰ转变飞数f,由正转为负:在这里插入图片描述
Ⅱ之后再进行赋值在这里插入图片描述,i=1,2,3,…,N1;j=K+1,K+2,…,V;

核心代码如下:

/*
对第1列进行赋值
*/i=1;//先对第一列赋值,从第一列的第一行开始for(j=0;j<=m-1;j++){while(c[j]>0){x[N1-i+1][1]=1;//因为是分子,所有值都赋值为1c[j]--;i++;}while(d[j]>0){x[N1-i+1][1]=0;//因为是分母,所有值都赋值为0d[j]--;i++;}}/*
对第2列到第k列 进行赋值
*/for(j=2;j<=k;j++){for(i=1;i<=N1;i++){if((i+f)>N1) x[i][j] = x[i+f-N1][j-1];else x[i][j]=x[i+f][j-1];}}f=N1-f;//求kj列到N2列右半部分的飞数需要将负值转变为正数
/*
对第k+1列到V列 进行赋值
*/for(j=k+1;j<=v;j++){for(i=1;i<=N1;i++){if((i+f)>N1) x[i][j] = x[i+f-N1][j-1];else x[i][j]=x[i+f][j-1];}}

效果图如下:在这里插入图片描述

三、根据F1,求F2第二段锯齿以及剩余的锯齿的值

锯齿飞数s为正向上移动;s为负向下移动在这里插入图片描述
在这里插入图片描述,其中i=1,2,…, N1;j=1,2,…,V

优化公式:在这里插入图片描述,其中i=1,2,....,N1;j=1,2,...,v;k=1,2,...,w-1;

程序流程图如下:
在这里插入图片描述

四、最终优化代码如下:

#include <iostream>
#include<stdio.h>
using namespace std;int main()
{int i,j,N1,N2,m,w,v,k,s,a,b,f;int c[10],d[10],x[100][100]={0};printf("please input m:");scanf("%d",&m);for(i=0;i<m;i++){printf("please input C[%d]:",i+1);scanf("%d",&c[i]);printf("please input D[%d]:",i+1);scanf("%d",&d[i]);}printf("please input K:");scanf("%d",&k);printf("please input S:");scanf("%d",&s);printf("please input f:");scanf("%d",&f);N1=0;for(i=0;i<=m-1;i++){N1=N1+c[i]+d[i];}/*
求N1和s的最大公约数
*/a=N1;b=s;while(a!=b)                      {if(a>b)                         {a=a-b;}else                            {b=b-a;}}w=N1/a;v=(2*k-2)-s;N2=w*v;/*
对第1列进行赋值
*/i=1;//先对第一列赋值,从第一列的第一行开始for(j=0;j<=m-1;j++){while(c[j]>0){x[N1-i+1][1]=1;//因为是分子,所有值都赋值为1c[j]--;i++;}while(d[j]>0){x[N1-i+1][1]=0;//因为是分母,所有值都赋值为0d[j]--;i++;}}/*
对第2列到第k列 进行赋值
*/for(j=2;j<=k;j++){for(i=1;i<=N1;i++){if((i+f)>N1) x[i][j] = x[i+f-N1][j-1];else x[i][j]=x[i+f][j-1];}}f=N1-f;
/*
对第k+1列到V列 进行赋值
*/for(j=k+1;j<=v;j++){for(i=1;i<=N1;i++){if((i+f)>N1) x[i][j] = x[i+f-N1][j-1];else x[i][j]=x[i+f][j-1];}}for(k=1;k<=w-1;k++){for(j=1;j<=v;j++){for(i=1;i<=N1;i++){if(i+s>N1){x[i][k*v+j]=x[i+s-N1][(k-1)*v+j];}else x[i][k*v+j]=x[i+s][(k-1)*v+j];}}}/*
输出二维数组a[i][j]
*/for(i=1;i<=N1;i++){for(j=1;j<=N2;j++){printf("%5d",x[i][j]);}printf("\n");}getchar();return 0;
}

运行结果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378076.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linq lamdba GroupJoin外连接示例

其实用from..Linq语句做外连接简单而且便于理解&#xff0c;我个人使用lamdba纯粹是技术上的追求吧 DataTable exceldtnew DataTable();DataTable nomacdtnew DataTable();exceldt exceldt.AsEnumerable().GroupJoin(nomacdt.AsEnumerable(), a > a.Field<String>(&q…

ajax为什么有时候不行,为什么不能用ajax调用

Ajax取值时出现未知的运行时错误的解决方法在Ajax里经常会通过innerHTML来改变界面&#xff0c;这个比使用DOM要简单一些。比如&#xff1a;element.innerHTML "put code here"不过&#xff0c;在IE中&#xff0c;有时候会出现"未知的运行时错误(unknown runti…

Java Hashtable size()方法与示例

哈希表类size()方法 (Hashtable Class size() method) size() method is available in java.util package. size()方法在java.util包中可用。 size() method is used to return the number of key-value pairs that exist in this Hashtable. size()方法用于返回此哈希表中存在…

十一、非规则组织分析及其数学模型——芦席斜纹组织

芦席斜纹组织&#xff1a; 该组织是由左斜和右斜有机的结合在一块的&#xff0c;因为其外观酷似芦席故称之为芦席斜纹组织。 织物组织效果&#xff1a; 所需参数&#xff1a; 其基层组织采用双面加强型斜纹&#xff0c;即分子和分母是相同的组织点&#xff0c;例如2上2下(2个经…

LeetCode 18. 四数之和 思考分析(双指针解)

目录需要注意的几点1、去除剪枝操作2、去重操作的细节code以及效果&#xff1a;题目给定一个包含 n 个整数的数组 nums 和一个目标值 target&#xff0c;判断 nums 中是否存在四个元素 a&#xff0c;b&#xff0c;c 和 d &#xff0c;使得 a b c d 的值与 target 相等&#…

图解DotNet框架之一:编译与执行引擎(上)

众所周知,DotNet框架是非常庞大的,光项目创建时的种类就有WPF,WCF,WF这三种最新的技术,还有以前的Web,WinForm,Service,Mobile等等. 这么复杂和庞大的框架,用文字来描述是远远不够的,所以我准备写一系列图文并茂的文章,把我所知道的所有Net框架中的东西全部串联起来,希望可以给…

【Kissy WaterFall】实行手动加载数据

前言&#xff1a;由于Kissy WaterFall默认是监听滚动事件来实现数据动态加载的&#xff0c;但是有一些情况要用到手动加载数据。以下是使用Kissy WaterFall实现手动加载数据的方法。 最终实现效果&#xff1a;点击”逛更多的商店“会动态加载数据 步骤&#xff1a; 当一页数据加…

web服务器文档根目录在哪里,web服务器根目录在哪

web服务器根目录在哪 内容精选换一换SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(访问方式为HTTPS)&#xff0c;实现数据信息在客户端和服务器之间的加密传输&#xff0c;可以防止数据信息的泄露。SSL保证了双方传递信息的安全性&#xff0c;而且用户可以通过…

console java_Java Console writer()方法与示例

console java控制台类writer()方法 (Console Class writer() method) writer() method is available in java.io package. writer()方法在java.io包中可用。 writer() method is used to get a distinct PrintWriter object linked with this Console. writer()方法用于获取与此…

二、图片加载与保存

一、基本概念 1&#xff0c;什么是图片&#xff1f; 答&#xff1a;图像是结构化存储的数据信息 2&#xff0c;图像的属性 答&#xff1a;1、通道数目&#xff0c;2、宽与高&#xff0c;3、像素数据&#xff0c;4、图像类型 二、加载显示图像并保存 import cv2 import nump…

LeetCode 206. 反转链表 思考分析

题目 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题&#xff1f; 迭代双指针 从某公众号&#xff08;代码随想录&#xff09;搬过来的gif图&…

hdu 2846 Repository 字典树的变形

Repository Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)                  Total Submission(s): 1129 Accepted Submission(s): 382 Problem DescriptionWhen you go shopping, you can search in repository…

怎样看虚拟主机的服务器,虚拟主机怎么查看服务器类型

虚拟主机怎么查看服务器类型 内容精选换一换使用华为云提供的公共镜像制作私有镜像时&#xff0c;您需先购买云主机等云资源时镜像选择公共镜像、云服务器类型建议统一选择“s3 (通用计算型)”&#xff0c;在云主机安装部署完商品&#xff0c;然后参照以下方式进行私有镜像制作…

Win32动态库 Lib文件哪去了

最近使用SQLite&#xff0c;用源文件.c和.h编译SQLite的动态库&#xff0c;编译后发现没有Lib文件。 原来&#xff1a;SQLite的.c文件没有引用.h文件&#xff0c;添加引用&#xff0c;编译&#xff0c;Lib文件有了。转载于:https://www.cnblogs.com/yunuoyuhan/p/3204457.html

console java_Java Console format()方法与示例

console java控制台类format()方法 (Console Class format() method) format() method is available in java.io package. format()方法在java.io包中可用。 format() method is used to write the formatted string to this Console with the help of the given string format…

Anaconda自带Python编译器Jupyter Notebook显示代码行数

ESC&#xff1a;进入命令行模式&#xff1b;按下H即可显示各种快捷键信息 Enter&#xff1a;进入编辑模式 方法一&#xff1a;命令方法 一、点击代码段&#xff0c;按ESC&#xff0c;使代码段显示蓝色&#xff0c;进入命令行模式 二、按下ShiftL&#xff0c;显示代码行数 方法…

ajax 服务器响应,ajax-服务器响应

如果需要获得了来自服务器的响应&#xff0c;则使用XMLHttpRequest 对象的 responseText 或 responseXML 属性responseText&#xff1a;获得字符串形式的响应数据&#xff0c;当readyState属性值变为4时&#xff0c;responseText属性才可用&#xff0c;表明Ajax请求已经结束例&…

(转)MOMO的Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)

http://www.xuanyusong.com/archives/2378 Unity是不支持多线程的&#xff0c;也就是说我们必须要在主线程中操作它&#xff0c;可是Unity可以同时创建很多脚本&#xff0c;并且可以分别绑定在不同的游戏对象身上&#xff0c;他们各自都在执行自己的生命周期感觉像是多线程&…

SQL/MongoDB 连接并发测试

最近一直在搞mongodb 文件服务器大量文件并发上传测试&#xff0c;在官方文档发现mongo是线程安全的&#xff0c;支持单一连接下的并发操作。印象ADO.NET 似乎不支持单一连接并发。于是&#xff0c;测试一下来证实这个疑虑。&#xff08;前两篇小记一直纠结mongodb吃内存导致并…

【C、C++基础】什么时候用 “.” 什么时候用“->”(3个实例搞懂)

从堆栈的角度来说&#xff1a; 从堆栈的角度来说&#xff1a; 对象放在堆上&#xff0c;就要用指针&#xff0c;也就是对象指针->函数&#xff1b; 放在栈上,就对象.函数 那么如何判断对象放在堆上还是栈上&#xff1f; 从我的另一篇笔记【C grammar】C简化内存模型可知&am…