OpenGL实现多边形扫描转换的扫描线算法

原创 2007年06月16日 22:09:00

  学习过程中的一个小小笔记^_^

 

主要内容:
1、编写程序实现多边形扫描转换的扫描线算法
–– 多边形的输入(鼠标)
–– 非自相交多边形
–– 三角形的特殊性
2、利用OpenGL函数实现柱状图和饼图函数
 
实现步骤:
1、 初始化OpenGL环境
2、 构建几何类及其肋间关系,如图:
 
3、以父类CGraph 指针管理界面上的各种图形,即各种图形由CGraph 指针构成链表,如:struct GraphList
{//图形链表
    glGraph* m_graph;//图形
    GraphList* m_next;//下一节点
};
只要在链表中找到相应图形,通过强制转换便可对其操作,如:CGraph* tail;
((glPolygon*)tail->m_graph)->AddPoint(x,y);//添加多边形顶点
4、 因为图形的画操作是共性,所以利用父类的纯虚函数,子类再重载而实现,如:
父类CGraph 定义 virtual void Draw() = 0;
各子类重载 void Draw(); 就可实现各种图形的画法
 
 
扫描转换的实现:
1、 通过CreatET()构建边分类表,其中以变量ymin,ymax纪录当前多边形顶点中最小与最大的y坐标值,所以扫描线从ymin扫到ymax就可结束。
2、 置空AEL
3、 按算法步骤填充多边形。
 

 源码下载:http://download.csdn.net/source/195447

OpenGL实现多边形扫描转换的扫描线算法-带动画效果

  • 2013年04月25日 11:38
  • 459KB
  • 下载

opengl实现直线扫描算法和区域填充算法

1、 采用直线扫描算法绘制一条线段,直线由离散点组成 2、 利用区域填充算法绘制多边形区域,区域由离散点组成...
  • zjccoder
  • zjccoder
  • 2014年11月15日 15:20
  • 7362

直线扫描转换(DDA画线算法)

直线的斜截式为 y=kx+b。 当 x=x+dx 时, y=y+k(dx)。 所以在描绘像素点的时候当x每+1的时候,y的增量为k。(|k|1的时候只需要交换 x y即可) 比如 (0,0) 到...
  • dongshimou
  • dongshimou
  • 2015年07月20日 18:03
  • 670

计算机图形学作业——DDA算法实现

本文内容为通过VC++6.0实现的DDA算法,仅供大家互相交流,若有错误,欢迎大家前来指正...
  • weiwei1994
  • weiwei1994
  • 2016年03月13日 11:57
  • 2488

中点扫描算法画圆弧(OpenGL)

圆弧的中点扫描算法画圆弧(添加了键盘监听事件) #include #include #include #include using namespace std; int theWindow; in...
  • qq_25558059
  • qq_25558059
  • 2017年01月10日 23:49
  • 550

计算机图形学:中点画圆算法

在平面解析几何中,圆的方程可以描述为(x – x0)2 + (y – y0)2 = R2,其中(x0, y0)是圆心坐标,R是圆的半径,特别的,当(x0, y0)就是坐标中心点时,圆方程可以简化为x2...
  • u013044116
  • u013044116
  • 2015年10月21日 15:18
  • 6705

计算机图形学——直线的三种扫描转换算法

计算机图形学是算比较抽象的一门课程吧,而且内容也比较枯燥,如果没有比较好的耐心,一时半会儿是看不见计算机图形学究竟有什么作用的,但是其中有些内容呢跟C语言有关联,比如直线的扫描转换算法。大部分时候C语...
  • philip2345
  • philip2345
  • 2016年11月30日 23:27
  • 2482

扫描线算法

基本思想                   按扫描线顺序, 计算扫描线与多边形的相交区间, 再用要求的颜色显示这些区间的 象素,即完成填充工作。   对于一条扫描线填充...
  • u013146742
  • u013146742
  • 2016年02月29日 11:24
  • 2278

QT+OpenGL开发实例:扫描线填充算法

最近要做一个课程设计:扫描线填充算法。扫描线填充的具体实现要依靠OpenGL了,也算是用用计算机图形学这门课程所学的知识了。同时为了做出菜单、点击按钮这样的图形化界面,开始着手看QT OpenGL编程...
  • MikoLiu
  • MikoLiu
  • 2016年04月29日 11:46
  • 1999

OpenGL实现多边形扫描转换的扫描线算法

  • 2007年06月17日 14:28
  • 63KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenGL实现多边形扫描转换的扫描线算法
举报原因:
原因补充:

(最多只允许输入30个字)