Bresenham 画圆法改变线宽

(红色为添加代码部分)

void BresenhamCircle(int R,CDC *pDC)

{

int x0,y0,x,y,p;

x0=100;

y0=100;

x = x0;

y=y0 + R;

p=3-2*R;

for(;x<=y;x++)

{

pDC->SetPixel(x,y,RGB(255,0,0));

pDC->SetPixel(x,2*y0-y,RGB(255,0,0));

pDC->SetPixel(y,x,RGB(255,0,0));

pDC->SetPixel(2*y0-y,x,RGB(255,0,0));

pDC->SetPixel(2*x0-x,y,RGB(255,0,0));

pDC->SetPixel(y,2*x0-x,RGB(255,0,0));

pDC->SetPixel(2*x0-x,2*y0-y,RGB(255,0,0));

pDC->SetPixel(2*y0-y,2*x0-x,RGB(255,0,0));

if(p>=0)

{

p+=4*(x-y)+10;

y--;

}

else

{

p+=4*(x-x0)+6;

}

}

}

void RasterScanFillCircle(CDC *pDC, int x0, int y0, int r, int

width, int color)

{

int x, y;

for(x=0;x<=r+width;x++)

{

for(y=r+width;y>=0;y--)

{

if((x)*(x)+(y)*(y)>=r*r &&

(x)*(x)+(y)*(y)<=(r+width)*(r+width))

{

pDC->SetPixel(x+x0,y+y0,color);

pDC->SetPixel(x0-x,y+y0,color);

pDC->SetPixel(x0-x,y0-y,color);

pDC->SetPixel(x+x0,y0-y,color);

}

}

}

}

void CCircleView::OnDraw(CDC* pDC)

{

CCircleDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

BresenhamCircle(50,pDC);

RasterScanFillCircle(pDC,300,100,50,5,RGB(255,0,0));

}

中点画圆法改变线宽

void MidpointCircle(CDC *pdc,int x0,int y0,int r,int color)

{

int x,y;

float d;

x=0;

y=r;

d=1.25-r;

pdc->SetPixel(x0+x,y0-y,color);

while(x<=y)

{

x++;

if(d<0)

{

d+=2*x+3;

}

else

{

计算机图形学设计线宽代码,计算机图形学画圆并改变线宽.pdf相关推荐

  1. 计算机图形学画圆公式推导,计算机图形学画圆方法(范文).doc

    计算机图形学画圆方法(范文) 第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页 浙江大学城市学院实验报告 课程名称 计算机图形学 实验项目名称 画圆方法 实验成绩 指导 ...

  2. 计算机图形学画圆公式推导,计算机图形学画圆方法.doc

    计算机图形学画圆方法.doc (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 浙江大学城市学院实验报告课程名称 计算机图形学 实验工 ...

  3. 计算机图形学生活应用,计算机图形学的应用实例(计算机图形作业).doc

    计算机图形学的应用实例(计算机图形作业).doc 计算机图形学大作业 计算机图形学的应用实例 班级: 学号: 姓名: 2012-03-12 计算机图形学的应用实例 一.计算机图像学简介 计算机图形学是 ...

  4. 计算机图形学的应用虚拟现实相关,虚拟现实技术中计算机图形学的应用——三维计算机图形...

    虚拟现实技术中计算机图形学的应用--三维计算机图形 虚拟现实技术中计算机图形学的应用 --三维计算机图形 近年来虚拟头盔的发展越来越快.目前,这个虚拟头盔仅在瑞士圣约翰公园能够让体验者进入虚拟3D世界 ...

  5. 计算机图形学的应用虚拟现实相关,虚拟现实技术中计算机图形学的应用——三维计算机图形.doc...

    虚拟现实技术中计算机图形学的应用--三维计算机图形 虚拟现实技术中计算机图形学的应用 --三维计算机图形 近年来虚拟头盔的发展越来越快.目前,这个虚拟头盔仅在瑞士圣约翰公园能够让体验者进入虚拟3D世界 ...

  6. 计算机图形学画圆vc代码,计算机图形学实验--完整版-带结果--vc++实现.doc

    计算机图形学实验--完整版-带结果--vc实现 计算机图形学实验报告 信息学院计算机专业 20081060183 周建明 综括: 利用计算机编程语言绘制图形,主要实现以下内容: (1).中点算法生成任 ...

  7. 计算机图形学多边形填充代码_零基础学计算机图形学太难?或许你缺的只是一本好书...

    雷锋网 AI 科技评论按,计算机图形学是一个有趣的话题--如何利用算法和一些几何数据制作玩具总动员?这不仅对于普通的电影迷来说是一个神秘的话题,而且对于那些还没有接触过它的世界级工程师来说也非常有吸引 ...

  8. 计算机图形学绘制多边形代码_《GPU编程与CG语言之阳春白雪下里巴人》- 第二章(GPU 图形绘制管线)...

    第二章 GPU 图形绘制管线 万事开头难,每门科学都是如此. ------ 马克思 图形绘制管线描述 GPU 渲染流程,即"给定视点.三维物体.光源.照明模式,和纹理等元素,如何绘制一幅二维 ...

  9. 计算机图形学基础教程代码,计算机图形学基础教程

    <计算机图形学基础教程>由会员分享,可在线阅读,更多相关<计算机图形学基础教程(19页珍藏版)>请在人人文库网上搜索. 1.第一章 1. 计算机图形学的主要研究内容是什么? 答 ...

  10. 计算机图形学多边形填充代码_计算机图形学 Computer Graphics (第一周笔记及课件翻译)...

    本文使用 Zhihu On VSCode 创作并发布 注:本文部分内容源自于UDE课程 Computer Graphics(Prof. Dr. Jens Krüger),仅供本人自己学习与作为课程笔记 ...

最新文章

  1. Java 动态语言
  2. 【QT】二进制读取图像文件测试
  3. JS 创建对象(常见的几种方法)
  4. Linux经典实用的使用技巧33则和常用60个命令
  5. 推荐关注这7个高质量的前端公众号
  6. python中的post和get请求的区别_HTTP: Request中的post和get区别
  7. ASP.NET 通用 权限 管理系统
  8. co作为前缀的意思_注定孤独的前缀|英汉比较教学法·语音思维No.17
  9. 计算机操作痕迹清除,如何彻底清除电脑使用痕迹
  10. MySQL之B+树详解
  11. 系统动力学专拓考试重点总结
  12. 【Origin双y轴】三条曲线,其中两条曲线共用一个y轴
  13. Spring-IoC概念
  14. 获取中国银行网页中外汇率
  15. RAID区别和特点(全)
  16. 美加净与大白兔跨界合作奶糖味润唇膏成社交网络爆款
  17. H5棋牌游戏app下载链接在微信中显示已停止访问或打不开的解决方案
  18. 流/批/OLAP一体的Flink引擎
  19. Windows中HWND定义说明
  20. 7. PyEcharts

热门文章

  1. 计算机思维导论raptor实验报告,计算机基础实验报告Raptor.pdf
  2. 执着女股民:20年炒一只股票 翻几十倍很轻松
  3. 英文邮件礼仪:向教授请教学术问题
  4. python如何设置开头注释_小疯谈python:(二)python语言的基本语法元素
  5. 手机内存小可用内存卡代替吗?
  6. java 3des解密_Java进行3DES加密解密详解
  7. pdf怎么转换成word格式不变?
  8. 计算机在档案部门应用范围,计算机在档案管理中的应用
  9. Python基础:什么是字符串?字符串是用来做什么的?
  10. word当前页面设置第一页