计算机图形学示例(扫描线填充)

时间:2013-07-19 04:27:57
【文件属性】:

文件名称:计算机图形学示例(扫描线填充)

文件大小:83KB

文件格式:RAR

更新时间:2013-07-19 04:27:57

图形学 扫描线 裁剪 DDALine

用VC++6.0实现的扫描线填充,裁剪算法及画线方法 CPen pen(PS_SOLID,1,fillcolor); //设置扫描线所用笔的属性 CPen *old=pDC->SelectObject(&pen); int j,k,s=0; int p[9]; //每根扫描线交点 int pmin=1000; int pmax=0; for(int i=0;iinVertexArray[n].y) pmin=inVertexArray[n].y; } } for(int r=1;rpmin;scan--) //扫描线遵守'“上开下闭”的原则 { int b=0; k=s; for(j=k;j=edge[j].ymin)&&(scan<=edge[j].ymax))//判断扫描线与线段是否相交于顶点 { int preNum = edge[j].num; int nextNum = edge[j].num+1; if (preNum==0) preNum = inLength - 1; else preNum = preNum -1; if (nextNum == inLength) nextNum = 0; if(scan==edge[j].ymax) //位于下顶点时,根据相临点的位置决定取几个点 { if(inVertexArray[nextNum].yedge[j].ymin)&&(scan1) { int tmpp = p[1]; for (int u = 1;u<=b;u++) //对交点排序 { for (int m = 1;m<=b-u;m++) { if (p[m]MoveTo(p[n],scan); pDC->LineTo(p[n+1],scan); } } }


【文件预览】:
clip.dsw
res
----clip.rc2(396B)
----clip.ico(1KB)
clip.cpp
clip.dsp
clip.opt
Vertex_Count.cpp
clip.ncb
VertexNo.h
Vertex_Count.h
clip.clw
StdAfx.cpp
resource.h
VertexNo.cpp
clip.plg
clipDlg.h
clipDlg.cpp
clip.aps
StdAfx.h
clip.rc
clip.h
ReadMe.txt

网友评论

  • 很有用!不错!
  • 谢谢啦,很有帮助
  • 算法实现很标准,简洁明了
  • 算法实现很标准,简洁明了