当前位置:首页 > 代码 > 正文

画纵向横向圆代码(纵向图怎么画)

admin 发布:2022-12-19 23:04 156


今天给各位分享画纵向横向圆代码的知识,其中也会对纵向图怎么画进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用C语言写出画一个圆形的代码

可以参考下面的代码:

#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");

}

}

扩展资料:

for循表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。

其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式。

参考资料来源:百度百科-for循环

c语言的画圆代码

#include graphics.h

#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();

}

C语言用Bresenham算法画圆,哪位高手教教,主要是算法里的内容,谢谢!

的确哈,关键在于对delta的理解

可以看到,都是delta=2*(1-radius)这样的,起作用应该是判断要画的点x、y坐标的变化趋势,先把我注释了的代码贴下,加了getch();可以看到画的过程

-----------------------------------------------------------------

#includegraphics.h

#includestdio.h

void BresenhemCircle(int centerx, int centery, int radius, int color, int type);

void main()

{

int drive=DETECT,mode;

int i,j;

initgraph(drive,mode,"");

BresenhemCircle(300,200,100,15,0);

getch();

}

void BresenhemCircle(int centerx, int centery, int radius, int color, int type)

{

int x =type = 0;/*初始横坐标为原点*/

int y = radius; /*初始纵坐标远离原点*/

int delta = 2*(1-radius);

int direction;

while (y = 0)

{

getch();

if (!type)/*执行*/

{

/*在上半圆画两点*/

putpixel(centerx+x, centery+y, color);

putpixel(centerx-x, centery+y, color);

/*在下半圆画两点*/

putpixel(centerx-x, centery-y, color);

putpixel(centerx+x, centery-y, color);

getch();

}

else/*不执行*/

{

line(centerx+x, centery+y, centerx+x, centery-y);

line(centerx-x, centery+y, centerx-x, centery-y);

getch();

}

/*以下代码设置下次四点的位置,圆是对称的,且此方法相当于同时画四个圆弧

观察右上方圆弧可知,前一半是x增的要快些,后一半是y减的快些*/

if (delta 0)

{

if ((2*(delta+y)-1) 0)

direction = 1; /*选择横向加*/

else

direction = 2;

}

else if(delta 0)

{

if ((2*(delta-x)-1) 0)

direction = 3; /*选择纵向减*/

else

direction = 2;

}

else

direction=2;

switch(direction)

{

case 1:

x++;/*只横坐标远离原点*/

delta += (2*x+1); /*小执行到这,所以加*/

break;

case 2:

x++;

y--;/*横向远离,同时纵向靠近*/

delta += 2*(x-y+1); /*即(2*x+1)+(-2*y+1)*/

break;

case 3:

y--;/*只纵坐标靠近原点*/

delta += (-2*y+1); /*大执行到这,所以减*/

break;

}

}

}

关于易语言图片框绘制一个圆 具体如下

.版本 2

.子程序 _画板1_鼠标左键被放开, 逻辑型

.参数 横向位置, 整数型

.参数 纵向位置, 整数型

.参数 功能键状态, 整数型

画板1.画椭圆 (横向位置, 纵向位置, 横向位置 + 200, 纵向位置 + 200)

求一段画圆的程序源代码,要求是C 或者C++ 的语言

以x=0,y=0为圆心,r为半径,屏幕左上角为坐标原点

for (x=-r;xr;x++)

{

//计算y

y=sqrt(r*r-x*x);

//画点

setpix(x+r, y+r);

setpix(x+r, 0-y+r);

}

老兄,setpix()不是画图函数,而是画点函数,不画点怎么画图啊

关于画纵向横向圆代码和纵向图怎么画的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/29188.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载