资源简介

计算机图形学实验 Bezier曲线的绘制 可执行源码

资源截图

代码片段和文件信息

#include 
#include 
#include 

typedef struct{
float x;
float y;

}point;

void  drawpoint(point bezint color){//画点
putpixel(bez.xbez.ycolor);
}

void binomial(int nint * C){//计算二项式的值
int kj;
for(k = 0;k<=n;k++){
C[k] = 1;
for(j = n;j>=k+1;j--)
C[k]*=j;
for(j=n-k;j>=2;j--)
C[k]/=j;
}
}

void compute(float u point *bez int nC point *controlint *C){//计算xy点的坐标
int k;
int n=nC-1;
float bezblend;
bez->x=bez->y=0.0;
for(k=0;k bezblend = C[k] * pow(uk) *pow(1-un-k);
bez->x+=control[k].x * bezblend;
bez->y+=control[k].y * bezblend;
}
}

void bezier(point * control int nCint nB){//绘制Bezier曲线
point bez;
float u;
int *Ck;
C = new int [nC];
binomial(nC-1C);
for(k=0;k<=nB;k++){
u=float(k)/float(nB);
compute(u&beznCcontrolC);
drawpoint(bezWHITE);
}
delete [] C;
putpixel(control->xcontrol->yWHITE);
}

int main(){
initgraph(640480);
setorigin(250250);
int nC = 4;
int nB = 1000;
point control[4] = {{-200-100}{-10200}{10-200}{100100}};
setcolor(RED);
for(int i=0;i<4;i++){
line(control[i].xcontrol[i].ycontrol[i+1].xcontrol[i+1].y);
}
bezier(controlnCnB);
getchar();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1280  2014-06-04 20:10  Bezier\Bezier\Bezier.cpp

     文件       3222  2014-06-03 21:08  Bezier\Bezier\Bezier.vcxproj

     文件        944  2014-06-03 21:08  Bezier\Bezier\Bezier.vcxproj.filters

     文件        143  2014-06-03 21:06  Bezier\Bezier\Bezier.vcxproj.user

     文件       1109  2014-06-03 21:09  Bezier\Bezier\Debug\Bezier.Build.CppClean.log

     文件        381  2014-06-04 20:10  Bezier\Bezier\Debug\Bezier.exe.intermediate.manifest

     文件         68  2014-06-04 20:10  Bezier\Bezier\Debug\Bezier.lastbuildstate

     文件       3227  2014-06-04 20:10  Bezier\Bezier\Debug\Bezier.log

     文件      29005  2014-06-04 20:10  Bezier\Bezier\Debug\Bezier.obj

     文件        524  2014-06-04 20:10  Bezier\Bezier\Debug\cl.command.1.tlog

     文件      13396  2014-06-04 20:10  Bezier\Bezier\Debug\CL.read.1.tlog

     文件        278  2014-06-04 20:10  Bezier\Bezier\Debug\CL.write.1.tlog

     文件       1096  2014-06-04 20:10  Bezier\Bezier\Debug\link.command.1.tlog

     文件       2472  2014-06-04 20:10  Bezier\Bezier\Debug\link.read.1.tlog

     文件        486  2014-06-04 20:10  Bezier\Bezier\Debug\link.write.1.tlog

     文件        400  2014-06-04 20:10  Bezier\Bezier\Debug\mt.command.1.tlog

     文件        802  2014-06-04 20:10  Bezier\Bezier\Debug\mt.read.1.tlog

     文件        226  2014-06-04 20:10  Bezier\Bezier\Debug\mt.write.1.tlog

     文件     388096  2014-06-04 20:10  Bezier\Bezier\Debug\vc100.idb

     文件     118784  2014-06-04 20:10  Bezier\Bezier\Debug\vc100.pdb

     文件   26890240  2014-06-04 21:30  Bezier\Bezier.sdf

     文件        885  2014-06-03 21:06  Bezier\Bezier.sln

    ..A..H.     10240  2014-06-04 21:30  Bezier\Bezier.suo

     文件     101376  2014-06-04 20:10  Bezier\Debug\Bezier.exe

     文件     764792  2014-06-04 20:10  Bezier\Debug\Bezier.ilk

     文件     584704  2014-06-04 20:10  Bezier\Debug\Bezier.pdb

     文件   31391744  2014-06-04 20:59  Bezier\ipch\bezier-61c7d58f\bezier-631bcc6d.ipch

     目录          0  2014-06-04 20:10  Bezier\Bezier\Debug

     目录          0  2014-06-04 20:59  Bezier\ipch\bezier-61c7d58f

     目录          0  2014-06-03 21:08  Bezier\Bezier

............此处省略6个文件信息

评论

共有 条评论