#include graphics.h
成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)視覺(jué)設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站程序開(kāi)發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、微商城、網(wǎng)站托管及成都網(wǎng)站維護(hù)、WEB系統(tǒng)開(kāi)發(fā)、域名注冊(cè)、國(guó)內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測(cè)試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都集裝箱行業(yè)客戶提供了網(wǎng)站開(kāi)發(fā)服務(wù)。
#include stdio.h
#include math.h
#define TWOPI (3.1415926*2)
typedef struct point
{
int x;
int y;
}POINT;
void main()
{
int gd,gm;
POINT arr[1000];
int i;
int redius=80;
gd=DETECT;
initgraph(gd,gm,"C:\\JMSOFT\\DRV");
for(i=0;i1000;i++)
{
arr[i].x=300+redius*sin(((1.0*i)/1000)*TWOPI);
arr[i].y=300+redius*cos(((1.0*i)/1000)*TWOPI);;
}
for(i=0;i999;i++)
line(arr[i].x,arr[i].y,arr[i+1].x,arr[i+1].y);
getch();
closegraph();
}
#include math.h#include stdio.h#define R 10 ? ?//半徑 #define X 10 ? ?//圓心x坐標(biāo) #define Y 10 ? ?//圓心Y坐標(biāo) int main(void)
{ ? ?int x,y; ? ?int m; ? ?int i; ? ?for(i=Y-R;i=1;i--)
{ ? ? ? ?printf("\n");
}
for(y=R;y=-R;y--)
{
? ?m=2*sqrt(R*R - y*y); ? ?//橫坐標(biāo)的偏移量,因?yàn)樽煮w長(zhǎng)寬比例為2,所以要乘2
? ?for(x=1;xX+R-m;x++) ? ? ? ?//打印左半圓
? ?{ ? ? ? ? ? ?printf(" "); ? ?
? ?} ? ? ? ?printf("*"); ? ? ? ?for(;xX+R+m;x++) ? ? ? ? ? //打印右半圓
? ?{ ? ? ? ? ? ?printf(" ");
? ?} ? ? ? ?printf("*\n");
}
}
#include math.h
#include graphics.h /*預(yù)定義庫(kù)函數(shù)*/
void circlePoint(int x,int y) /*八分法畫圓程序*/
{
circle(320+x*20,240+y*20,3);
circle(320+y*20,240+x*20,3);
circle(320-y*20,240+x*20,3);
circle(320-x*20,240+y*20,3);
circle(320-x*20,240+y*20,3);
circle(320-x*20,240-y*20,3);
circle(320-y*20,240-x*20,3);
circle(320+y*20,240-x*20,3);
circle(320+x*20,240-y*20,3);
}
void MidBresenhamcircle(int r) /* 中點(diǎn)Bresenham算法畫圓的程序 */
{
int x,y,d;
x=0;y=r;d=1-r; /* 計(jì)算初始值 */
while(xy)
{ circlePoint(x,y); /* 繪制點(diǎn)(x,y)及其在八分圓中的另外7個(gè)對(duì)稱點(diǎn) */
if(d0) d+=2*x+3; /* 根據(jù)誤差項(xiàng)d的判斷,決定非最大位移方向上是走還是不走 */
else
{ d+=2*(x-y)+5;
y--;
}
x++;
delay(900000);
} /* while */
}
main()
{
int i,j,r,graphmode,graphdriver;
detectgraph(graphdriver,graphmode);
initgraph(graphdriver,graphmode," ");
printf("中點(diǎn)Bresenhamcircle算法畫圓的程序\n"); /*提示信息*/
printf("注意 |r|=11");
printf("\n輸入半徑值 r:");
scanf("%d",r);
printf("按任意鍵顯示圖形...");
getch();
cleardevice();
setbkcolor(BLACK);
for(i=20;i=620;i+=20) /*使用雙循環(huán)畫點(diǎn)函數(shù)畫出表格中的縱坐標(biāo)*/
for(j=20;j=460;j++)
putpixel(i,j,2);
for(j=20;j=460;j+=20) n歡迎光臨學(xué)網(wǎng),收藏本篇文章 [1] [2]
$False$
bsp; /*使用雙循環(huán)畫點(diǎn)函數(shù)畫出表格中的橫坐標(biāo)*/
for(i=20;i=620;i++)
putpixel(i,j,2);
outtextxy(320,245,"0"); /*原點(diǎn)坐標(biāo)*/
outtextxy(320-5*20,245,"-5");circle(320-5*20,240,2); /*橫坐標(biāo)值*/
outtextxy(320+5*20,245,"5");circle(320+5*20,240,2);
outtextxy(320-10*20,245,"-10");circle(320-10*20,240,2);
outtextxy(320+10*20,245,"10");circle(320+10*20,240,2);
outtextxy(320-15*20,245,"-15");circle(320-15*20,240,2);
outtextxy(320+15*20,245,"15");circle(320+15*20,240,2);
outtextxy(320,240-5*20,"-5");circle(320,240-5*20,2); /*縱坐標(biāo)值*/
outtextxy(320,240+5*20,"5");circle(320,240+5*20,2);
outtextxy(320,240-10*20,"-10");circle(320,240-10*20,2);
outtextxy(320,240+10*20,"10");circle(320,240+10*20,2);
outtextxy(20,10,"The center of the circle is (0,0) "); /*坐標(biāo)軸左上角顯示提示信息*/
setcolor(RED); /*標(biāo)記坐標(biāo)軸*/
line(20,240,620,240); outtextxy(320+15*20,230,"X");
line(320,20,320,460); outtextxy(330,20,"Y");
setcolor(YELLOW);
MidBresenhamcircle(r);
setcolor(BLUE); /*繪制圓*/
circle(320,240,r*20);
setcolor(2);
getch();
closegraph();
}
1??對(duì)于這種問(wèn)題,首先分析需求,
直線:
要畫直線,要的是什么,就是兩個(gè)點(diǎn);
所以定義一個(gè)結(jié)構(gòu)體
struct?point
{
int??x;
int??y;
}Ppline,Ppcircle;
畫圓:
那么需要一個(gè)圓心,和一個(gè)半徑;
圓心,通過(guò)上面的定義,可以獲得,半徑的話,直接傳遞參數(shù)就行了;
直線函數(shù):
int??paintline(Ppline??startpoint,Ppline?endpoint);
畫圓函數(shù):
int??paintcircle(Ppcircle???centerpoint,int??r);
可以參考下面的代碼:
#includemath.h
main()
{
double y;
int x,m;
for(y=10;y=-10;y--)
{
m=2.5*sqrt(100-y*y);
for(x=1;x50-m;x++)
printf(" ");
printf("*");
for(;x50+m;x++)
printf(" ");
printf("*\n");
}
}
擴(kuò)展資料:
for循表達(dá)式為:for(單次表達(dá)式;條件表達(dá)式;末尾循環(huán)體){中間循環(huán)體;}。
其中,表示式皆可以省略,但分號(hào)不可省略,因?yàn)椤?”可以代表一個(gè)空語(yǔ)句,省略了之后語(yǔ)句減少,即為語(yǔ)句格式發(fā)生變化,則編譯器不能識(shí)別而無(wú)法進(jìn)行編譯。for循環(huán)小括號(hào)里第一個(gè)“;”號(hào)前為一個(gè)為不參與循環(huán)的單次表達(dá)式。
參考資料來(lái)源:百度百科-for循環(huán)