完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
在tft上画圆。。用的是Bresenham算法。可是画出的圆失真严重,请问要怎么才能画出比较圆的圆?
Bresenham算法代码如下 void CirclePoint(uint16 x,uint16 y,uint16 x0,uint16 y0,uint16 color) { PutPixel(x,y,color); PutPixel(y,x,color); PutPixel(x,2*y0-y,color); PutPixel(y,2*y0-x,color); PutPixel(2*x0-y,2*y0-x,color); PutPixel(2*x0-x,2*y0-y,color); PutPixel(2*x0-x,y,color); PutPixel(2*x0-y,x,color); } void MidBresenhamcircle(uint16 x0,uint16 y0,uint16 R) { int16 x,y; int16 d; x=x0; y=y0+R; d=3-2*R;/* 计算初始值 */ while(x<(x0+R/1.4)) { CirclePoint(x,y,x0,y0,2); /*绘制点(x,y)及其在八分圆中的另外7个对称点*/ if(d<0) d+=4*x+6; /*根据误差项d的判断,决定非最大位移方向上是走还是不走*/ else { d+=4*(x-y)+10; y--; } x++; } } |
|
相关推荐
1个回答
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
7 浏览 0 评论
26 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
13 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
644 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1000 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11769 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 02:16 , Processed in 0.421495 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号