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;
}
相关文章
|
2天前
|
Python
绘制圆
绘制圆。
15 5
|
2天前
|
Python
绘制矩形
绘制矩形。
11 5
|
C# 图形学
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
GDI+中对于圆弧的绘制,是以给定的长方形(Rectangle`结构)为边界绘制的椭圆的一部分形成的圆弧。绘制的圆弧的中心为长方形内切椭圆的圆心(如果是正方形,则正方形的...
430 0
C#之深入理解GDI+绘制圆弧及圆角矩形等比缩放的绘制
|
前端开发 JavaScript 数据可视化
用Canvas实现简单画图(线、三角形、矩形、圆)
👋因为在B站看到一个小demo是基于canvas写的,非常喜欢,然后上掘金大数据又给我推了 《Canvas 从入门到劝朋友放弃(图解版)》,就像上手一下canvas,本来不想写笔记的,因为《Canvas 从入门到劝朋友放弃(图解版)》自己看了一下挺全的,但本着输入要有输出,所以就有了这篇文章
207 0
C#编程-132:DrawRectangle绘制矩形
C#编程-132:DrawRectangle绘制矩形
136 0
C#编程-132:DrawRectangle绘制矩形
C#编程-131:DrawPolygon绘制多边形
C#编程-131:DrawPolygon绘制多边形
213 0
C#编程-131:DrawPolygon绘制多边形

热门文章

最新文章