计算机图形学
时光足迹
这个作者很懒,什么都没留下…
展开
-
边界标志填充算法(计算机图形学)
#include #include using namespace std;//边标志算法void edgeMarkFill(int n,int *points){ int flag=0;//标志位,判断在图形区域内(1),还是在外面(0) int c1=0,c2=0;//c1为边界色,c2为背景色 int maxX=0,minX=0,maxY=0,minY=0; in原创 2016-08-10 18:34:22 · 11991 阅读 · 0 评论 -
裁剪算法(计算机图形学)
#include #include #define LEFT 1#define RIGHT 2#define BOTTOM 4#define TOP 8int XL=150, XR=350, YB=350, YT=150;//编码算法int encode(int x,int y){ int c=0; if(x<XL) c=c|LEFT; else if(x>XR原创 2016-08-10 18:58:58 · 9794 阅读 · 3 评论 -
对称算法(计算机图形学)
#include#include#includeusing namespace std;class CPoint{ public: int x; int y; CPoint(){} CPoint(int x1,int y1) { x=x1; y=y1; } static CPoint ZeroMoveToXY(CPoint p, CPoint XY);/原创 2016-08-10 19:04:23 · 2237 阅读 · 0 评论 -
对称算法(计算机图形学)
#include#includeusing namespace std;/* 对于任意直线的二维图形对称变化的实验,要求输入的直线是任意直线,直线的端点只能由键盘输入或者鼠标拾取, 要做对称变换的图形也是一个任意图形(至少应是一个任意多边形)。 对称变换,先分析如何使用一系列简单变换来构造题目要求的复合变换。本体要实现的变换可以用如下一组变换组合来实现: ① 将直线任一点移原创 2016-08-10 19:07:55 · 3769 阅读 · 0 评论 -
种子填充算法(计算机图形学)
#include #include using namespace std; //种子填充算法四联通算法 int BoundaryFill(int x, int y) { int c=0; c=getpixel(x,y); if(c!=WHITE) { putpixel(x,y,WHITE); } if(c==WHITE)原创 2016-08-10 18:41:49 · 5282 阅读 · 0 评论 -
线型算法(计算机图形学)
#include#include//Bresenham画线算法void BresenhamLine(int x0,int y0,int x1,int y1,int color){ int x,y,dx,dy,e; dx=x1-x0; dy=y1-y0; e=-dx; x=x0; y=y0; for(int i=0;i<=dx;i++){ putpixe原创 2016-08-10 18:50:21 · 2431 阅读 · 0 评论 -
中点画圆法(计算机图形学)
效果展示c/c++代码#include #include #include// 中点画圆法void Circle_Midpoint(int x, int y, int r, int color){ int tx = 0, ty = r, d = 1 - r; while(tx <= ty) { // 利用圆的八分对称性画点 putpixe原创 2016-08-08 19:35:54 · 4636 阅读 · 1 评论 -
Bresenham画圆法(计算机图形学)
效果截图:c/c++代码#include #include #include// 使用 Bresenham 画圆法void Circle_Bresenham(int x, int y, int r, int color){ int tx = 0, ty = r, d = 3 - 2 * r; while( tx <= ty) { // 利用圆原创 2016-08-08 19:47:14 · 4202 阅读 · 3 评论 -
中点画圆(计算机图形学)
程序源码#include #include #include//中点画圆法void MidpointCircle(int x0,int y0,int r,int color){ int x,y,d; x=0; y=r; d=1-r; while(x<y){ // 利用圆的八分对称性画点 putpixel(x0 + x, y0 + y, color);原创 2016-08-10 09:02:59 · 1342 阅读 · 0 评论 -
Breshnham画圆法(计算机图形学)
#include #include #include//Breshnham画圆法void BresenhamCircle(int x0,int y0,int r,int color){ int x,y,delta,delta1,delta2,direction; x=0;y=r; delta=2*(1-r); while(y>=0) { // 利用原创 2016-08-10 09:05:49 · 1205 阅读 · 0 评论 -
中点画线法画任意斜率的直线(计算机图形学)
#include #include #include // 使用中点算法画任意斜率的直线void MidpointLine(int x0, int y0, int x1, int y1, int color){ int a,b,delta1,delta2,d,x,y; a=y0-y1; b=x1-x0; d=2*a+b; delta1=2*a; delta2=2*(a+b)原创 2016-08-10 18:24:22 · 10976 阅读 · 0 评论 -
中点画线法(计算机图形学)
#include #include #include // 使用中点算法画任意斜率的直线(包括起始点,不包括终止点)void Line_Midpoint(int x1, int y1, int x2, int y2, int color){ int x = x1, y = y1; int a = y1 - y2, b = x2 - x1; int cx = (b >= 0 ? 1原创 2016-08-10 18:28:18 · 15263 阅读 · 3 评论 -
Bresenham画线算法(计算机图形学)
#include #include #include //Bresenham画线算法void Interger_Bresenham_Line(int x0,int y0,int x1,int y1,int color){ int x,y,dx,dy,e; dx=x1-x0; dy=y1-y0; e=-dx; x=x0; y=y0; for(int i=0;i<=原创 2016-08-10 18:31:05 · 3220 阅读 · 2 评论