码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 基于 Bresenham 算法画圆


    1. #include <graphics.h>
    2. #include <conio.h>
    3. // 使用 Bresenham 画圆法
    4. void Circle_Bresenham(int x, int y, int r, int color)
    5. {
    6. int tx = 0, ty = r, d = 3 - 2 * r;
    7. while (tx <= ty)
    8. {
    9. // 利用圆的八分对称性画点
    10. putpixel(x + tx, y + ty, color);
    11. putpixel(x + tx, y - ty, color);
    12. putpixel(x - tx, y + ty, color);
    13. putpixel(x - tx, y - ty, color);
    14. putpixel(x + ty, y + tx, color);
    15. putpixel(x + ty, y - tx, color);
    16. putpixel(x - ty, y + tx, color);
    17. putpixel(x - ty, y - tx, color);
    18. if (d < 0) // 取上面的点
    19. d += 4 * tx + 6;
    20. else // 取下面的点
    21. d += 4 * (tx - ty) + 10, ty--;
    22. tx++;
    23. }
    24. }
    25. // 主函数
    26. int main()
    27. {
    28. initgraph(640, 480);
    29. // 测试画圆
    30. Circle_Bresenham(320, 240, 200, RED);
    31. Circle_Bresenham(320, 240, 101, RED);
    32. // 按任意键退出
    33. _getch();
    34. closegraph();
    35. return 0;
    36. }

    利用对称的方法 将圆进行8分

    x y 代表圆圆心坐标

    r 为圆的半径

    color 代表颜色

    当然可以进行8分圆的任意组合,实现n/8圆的实现

  • 相关阅读:
    磁盘调度算法
    TEngine框架的导入与运行
    AOP(JDK动态代理实现)
    【每日一题】力扣1768. 交替合并字符串
    JavaWeb-cookie&session
    电石双向无人值守称重系统功能详解
    ubuntu搭建nginx rtmp服务
    mysql请求阻塞
    UIC Python期末冲刺|02文件操作1
    js 时差计算 根据时间戳获取相差时间 几时几分几秒
  • 原文地址:https://blog.csdn.net/xinshuwei/article/details/124832917
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号