139.图形法绘制圆

简介: 139.图形法绘制圆
#include <stdio.h>
#include <graphics.h>
#include <dos.h>
/*这是根据给出的圆心坐标和点坐标分别在八个象限画点的子程序*/
void circlePoint( int xCenter, int yCenter, int x, int y )
{
  putpixel( xCenter + x, yCenter + y, YELLOW );
  putpixel( xCenter - x, yCenter + y, YELLOW );
  putpixel( xCenter + x, yCenter - y, YELLOW );
  putpixel( xCenter - x, yCenter - y, YELLOW );
  putpixel( xCenter + y, yCenter + x, YELLOW );
  putpixel( xCenter - y, yCenter + x, YELLOW );
  putpixel( xCenter + y, yCenter - x, YELLOW );
  putpixel( xCenter - y, yCenter - x, YELLOW );
}
void myCircle(int xCenter,int yCenter,int radius)
{
  int x, y, p;
/*初始化各个参数*/
  x = 0;
  y = radius;
  p = 1 - radius;
  circlePoint(xCenter, yCenter, x, y);
/*循环中计算圆上的各点坐标*/
  while( x < y ) {
    x++;
    if( p < 0 )
      p += 2*x+1;
    else
    {
      y--;
      p+=2*(x-y)+1;
    }
    circlePoint( xCenter, yCenter, x, y);
  }
}
void main()
{
  int gdriver=DETECT, gmode;  /*这是用c画图时必须要使用的图像入口*/
  int i;
  int xCenter, yCenter, radius;
  printf("Please input center coordinate :(x,y) ");
  scanf("%d,%d", &xCenter, &yCenter );
  printf("Please input radius : ");
  scanf("%d", &radius );
/*这条语句初始化整个屏幕并把入口传给gdriver,注意引号中是tc中bgi目录的完整路径*/
  registerbgidriver(EGAVGA_driver);
  initgraph(&gdriver, &gmode, "..\\bgi");  
  setcolor( BLUE );
  myCircle(xCenter, yCenter, radius);
  sleep(3);
  closegraph();
  return;
}
相关文章
|
5月前
|
Python
绘制矩形
【5月更文挑战第11天】绘制矩形。
37 1
|
3月前
|
前端开发 JavaScript
canvas系列教程01——直线、三角形、多边形、矩形、调色板
canvas系列教程01——直线、三角形、多边形、矩形、调色板
33 0
|
5月前
|
Python
绘制圆
【5月更文挑战第9天】绘制圆。
35 2
|
5月前
|
Python
绘制多边形
【5月更文挑战第9天】绘制多边形。
29 1
|
计算机视觉
五、OpenCV绘制线、矩形、圆等基本几何形状
通过javaOpenCV中的Imgproc函数进行简单几何图形的绘制
124 0
五、OpenCV绘制线、矩形、圆等基本几何形状
|
C# 图形学
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
GDI+中对于圆弧的绘制,是以给定的长方形(Rectangle`结构)为边界绘制的椭圆的一部分形成的圆弧。绘制的圆弧的中心为长方形内切椭圆的圆心(如果是正方形,则正方形的...
576 0
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
C#编程-132:DrawRectangle绘制矩形
C#编程-132:DrawRectangle绘制矩形
178 0
C#编程-132:DrawRectangle绘制矩形
C#编程-131:DrawPolygon绘制多边形
C#编程-131:DrawPolygon绘制多边形
291 0
C#编程-131:DrawPolygon绘制多边形