计算机图形学 DDA算法中点画线算法Bresen

计算机图形学 DDA算法、中点画 线算法、 Bresen计算机图形学:DDA算法、中点画线算法、Bresenham算法画直线(c语言)2010-12-09 16:00这几个程序是我根据老师的课件编出来的,在这里跟大家分享一下DDA算法画直线:#include graphics.h#include math.h#include conio.h main()int driver=DETECT,mode;initgraph(&driver,&mode,““);setbkcolor(2);dda_line(250,200,100,120);getch();closegraph();dda_line(x1,y1,x2,y2)int x1,y1,x2,y2;{float increx,increy,x,y,length;int i;if(abs(x2-x1)abs(y2-y1))length=abs(x2-x1);else length=abs(y2-y1);increx=(x2-x1)/length;increy=(y2-y1)/length;x=x1;y=y1;for(i=1;i=length;i++){putpixel((int)(x+0.5),(int)(y+0.5),1);x=x+increx;y=y+increy;}}中点画线法:#include graphics.h#include math.h#include conio.h#include stdio.h void MidPoint_Line(int x0,int y0,int x1,int y1,int color);main(){int driver=DETECT,mode;int x0,y0,x1,y1,color;initgraph(&driver,&mode,““);setbkcolor(2);MidPoint_Line(0,0,200,200,1);getch();closegraph();}void MidPoint_Line(x0,y0,x1,y1,color)int x0,y0,x1,y1,color;{int a,b,delta1,delta2,d,x,y;a=y0-y1;b=x1-x0;d=2*a+b;delta1=2*a;delta2=2*(a+b);x=x0;y=y0;putpixel(x,y,color);while(x x1){if(d 0){x++;y++;d+=delta2;}else{x++;d+=delta1;}putpixel(x,y,color);}Bresenham算法:#include graphics.h#include math.h#include conio.h#include stdio.h void Bresenham_Line(int x0,int y0,int x1,int y1,int value);main(){int driver=DETECT,mode;int x0,y0,x1,y1,color;initgraph(&driver,&mode,““);setbkcolor(2);Bresenham_Line(0,0,200,200,1);getch();closegraph();}void Bresenham_Line(int x0,int y0,int x1,int y1,int value){int dx=abs(x0-x1),dy=abs(y0-y1);int d=2*dy-dx;int twody=2*dy,twodydx=2*(dy-dx);int x,y,xend;if(x0 x1){x=x1;y=y1;xend=x0;}else{x=x0;y=y0;xend=x1;}putpixel(x,y,value);while(x xend){x++;if(d 0)d+=twody;else{y++;d+=twodydx;}putpixel(x,y,value);}}

dda c语言计算机图形学,计算机图形学 DDA算法中点画线算法Bresen相关推荐

  1. 【计算机图形学】扫面转换算法(DDA算法 中点画线算法 Bresenham画线算法)

    模块1 扫描转换算法 一 实验目的 编写直线.弧线的光栅扫描转换算法,并对线宽与线形的算法加以探讨 用DDA算法.中点画线算法.Bresenham画线算法绘制直线(如果键盘输入数据,给出数据值:如果绘 ...

  2. 计算机图形学 学习笔记(一):概述,直线扫描转换算法:DDA,中点画线算法,Bresenham算法

    前言 本笔记基于 http://www.icourse163.org/learn/CAU-45006?tid=1001746004#/learn/announce 感谢中国农大 赵明老师的分享~ 现在 ...

  3. openGL实现中点画线算法、DDA画线算法,Bresenham画线算法,并进行鼠标键盘的交互

    首先设置变量用于进行鼠标交互和键盘交互: int m = 0; GLdouble m1 =0, m2 = 0; 1.实验入口主函数: //主函数 int main(int argc, char** a ...

  4. [计算机图形学算法]直线扫描转换算法-中点画线法

    DDA算法用斜截式表示直线方程,简化了乘法运算,但任存在浮点运算. 我们猜想,用别的方式表示直线,是否能把浮点运算也简化为整数运算. 在中点画线法中,我们用Ax+By+C=0的一般式方程来表示直线,即 ...

  5. 中点画线算法(计算机图形学)

    0.画线算法 0.DDA(digital differential analyzer) A.基本原理 画线时,会给出两个端点(x0,y0),(xend,yend)据此计算出斜率m,然后 从(x0,y0 ...

  6. java实现计算机图形学中点画线算法

    代码:DrawLine.java: import javax.swing.*; import java.awt.*;public class DrawLine extends JPanel {publ ...

  7. 中点画线完整算法c语言,中点画线算法

    在网上看中点画线算法,很多说法是中点画线类似于Breshehanm画线. 但是助教说的中点画线是寻找直线两端点的中点进行画点,然后分别递归左右半段直线. 当年不好好学习,递归掌握的不好,现在自己试了试 ...

  8. 中点画线完整算法c语言,中点画线算法(任意斜率)

    基本原理 在画直线段的过程中,当前像素点为(xp ,yp ),下一个像素点有两种可选择点P1(xp +1,yp )或P2(xp +1,yp +1).若M=(xp +1,yp +0.5)为P1与P2之中 ...

  9. [XJTUSE]计算机图形学第二章作业,使用OpenGL编程实现DDA、中点画线和Bresenham算法和中点画圆法

    首先是Windows10 + Visual Studio 2019 搭建OpenGL环境可以查看如下链接: 萌新向!!!Windows10 + Visual Studio 2019 搭建OpenGL环 ...

  10. 画毛毛虫代码计算机图形学,计算机图形学 实验 数值微分(DDA)法、中点画线法、Bresenham算法.doc...

    文档介绍: 实验名称数值微分(DDA)法.中点画线法.Bresenham算法实验时间年月日专业姓名学号预****操作座位号教师签名总评一.实验目的:1.了解数值微分(DDA)法.中点画线法.Brese ...

最新文章

  1. 不是都需要ARM吗?
  2. 重磅!中国微纳机器人技术取得新突破,实现肿瘤的可视化精准治疗!
  3. Android 用Animation-list实现逐帧动画
  4. postman测试带权限接口_接口测试工具:postman
  5. jQuery 遍历 - children() 方法
  6. python小说阅读器_用python实现自己的小说阅读器
  7. Oracle存在gap,发现gap及解决
  8. 雅虎被告存在重大疏忽 导致5亿账户信息被黑
  9. 银行计算机储蓄系统程序流程图,银行储蓄系统流程图
  10. PyCharm 重构(refactor)快捷键
  11. 2012.12.26 晚 小雨
  12. CentOS 6 忘记root密码的修改方法
  13. ECharts热力图指定颜色
  14. Unity3D游戏中隐藏鼠标光标
  15. 计算机科学与技术考研双非,985弱势“好考”专业与双非王牌专业大汇总!考研报考必备!...
  16. 无法获得递归Range.Find在Word VBA中工作
  17. HTML5 canvas 参考手册
  18. 怎么用python绘制柱状图_如何用python快速简单的制作柱状图?
  19. CC0与商业IP:哪个更好?
  20. linux软中断和消息队列结合,传统UNIX进程间通信内核实现概要

热门文章

  1. Java 集合源码详解
  2. python正则表达式--爬取百度文库内容
  3. 移动咪咕盒子10款型号刷机固件汇总分享(附刷机教程)
  4. 产品选型“神器” TIA Selection Tools 之选择 S7-1500T 全程详解
  5. ArcMap图例横放教程
  6. 软件测试总结——常见的面试问题(一)
  7. MTK 驱动开发---Memory 移植
  8. java代码餐馆管理系统_Java 餐厅收银管理系统
  9. 小米8 微信支付 java_小米微信WAP支付SDK接入指南
  10. 一个特别NB的技术网站