日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机图形学画圆和直线代码,计算机图形学作业(中点法画直线和八分画圆法).doc...

發布時間:2024/4/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机图形学画圆和直线代码,计算机图形学作业(中点法画直线和八分画圆法).doc... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

中點法畫直線:

void MidBresenhamLine(CDC *pDC,int x0,int y0,int x1,int y1,int color){

int dx,dy,d,up,down,x,y;

if(x0>x1){

x=x1;x1=x0;x0=x;

y=y1;y1=y0;y0=y;

}

x=x0;y=y0;

dx=x1-x0;dy=y1-y0;

d=dx-2*dy;

up=2*x-2*y;

down=-2*dy;

while(x<=x1){

pDC->SetPixel(x,y,color);

x++;

if(d<0){

y++;

d+=up;

}

else d+=down;

}

}

void CMy213View::OnButton32772()

{

CDC *pDC;

pDC=this->GetDC();

int x0=50,y0=50,x1=300,y1=300,color=333;

MidBresenhamLine(pDC,x0,y0,x1,y1,color);

this->ReleaseDC(pDC);

// TODO: 在此添加命令處理程序代碼

}

八分法畫圓:

void CirclePoint(CDC *pDC,int x,int y,int color){

pDC->SetPixel(x+350,y+350,color);

pDC->SetPixel(x+350,-y+350,color);

pDC->SetPixel(-x+350,y+350,color);

pDC->SetPixel(-x+350,-y+350,color);

pDC->SetPixel(y+350,x+350,color);

pDC->SetPixel(-y+350,x+350,color);

pDC->SetPixel(y+350,-x+350,color);

pDC->SetPixel(-y+350,-x+350,color);

}

void MidBresenhamCircle(CDC *pDC,int r,int color){

int x,y,d;

x=0;y=r;d=1-r;

while(x<=y){

CirclePoint(pDC,x,y,color);

if(d<0)d+=2*x+3;

else{

d+=2*(x-y)-5;

y--;

}

x++;

}

}

void CmbView::Onbbb()

{

CDC *pDC;

pDC=this->GetDC();

int r=60,color=333;

MidBresenhamCircle(pDC,r,color);

this->ReleaseDC(pDC);

// TODO: 在此添加命令處理程序代碼

}

總結

以上是生活随笔為你收集整理的计算机图形学画圆和直线代码,计算机图形学作业(中点法画直线和八分画圆法).doc...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。