基础图形算法
twxyz123
这个作者很懒,什么都没留下…
展开
-
Cohen-Surtherland裁剪算法
#define LEFT 1#define RIGHT 2#define BOTTOM 4#define TOP 8#define XL 150#define XR 350#define YB 150#define YT 300#include #include "graphics.h"main(){ int gdriver=D原创 2013-07-22 15:36:21 · 1411 阅读 · 0 评论 -
金刚石
#include #include #include main(){ float t; int x0=400,y0=300; int n,i,j,r; int x[50],y[50]; int gdriver=DETECT,gmode; initgraph(&gdriver,&gmode," "); printf("input n(23-31) and r(100-200)\原创 2013-07-24 11:09:41 · 842 阅读 · 0 评论 -
直线生成(DDA、中点、Bresenham)算法
#include #include void linedda(int x0,int y0,int x1,int y1,int color);void BresenhamLine(int x0,int y0,int x1,int y1);void MidPointLine(int x0,int y0,int x1,int y1,int color);main(){ int a,b,原创 2013-07-24 11:08:46 · 2005 阅读 · 1 评论 -
图形三维变换
/* Note:Your choice is C IDE */#include#include#include#include#include#define ZOOM_IN 0.9#define ZOOM_OUT 1.1int turn1[3];typedef struct{ float x; float y; float z;}point;typedef st原创 2013-07-23 10:10:58 · 535 阅读 · 0 评论 -
中点分割裁剪算法
#define LEFT 1#define RIGHT 2#define BOTTOM 4#define TOP 8#define XL 150#define XR 350#define YB 150#define YT 300#include #include #include main(){ int x1,y1,x2,y2,原创 2013-07-23 10:09:11 · 4015 阅读 · 0 评论 -
圆生成算法(中点画圆、Bresenham画圆)
#include #include void MidPointCircle(int r, int color);void CirclePoints(int x,int y,int color);void BresenhamCircle(int xc,int yc,int r,int color);void plot_cicle_point(int xc,int yc,int x,int原创 2013-07-22 15:32:56 · 2372 阅读 · 0 评论 -
图形二维变换
#include#include#includeint initjuzhen(int m[3][3]){ int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) m[i][j]=0; for(i=0;i<3;i++) m[i][i]=1;}main(){ int x0,y0,x1,y1,i,j; int a[3][3]; c原创 2013-07-23 10:10:02 · 504 阅读 · 0 评论 -
梁友栋-Barsky裁剪算法
#include #include #include #define LEFT 1#define RIGHT 2#define BOTTOM 4#define TOP 8#define XL 150#define XR 350#define YB 150#define YT 300void LBClipLine(float x1,float y1,float x2,fl原创 2013-07-23 10:09:29 · 3459 阅读 · 0 评论 -
填充算法
#include#include#includevoid floodfill4(int x,int y,int oc,int nc){ if(getpixel(x,y)==oc) { putpixel(x,y,nc); delay(2000); floodfill4(x,y+1,oc,nc); floodfill4(x,y-1,oc,nc); floodfill4(原创 2013-07-22 15:33:36 · 525 阅读 · 0 评论 -
三次Bezier曲线
#include #include #include #include char msg[1];float px[10]={30,60,90,120,150,190,220,250,280,310};float py[10]={150,200,200,170,100,100,170,200,200,180};main(){ float a0,a1,a2,a3,b0,b1,b2原创 2013-07-24 11:07:50 · 1073 阅读 · 0 评论