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

计算机图形学 学习笔记(二):多边形扫描转换:X扫描线算法 和 改进的X扫描线算法

接上文 计算机图形学 学习笔记(一):概述,光栅图形学算法:直线扫描算法(DDA,中点画线算法,Bresenham算法)光栅图形学算法2.4 多边形扫描转换-X扫描线算法多边形的扫描转换和区域填充...
  • Jurbo
  • Jurbo
  • 2017-02-23 19:46:24
  • 3932

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

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

扫描线多边形填充算法及其OpenGL实现

算法概述 Scan-line Polygon FillAlgorithm(扫描线多边形填充算法),是一种利用Vertex位置、Y-bucket sort(Y桶排序)和Activated Edge L...
  • yqz411
  • yqz411
  • 2011-12-14 11:01:02
  • 2198

扫描线填充算法的OpenGL实现

  • 2011年12月16日 11:36
  • 2.35MB
  • 下载

多边形的扫描转换之扫描线算法 c++实现 vc6.0控制台

多边形的扫描转换算法实现,是我《计算机图形学》的一个作业。多边形扫描算法有很多,比如,扫描线算法,边界标记算法,各种区域填充算法配合直线的扫描转换算法。起初我不打算用扫描线算法,因为在这么多算法里面,...
  • u012934099
  • u012934099
  • 2014-12-10 23:43:57
  • 2156

【OpenCV】图形生成算法:多边形的扫描转换

昨天被人问到“扫描线算法”,只有个模糊的印象,好多都想不起来了。。。复习一下 多边形 扫描线算法是针对计算机中多边形的显示。多边形三条或三条以上的线段首位顺次连接所组成的封闭图形,有凸多边形(任意...
  • xiaowei_cqu
  • xiaowei_cqu
  • 2012-06-26 20:39:02
  • 15972

多边形的扫描转换与区域填充算法

(1)算法步骤: X——扫描线算法填充多边形的原理见下图。每一条扫描线被多边形分成几段,每一段要么在多边形内,要么在多边形外,在内的填充(用线型、点或颜色),在外的则舍弃。 图3-1  X---...
  • qq_34075012
  • qq_34075012
  • 2016-11-22 10:56:23
  • 2494

扫描转换多边形的扫描线算法代码

  • 2009年12月08日 11:11
  • 331KB
  • 下载

多边形区域填充算法--扫描线填充算法(有序边表法)

二、扫描线算法(Scan-Line Filling)         扫描线算法适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合...
  • u013044116
  • u013044116
  • 2015-11-09 13:50:24
  • 7779

计算机图形学:多边形的扫描转换算法(有详细代码)

前言: 书本上用的是链表的方法,由于感觉链表太乱了,担心代码不清晰,就用了结构体的方法。 我的方法和书上的不太一样,只能说是自己根据书本修改的代码,可能有些错误,希望老师能够提出。 我在算法中初始了一...
  • su20145104009
  • su20145104009
  • 2015-12-08 12:26:37
  • 7824
收藏助手
不良信息举报
您举报文章:OpenGL实现多边形扫描转换的扫描线算法
举报原因:
原因补充:

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