前言:
通过扫描线算法对多边形面进行颜色随机填充。再使用Z-buffer算法比较重叠物体的点的深度,即对同一个X,Y位置的多个点,选择深度浅的点显示。
扫描线算法(本文的扫描线算法是对该文的补充扫描线算法完全解析):
对每个物体的表面分别进行扫描线算法,扫描线自底向上,扫描范围为物体的最低点的Y值到最高点的Y值。扫描线每次向上移动1个单位距离(1个像素)。
在openGL中,如果我们把画布大小定义为600X600px,画布坐标轴定义为(0,600,0,600),则在运算中,y或者x每增加1,相当于在屏幕上增加1个像素距离。
扫描线算法实行两两配对原则,即填充扫描线和多边形边产生的2个交点之间范围的点。为了保证每次都是产生偶数个交点,需要对形如上图的F点和A点进行区别处理。

这篇博客介绍了如何使用扫描线算法对多边形进行随机填充,并结合Z-buffer算法处理重叠点,通过比较深度选择显示。在填充过程中,详细阐述了扫描线如何遍历多边形边,动态维护活动边表AET,并进行边的匹配和颜色填充。
最低0.47元/天 解锁文章
4025

被折叠的 条评论
为什么被折叠?



