📄 midellip.c
字号:
#include<graphics.h>
#include<conio.h>
#include<math.h>
void midellipse(int x1,int y1,float a,float b);
void main(void)
{
int driver=DETECT,mode;
initgraph(&driver,&mode,"c:\\turboc2");
cleardevice();
line(50,250,450,250);
line(250,50,250,450);
midellipse(250,250,150,100);
/* setcolor(4);
ellipse(200,200,0,360,150,100); */
getch();
closegraph();
}
void midellipse(int x1,int y1,float a,float b)
{
float d1,d2;
float x,y;
x=x1;
y=y1-b;
d1=b*b+a*a*(0.25-b);
putpixel(x,y,5);
while(b*b*(x-x1+1)<a*a*(y1-y-0.5))
{
if(d1<0)
{
d1+=b*b*(2*(x-x1)+3);
x++;
}
else
{
d1+=b*b*(2*(x-x1)+3)+a*a*(2+2*(y-y1));
x++;
y++;
}
putpixel(x,y,5);
putpixel(x,2*y1-y,5);
putpixel(2*x1-x,y,5);
putpixel(2*x1-x,2*y1-y,5);
}
d2=b*b*(x-x1+0.5)*(x-x1+0.5)+a*a*(y1-y-1)*(y1-y-1)-a*a*b*b;
while(y<y1)
{
if(d2<0)
{
d2+=b*b*(2*(x-x1)+2)+a*a*(3+2*(y-y1));
x++;
y++;
}
else
{
d2+=a*a*(3+2*(y-y1));
y++;
}
putpixel(x,y,5);
putpixel(x,2*y1-y,5);
putpixel(2*x1-x,y,5);
putpixel(2*x1-x,2*y1-y,5);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -