资源中是关于计算机图形学中的介绍多边形有效边表填充的详细PPT讲解以及一个小提纲的介绍帮助你的掌握,再附上多边形边缘填充算法,马赫带,光滑着色等多个实现效果的实现代码及自我演示exe助你理解,欢迎下载
1
网上有很多这类算法,都是有很多错,拿 来运行不起,保证此程序经运行上传;
2022-11-05 10:23:06 2.46MB 图形学 多边形裁剪,填充算法
1
基本图形学图元生成,实现图形学经典图元直线,样条,多边形填充,裁剪等算法。
2022-11-05 09:28:30 30KB drawfunc 图元 图形学_多边形 图形裁剪
1
资源中是关于计算机图形学中的介绍多边形有效边表填充的详细PPT讲解以及一个小提纲的介绍帮助你的掌握,再附上多边形边缘填充算法,马赫带,光滑着色等多个实现效果的实现代码及自我演示exe助你理解,欢迎下载
1
实验三计算机图形学多边形填充算法.pdf
2022-07-09 19:08:34 403KB 文档资料
[计算机图形学]多边形及其填充算法.ppt
2022-05-18 22:04:48 858KB 算法 文档资料
#include #include #include #include #include //////////////////////////////////////////////////////////////functions///////////////////////////////////////////////// void swap(float &m,float &n) { float temp=n; n=m; m=temp; } int sign(float a,float b)//sign() { int t; if(a>b) { t=1;} else if(adx) { swap(dx,dy); Flag=1; } else Flag=0; float Nerror=2*dy-dx; for(int i=1;i=0) { if(Flag) { x=x+sx;} else y=y+sy; Nerror=Nerror-2*dx; } if(Flag) { y=y+sy;} else x=x+sx; Nerror=Nerror+2*dy; } } ///////////////////////////////////四连通种子填充/////////////////////////////////////////////////// void BoundaryFill4(HDC hdc,int x,int y,int FilledColor,int BoundaryColor) { int CurrentColor; CurrentColor=GetPixel(hdc,x,y); if(CurrentColor!=BoundaryColor&&CurrentColor!=FilledColor) { SetPixel(hdc,x,y,FilledColor); BoundaryFill4(hdc,x+1,y,FilledColor,BoundaryColor); BoundaryFill4(hdc,x-1,y,FilledColor,BoundaryColor); BoundaryFill4(hdc,x,y+1,FilledColor,BoundaryColor); BoundaryFill4(hdc,x,y-1,FilledColor,BoundaryColor); } } ////////////////////////////////////////扫描线填充/////////////////////////////////////////////////// //DrawLine()函数:在(x1,y)和(x2,y)两点之间画一条颜色为FilledColor的横线(用来扫描填充) void drawline(HDC hdc, int x1, int x2,int y0, int FilledColor) { for(int n=x1+1;n500)) {a[j][1]=i;} } } //利用循环调用DrawLine函数逐行填充两交点之间的点 for(int k=0;k<300;k++) { if((a[k][0]!=0)&&(a[k][1]!=0)) drawline(hdc,a[k][0],a[k][1],k,RGB(255,0,0));} } ///////////////////////////////////////////////边界填充////////////////////////////////////// //Contrary()取反函数:如果点的颜色为白,则将点置为填充色;如果点的颜色为填充色,则将点置为白色 //忽略了边界色,即不对边界点作颜色处理 void contrary(HDC hdc, int x, int y,int FilledColor) { for(int h=x;h<280;h++) { if(GetPixel(hdc,h,y)==RGB(255,255,255)) { SetPixel(hdc,h,y,FilledColor); } else if(GetPixel(hdc,h,y)==FilledColor) { SetPixel(hdc,h,y,RGB(255,255,255)); } } } //borderline()边线函数: 先找出图形的边界 左边和右边,从右到左的顺序调用contrary()函数进行填充 void borderline(HDC hdc, int boundarycolor) { for(int j=280;j<499;j++) { for(int i=80;i<280;i++) { int currentcolor=GetPixel(hdc,i,j); //排除了边界水平的情况,即(x-1,y)、(x,y)和(x+1,y)连续三点都是边界点的点不参与填充 if((currentcolor==boundarycolor)&&(GetPixel(hdc,i+1,j)!=boundarycolor)&&(GetPixel(hdc,i-1,j)!=boundarycolor)&&(i>100)) { contrary(hdc,i,j,RGB(0,0,255)); } } } for(int m=280;m<499;m++) { for(int n=80;n<280;n++) { int currentcolor=GetPixel(hdc,n,m); if((currentcolor==boundarycolor)&&(GetPixel(hdc,n+1,m)!=boundarycolor)&&(GetPixel(hdc,n-1,m)!=boundarycolor)&&(n<101)) { contrary(hdc,n,m,RGB(0,0,255)); } } } }
1
计算机图形学种子填充算法!多边形填充!能运行的源文件压缩包!
2022-01-13 20:40:52 2.27MB 多边形填充
1
计算机图形学里的经典算法,运用吊桶的思想,考虑了各种特殊情况,用C/C++实现,算法比较复杂,代码量不小。
2021-12-21 12:05:51 1.9MB 计算机图形学
1
计算机图形学的多边形裁剪与填充 MFC实现代码,还有其他直线消隐等,需要的留言
2021-12-11 10:07:21 704KB 图形学、MFC
1