计算机图形学画圆和直线代码,计算机图形学作业(中点法画直线和八分画圆法).doc...
中点法画直线:
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.中点法画直线: void MidBresenhamLine(CDC *pDC,int x0,int y0,int x1,int y1,int color){ int dx,dy,d,up,down ...
- 用计算机图形学画字母,OpenGL 绘制字母 计算机图形学
[注]算法代码如下,其中void CharMap(void)为绘制字符的算法,其中的函数段实现了两种绘制字符的不同方法,其中: glColor 3f(0.0,0.0,0.0); char text[] ...
- 计算机图形学画圆公式推导,计算机图形学画圆方法(范文).doc
计算机图形学画圆方法(范文) 第 PAGE \* Arabic 1 页第 PAGE \* Arabic 1 页 浙江大学城市学院实验报告 课程名称 计算机图形学 实验项目名称 画圆方法 实验成绩 指导 ...
- 计算机图形学画圆公式推导,计算机图形学画圆方法.doc
计算机图形学画圆方法.doc (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 浙江大学城市学院实验报告课程名称 计算机图形学 实验工 ...
- line划线计算机图像学,【计算机图形学】根本图形元素:直线的生成算法
[计算机图形学]基本图形元素:直线的生成算法 08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net ...
- 计算机图形学直线算法论文,《计算机图形学》中直线生成算法的教学心得
摘要:<计算机图形学>是计算机科学与技术专业一门重要的专业课,其中直线生成算法是教学重点之一.该文通过分析几种直线生成算法的特点,阐述了理论教学和实践教学的重点和难点,总结了教学的体会和心 ...
- 计算机图形学算法【1】——直线画法(数值微分法)
计算机图形学算法[1]--直线画法(数值微分法) 以下所有代码均在VS2010下的MFC框架下使用 DDA(数值微分法)介绍 一.基本原理 通过计算直线的斜率k和截距b,y = kx+b 1.计算起点 ...
- 【计算机图形学】中点画线法实现任意斜率直线的绘制
[计算机图形学]中点画线法实现任意斜率直线的绘制 一.中点画线法原理简介 1.建立基础 中点画线法的建立基础是数值微分画线法(DDA),其作为改进算法,沿用了DDA算法的增量思想,针对影响DDA算法效 ...
- c语言 绘制任意斜率的直线,计算机图形学 绘制任意斜率的直线(1)
计算机图形学 绘制任意斜率的直线(1) 本文演示,通过自己编写绘制直线函数(像素点填充),绘制任意斜率的直线. 1)创建CP2类 头文件:p2.h // P2.h: interface for the ...
最新文章
- NDKJNI Android 相关资料整理(四)
- base64 python兼容js_无法在中读取Base64编码的图像节点.js它是从Python发送的
- 线程、线程匿名内部类、解决线程不安全的方式
- Python logging调用Logger.info方法的处理过程
- Luck Club-SDT 去中心化的游戏
- mysql query 查询失败_如何在mysql进行查询缓存及失败的解决方法
- 基于matlab的fisher线性判别及感知器判别_Deep Domain Adaptation论文集(一):基于label迁移知识...
- IIS部署ArcGIS JS API4.10后,字体未加载加载字体跨域
- ZOJ 3633 rmq 重点在于转化
- 联想电脑的一键换机软件——乐换机
- Golang——垃圾回收GC
- 【mmall】IDEA自动Make
- 优秀!复旦直博生一作发15篇SCI,并担任12本SCI期刊审稿人
- python之路8-内置模块介绍
- 嘻哈 软件技术知识与项目管理知识
- php读取excel怎么读取sheet2,PHP读取Excel 之 Spreadsheet_Excel_Reader
- C6000 DSP技术深度探索---链接命令文件(cmd)
- linux comd skill
- 第四篇:UE4视角切换节点,Possess和Set View Target With Blend的区别
- macbook黑屏的三种解决方法