- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lecture04-PolygonScanConversion 计算机图形学ppt课件
区域填充的扫描线算法 算法步骤: 首先填充种子点所在扫描线上的位于给定区域的一个区段 然后确定与这一区段相连通的上、下两条扫描线上位于给定区域内的区段,并依次保存下来。 反复这个过程,直到填充结束。 (1)初始化:堆栈置空。将种子点(x,y)入栈。 (2)出栈:若栈空则结束。否则取栈顶元素(x,y),以y作为当前扫描线。 (3)填充并确定种子点所在区段:从种子点(x,y)出发,沿当前扫描线向左、右两个方向填充,直到边界。分别标记区段的左、右端点坐标为xl和xr。 (4)并确定新的种子点:在区间[xl,xr]中检查与当前扫描线y上、下相邻的两条扫描线上的象素。若存在非边界、未填充的象素,则把每一区间的最左象素作为种子点压入堆栈,返回第(2)步。 上述算法对于每一个待填充区段,只需压栈一次;因此,扫描线填充算法提高了区域填充的效率。 Barycentric Coordinates Consider a triangle defined by three points a, b, and c. Define a new coordinate system in which a is the origin, b and c define the coordinate system basis vectors Note that the coordinate system will be non-orthogonal. Barycentric Coordinates Barycentric Coordinates With this new coordinate system, any point can be written as: rearranging terms, we get: let then Barycentric Coordinates Barycentric Coordinates Now any point in the plane can be represented using its barycentric coordinates If then the point lies somewhere in the triangle Barycentric Coordinates If one of the coordinates is zero and the other two are between 0 and 1, the point is on an edge If two coordinates are zero and the other is one, the point is at a vertex. The barycentric coordinate is the signed scaled distance from the point to the line passing through the other two triangle points Computing Barycentric Coordinates To compute the barycentric coordinates of a point: Barycentric Coordinate Applet a c b b-a c-a b=0 b=-1 b=1 b=2 g = -1 g=0 g = 1 g = 2 a c b c-a b=0 b=-1 b=1 d=1 Global Edge Table Example For the given polygon: 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 a b c d e (a, b) = [(2, 1), (3, 5)] (b, c) = [(3, 5), (6, 6)] (c, d) = [(6, 6), (3, 8)] (d, e) = [(3, 8), (0, 4)] (e, a) = [(0, 4), (2, 1)] GET Entries (ymax, x@ymin, 1/m) (5, 2, ?) (6, 3, 3) (8, 6, -3/2) (8, 0, 3/4) (a, b) ? (b, c) ? (c, d) ? (d, e) ? (e, a) ? (4, 2, -2/3) Why don’t we store ymin Global Edge Table Example These entries are then placed into the ET based on the edge ymin values d 0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6
您可能关注的文档
- GDWLXX2-20405致冷的基本原理 广东版高中物理选修2-2.ppt
- General Principles of Control by Traffic Signals 《道路勘测设计》英文资料.pdf
- General introduction 美国文学课件.ppt
- GeneticAlgorithms Optimization Method 最优化方法经典教材课件.ppt
- Genitive 德语初级适用 教学课件.ppt
- genetive 基础德语教学课件.ppt
- GeoMap 地质绘图系统 教学课件.ppt
- genetive 德语初级适用 教学课件.ppt
- GetFLV+Pro+图文教程.doc
- GISPortal_2009 WebGIS课件.pdf
- DB14∕T 143-2019 苹果褐斑病测报调查规范.docx
- DB14∕T 1417-2017 人工生态公益林经营技术规范.docx
- DB14∕T 1469-2017 胡麻垄膜集雨沟播栽培技术规程.docx
- DB14∕T 1457-2017 带柄玻璃杯标准规范.docx
- DB14∕T 1394-2017 北柴胡良种繁育技术规程.docx
- DB14∕T 1352-2017 晋北区旱地黍子栽培技术规程.docx
- DB14∕T 560-2010 人工影响天气火箭作业系统年检技术规范.docx
- DB14∕T 1510-2017 玉米镰孢穗腐病抗性鉴定牙签接种技术规程.docx
- DB14∕T 166.2-2007 太原绿色转型标准体系 第2部分:框架.docx
- DB14∕T 703-2012 气象灾害等级划分.docx
文档评论(0)