中点法画直线:

void MidBresenhamLine(CDC *pDC,int x0,int y0,int x1,int y1,int color){

int dx,dy,d,up,down,x,y;

if(x0>x1){

x=x1;x1=x0;x0=x;

y=y1;y1=y0;y0=y;

}

x=x0;y=y0;

dx=x1-x0;dy=y1-y0;

d=dx-2*dy;

up=2*x-2*y;

down=-2*dy;

while(x<=x1){

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

x++;

if(d<0){

y++;

d+=up;

}

else d+=down;

}

}

void CMy213View::OnButton32772()

{

CDC *pDC;

pDC=this->GetDC();

int x0=50,y0=50,x1=300,y1=300,color=333;

MidBresenhamLine(pDC,x0,y0,x1,y1,color);

this->ReleaseDC(pDC);

// TODO: 在此添加命令处理程序代码

}

八分法画圆:

void CirclePoint(CDC *pDC,int x,int y,int color){

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

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

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

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

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

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

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

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

}

void MidBresenhamCircle(CDC *pDC,int r,int color){

int x,y,d;

x=0;y=r;d=1-r;

while(x<=y){

CirclePoint(pDC,x,y,color);

if(d<0)d+=2*x+3;

else{

d+=2*(x-y)-5;

y--;

}

x++;

}

}

void CmbView::Onbbb()

{

CDC *pDC;

pDC=this->GetDC();

int r=60,color=333;

MidBresenhamCircle(pDC,r,color);

this->ReleaseDC(pDC);

// TODO: 在此添加命令处理程序代码

}

计算机图形学画圆和直线代码,计算机图形学作业(中点法画直线和八分画圆法).doc...相关推荐

  1. 用计算机画中点和角平分线,计算机图形学作业(中点法画直线和八分画圆法)

    1.中点法画直线: void MidBresenhamLine(CDC *pDC,int x0,int y0,int x1,int y1,int color){ int dx,dy,d,up,down ...

  2. 用计算机图形学画字母,OpenGL 绘制字母 计算机图形学

    [注]算法代码如下,其中void CharMap(void)为绘制字符的算法,其中的函数段实现了两种绘制字符的不同方法,其中: glColor 3f(0.0,0.0,0.0); char text[] ...

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

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

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

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

  5. line划线计算机图像学,【计算机图形学】根本图形元素:直线的生成算法

    [计算机图形学]基本图形元素:直线的生成算法 08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net ...

  6. 计算机图形学直线算法论文,《计算机图形学》中直线生成算法的教学心得

    摘要:<计算机图形学>是计算机科学与技术专业一门重要的专业课,其中直线生成算法是教学重点之一.该文通过分析几种直线生成算法的特点,阐述了理论教学和实践教学的重点和难点,总结了教学的体会和心 ...

  7. 计算机图形学算法【1】——直线画法(数值微分法)

    计算机图形学算法[1]--直线画法(数值微分法) 以下所有代码均在VS2010下的MFC框架下使用 DDA(数值微分法)介绍 一.基本原理 通过计算直线的斜率k和截距b,y = kx+b 1.计算起点 ...

  8. 【计算机图形学】中点画线法实现任意斜率直线的绘制

    [计算机图形学]中点画线法实现任意斜率直线的绘制 一.中点画线法原理简介 1.建立基础 中点画线法的建立基础是数值微分画线法(DDA),其作为改进算法,沿用了DDA算法的增量思想,针对影响DDA算法效 ...

  9. c语言 绘制任意斜率的直线,计算机图形学 绘制任意斜率的直线(1)

    计算机图形学 绘制任意斜率的直线(1) 本文演示,通过自己编写绘制直线函数(像素点填充),绘制任意斜率的直线. 1)创建CP2类 头文件:p2.h // P2.h: interface for the ...

最新文章

  1. NDKJNI Android 相关资料整理(四)
  2. base64 python兼容js_无法在中读取Base64编码的图像节点.js它是从Python发送的
  3. 线程、线程匿名内部类、解决线程不安全的方式
  4. Python logging调用Logger.info方法的处理过程
  5. Luck Club-SDT 去中心化的游戏
  6. mysql query 查询失败_如何在mysql进行查询缓存及失败的解决方法
  7. 基于matlab的fisher线性判别及感知器判别_Deep Domain Adaptation论文集(一):基于label迁移知识...
  8. IIS部署ArcGIS JS API4.10后,字体未加载加载字体跨域
  9. ZOJ 3633 rmq 重点在于转化
  10. 联想电脑的一键换机软件——乐换机
  11. Golang——垃圾回收GC
  12. 【mmall】IDEA自动Make
  13. 优秀!复旦直博生一作发15篇SCI,并担任12本SCI期刊审稿人
  14. python之路8-内置模块介绍
  15. 嘻哈 软件技术知识与项目管理知识
  16. php读取excel怎么读取sheet2,PHP读取Excel 之 Spreadsheet_Excel_Reader
  17. C6000 DSP技术深度探索---链接命令文件(cmd)
  18. linux comd skill
  19. 第四篇:UE4视角切换节点,Possess和Set View Target With Blend的区别
  20. macbook黑屏的三种解决方法

热门文章

  1. mysql 技能进阶_mysql的高级进阶(一)
  2. 2006年上海交通大学计算机研究生机试真题
  3. 2010年浙江大学计算机及软件工程研究生机试真题
  4. 在VS2008中使用Qt编程
  5. CPU缓存和内存屏障
  6. 记录几个前端样式小点
  7. 【LeetCode】191. Number of 1 Bits
  8. [网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
  9. Swift之深入解析异步函数async/await的使用与运行机制
  10. iOS之深入解析内存分配的五大区