该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#define W 800

#define H 600

void drawCircle(SDL_Renderer* renderer, SDL_Color* color, int x0, int y0, int r)

{

int x, y;

int d;

x = 0;

y = r;

d = 1 - r;

SDL_SetRenderDrawColor(renderer, color->r, color->g, color->b, color->a);

while (x < y)

{

SDL_RenderDrawPoint(renderer, x + x0, y + y0);

SDL_RenderDrawPoint(renderer, x + x0, -y + y0);

SDL_RenderDrawPoint(renderer, -x + x0, y + y0);

SDL_RenderDrawPoint(renderer, -x + x0, -y + y0);

SDL_RenderDrawPoint(renderer, y + x0, x + y0);

SDL_RenderDrawPoint(renderer, y + x0, -x + y0);

SDL_RenderDrawPoint(renderer, -y + x0, x + y0);

SDL_RenderDrawPoint(renderer, -y + x0, -x + y0);

if (d > 0)

{

d += ((x - y) << 1) + 5;

y--;

}

else

{

d += (x << 1) + 3;

//d += 2;

}

x++;

}

}

int main(int argc, char* argv[])

{

SDL_Window* window = SDL_CreateWindow("SDL Window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, W, H, SDL_WINDOW_SHOWN);

SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);

SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);

SDL_RenderClear(renderer);

SDL_Color color = {0, 0, 0, 255};

drawCircle(renderer, &color, 100, 100, 100);

drawCircle(renderer, &color, 200, 400, 50);

SDL_RenderPresent(renderer);

SDL_Event event;

bool flag = true;

while (flag)

{

while (SDL_PollEvent(&event))

{

if (event.type == SDL_QUIT)

{

flag = false;

}

}

}

return 0;

}

/*

中点八分画圆算法,

欢迎大家帮忙测试

/xyx

*/

matlab八分之一中点画圆算法,中点八分画圆算法相关推荐

  1. 计算机图形学——八分法中点画圆

    八分法中点画圆 实现方法:从0°到45°开始画,其余部分进行求对称 1 .绘制X^2+Y^2=R^2的圆,将圆划分为⑧等份.我们从第二份开始绘制 分析: 最大位移方向是Y方向,因此令y每增加1,x不变 ...

  2. 中点Bresenham画圆算法|MFC|计算机图形学

    中点Bresenham画圆算法|MFC|计算机图形学 Bresenham中点画圆算法 计算机图形学-基本图元的生成-圆 基于学习直线的生成算法后,又展开了圆.椭圆的讲解: 此次试验是简单的MFC应用, ...

  3. openGL实现中点画线算法、DDA画线算法,Bresenham画线算法,并进行鼠标键盘的交互

    首先设置变量用于进行鼠标交互和键盘交互: int m = 0; GLdouble m1 =0, m2 = 0; 1.实验入口主函数: //主函数 int main(int argc, char** a ...

  4. 【计算机图形学】中点画圆算法和Bresenham画圆算法

    在平面解析几何中,圆的方程可以描述为(x – x0)2 + (y – y0)2 = R2,其中(x0, y0)是圆心坐标,R是圆的半径,特别的,当(x0, y0)就是坐标中心点时,圆方程可以简化为x2 ...

  5. C语言——中点画圆算法和Bresenham画圆算法(easyx图形库)

    一.中点画圆法 首先是中点画圆法,考虑圆心在原点,半径为R的圆在第一象限内的八分之一圆弧,从点(0, R)到点(R/ , R/ )顺时针方向确定这段圆弧.假定某点Pi(xi, yi)已经是该圆弧上最接 ...

  6. 中点圆c语言程序,[图形学] 画圆(基于中点算法)

    图形学中的中点算法画圆,以下是该算法的 C 语言实现: /// // 程序名称:基于中点算法画圆 // 编译环境:Visual C++ 6.0 / 2010,EasyX 2011惊蛰版 // 作 者: ...

  7. 计算机图形学实习教程之基本图形的生成(直线DDA算法,直线中点算法,Bresenham画圆算法),利用C#实现,附源码

    环境:Win10+Visual Studio 2022 Community 在本次实验中需要用到上一篇文章实验内容的代码及环境,详情请见:传送门 目录 一.实验目的 二.实验过程 1.生成直线的DDA ...

  8. matlab已知圆心和半径怎么作圆,MATLAB中已知圆心和半径画圆

    今天在用MATLAB编程的时候,用到了已知圆心和半径,画圆的程序,上网搜了一下,主要有下面两种,在这里总结一下:(这里我都是放在函数中做的,想画多个圆的话可以加个for循环调用一下函数,或者直接用向量 ...

  9. MATLAB中已知圆心和半径画圆

    今天在用MATLAB编程的时候,用到了已知圆心和半径,画圆的程序,上网搜了一下,主要有下面两种,在这里总结一下:(这里我都是放在函数中做的,想画多个圆的话可以加个for循环调用一下函数,或者直接用向量 ...

最新文章

  1. nginx内置变量 大全
  2. mysql 时间点_MySQL 基于时间点与位置恢复
  3. 计算机excel教程文字版,Excel函数教程:文本函数
  4. python教程:filter,map,reduce
  5. ubuntu下使用pidgin(pidgin-lwqq)登陆qq
  6. C++工作笔记-枚举类型的作用
  7. 爱上MVC~业务层刻意抛出异常,全局异常的捕获它并按格式返回
  8. 关于GPS定位反欺诈研究
  9. 职场中,为什么有人经常说:做得越多,死得越快?
  10. (一)SVM的八股简介
  11. 生产环境一次诡异的空指针问题,反转了4次
  12. html+css制作小米商城官网初尝试
  13. 乔布斯斯坦福毕业演讲
  14. Python——第一天的Suger Rush
  15. 计算机添加家庭成员,Win10系统添加家庭成员出错怎么解决?
  16. MEMS mic之Amic(一)
  17. Windchill:oid获取对象、对象获取oid
  18. 跑步可以戴有线耳机吗?推荐这几款无线运动耳机
  19. 区域颜色填充-四连通种子填充算法
  20. 推荐一款app——ADSafe

热门文章

  1. 抖音爆火的“弹幕互动游戏”是什么,如何搭建直播间?
  2. excel提取工作表名称
  3. JS实现延时3秒刷新
  4. html个人简介个人主页网页源码期末大作业0011
  5. Ubuntu拼音输入不正常解决
  6. 线上插画培训班有用吗,教你选靠谱的插画课程
  7. 网站流量有什么作用?可以刷流量吗?
  8. php 实现我的足迹,Wordpress 实现“您的足迹”功能
  9. Vue3中使用Vform3(自定义表单工具)
  10. 双十二|Solidigm官方店铺 惊喜大放送 福利享不停