Z填充曲线的生成

Z填充曲线的生成

ID:37714261

大小:159.00 KB

页数:5页

时间:2019-05-29

Z填充曲线的生成_第1页
Z填充曲线的生成_第2页
Z填充曲线的生成_第3页
Z填充曲线的生成_第4页
Z填充曲线的生成_第5页
资源描述:

《Z填充曲线的生成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Z填充曲线的生成功能操作步骤:单击工具栏的z曲线工具,弹出对话框,输入阶数n,确定生成n阶z填充曲线。功能实现流程:1.添加工具项:在工具栏上添加一个类型为button的工具;然后在属性框设置text为Z曲线;设置name为z;设置Image为前面提供位置的任意图片或自己绘制一个图片。设置事件框中的单击事件click;对着click双击,弹出代码文件。2.为事件函数添加如下代码Graphicsgra=panel1.CreateGraphics();ZFormzform=newZForm();//新窗体对话框zform.ShowDialog();intorder=(int

2、)Math.Pow(2,zform.value);//获得阶数Rectanglerect=newRectangle(0,0,panel1.Width,panel1.Height);//获得要填充的窗体/面板Listzpts=ZFill(rect,order);//调用z曲线排序for(inti=0;i

3、1].Y));}3.在主程序的命名空间下添加一个类,并使得该类继承From类;之后设计该新的窗体。1)首先将窗体的text改为Z曲线—输入阶数;2)添加一个textbox,并将其name改为ztb;3)添加一个button,并将其text改为确定,name改为zbt,并对其添加一个单击事件。4)事件中添加如下代码:目的是为了将文本框中的值保存已被主程序调用。value=Convert.ToInt32(ztb.Text);this.Hide();this.Close();5)假如没有构造函数,添加一个构造函数publicZForm(){InitializeComponen

4、t();}6)添加一个公有字段value4.添加算法代码publicListZFill(Rectanglerect,intorder)//z曲线排序{Listpts=newList();Listzpps=newList();for(inti=0;i

5、birmor=MortonCode(birj,biri);//morton码intdecmor=BirToDec(birmor);//二进制转十进制PixelPosition_Tpp=newPixelPosition_T(i,j,decmor);//构建包含morton码的网格zpps.Add(pp);//添加存储}}CompareMortoncommor=newCompareMorton();zpps.Sort(commor);foreach(PixelPosition_Tppinzpps){doublex=rect.Width/order*(pp.Col+0.5);

6、doubley=rect.Height/order*(pp.Row+0.5);Point_Tpt=newPoint_T(x,y);pts.Add(pt);}returnpts;}publicint[]DecToBir(intdec)//十进制转二进制{int[]bir=newint[32];inttag=31;while(dec>0){bir[tag]=dec%2;tag--;dec=(int)(dec/2);}returnbir;}publicint[]MortonCode(int[]bir1,int[]bir2)//求morton码{int[]birmor=newi

7、nt[64];for(inti=31;i>=0;i--){birmor[2*i+1]=bir1[i];birmor[2*i]=bir2[i];}returnbirmor;}publicintBirToDec(int[]bir)//二进制转十进制{intdec=0;for(inti=63;i>=0;i--){dec+=(int)(bir[i]*Math.Pow(2,63-i));}returndec;}5.修改PixelPosition_T类:对其添加一个字段code,用来保存morton码,添加一下部分:privateintcode;pu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。