Alternate Winding

转载 2016年08月29日 14:27:16

见<<windows程序设计>> 第五版 Charles Petzold,P139

刚看时,有点摸不着头脑.网上搜索看了些前辈的解释.


回头再看书本,发现其实Petzold大牛把这个问题解释简单明了,为何第一次看的时候居然入不了脑子?


完全按照书上写的来解释,如下:


1 Alternate 模式:  奇数填充,偶数不填充.

       从一封闭区域内一个点画条射线到无穷远处, 碰到奇数条边 则填充点所在的区域; 碰到偶数条边则不填充

     下图左边是alternate 模式,区域4和5就不填充,他们碰到的边数是2,是偶数,因此不填充.


2. Winding模式:  奇数填充,偶数看情况(一个内部计数器counter非零则填充,counter=0则不填充)

            下图右边是winding模:

           很显然,1,2,3区域内找个点画条射线穿出整个图形,碰到的边的个数为1,是是奇数,因此填充.

          对于,4,5这2个区域,射线出来的时候,碰到的边数是偶数,就要看计数器counter是否为非零了.

         以4来说: 开始counter=0,碰到第一个边是向左的,counter++;碰到第二条边是向右的,与第一个边反向,count--; 最终counter = 0,因此不填充.

        以5来说,开始counter=0,碰到第一个边是向左,counter++; 碰到第二个边还是同向,counter++;最终counter=2,故填充


//  把碰到的第一个边作为count方向,后面的与它同向就++,反向就-- 






其他解释参数如下:



http://bbs.csdn.net/topics/40019151

http://loveljc2000.blog.163.com/blog/static/1896335182011526012494/

http://blog.csdn.net/sun_shine_/article/details/6448947

http://blog.csdn.net/goki123/article/details/5216303

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145080(v=vs.85).aspx

http://comments.gmane.org/gmane.comp.lib.cairo/23250

win32两种填充模式ALTERNATE和WINDING的区别

刚学到windows程序设计的填充模式时,对于ALTERNATE和WINDING这两种模式还是 有点晕乎乎的,看了下msdnWhen the fill mode is ALTERNATE, GDI ...
  • qq_33001647
  • qq_33001647
  • 2016年07月05日 11:19
  • 679

WINDING 和 ALTERNATE模式的区别【学习札记】

内容来自:http://blog.myspace.cn/e/400893301.htm和http://zhukai-coding.blog.sohu.com/88627236.html1.在ALTER...
  • goki123
  • goki123
  • 2010年01月20日 10:59
  • 1117

第五章 图形基础part4

 5.6矩形、区域和剪裁 矩形函数:FillRect (hdc, &rect, hBrush) ;//用指定画刷来填入矩形FrameRect (hdc, &rect, hBrush) ;//使用画刷画...
  • Last_Impression
  • Last_Impression
  • 2009年11月19日 13:13
  • 580

多边形填充方式:ALTERNATE与WINDING的区别

见> 第五版 Charles Petzold,P139 刚看时,有点摸不着头脑.网上搜索看了些前辈的解释. 回头再看书本,发现其实Petzold大牛把这个问题解释简单明了,为何第一次看的时...
  • sergery
  • sergery
  • 2013年06月11日 13:27
  • 1687

Non-Zero Winding Number Rule 非零绕组规则

Non-Zero Winding Number Rule 非零绕组规则 该方法常用与判断点是否在多边形或曲线上。 给定一条曲线C和一个点P,构造一条从P点出发射向无穷远的射线。找出所有该射线和...
  • FuDesign2008
  • FuDesign2008
  • 2012年02月08日 11:07
  • 2862

windows 多边形填充方式 ALTERNATE和WINDING

首先,ALTERNATE和WINDING方式之间的区别很容易察觉。对于ALTERNATE方式,您可以设想从一个无穷大的封闭区域内部的 点画线,只有假想的线穿过了奇数条边界线时,才填入封闭区域。这就是填...
  • mycoolme5
  • mycoolme5
  • 2013年11月20日 09:33
  • 929

绘制填入区域 之 ALTERNATE 与 WINDING

关于WINDING应该没什么的,主要问题集中在ALTERNATE。ALTERNATE需要进行两个步骤的分析首先画出的多边形,按照定点的先后次序,会产生组成多边形的各条边交叉和不交叉两种情况,在图中,“...
  • st251256589
  • st251256589
  • 2010年11月16日 10:57
  • 126

新西兰航空和Winding Tree联手探索区块链技术

点击上方“蓝色字”可关注我们! 暴走时评:区块链中数据的独特优势已经吸引了全球航空业的参与,最近新西兰航空也宣布与去中心化旅游平台Wind...
  • IJXR1A64JI53L
  • IJXR1A64JI53L
  • 2017年11月24日 00:00
  • 353

alternate key

 alternate key 候选键、替代键 In the context of relational databases, an alternate key (or secondary key) ...
  • amber112
  • amber112
  • 2011年03月16日 10:55
  • 1392

Dynamics CRM 2015 Update 1 系列(4): 自定义主键 - Alternate Keys

Alternate Keys, 还是和系统集成相关的一个重量级Feature。使用该Feature能极大的提高开发数据集成接口的时间成本以及接口的运行效率。 在之前的Dynamics CRM 版本中...
  • ghostbear
  • ghostbear
  • 2015年07月04日 13:39
  • 2315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Alternate Winding
举报原因:
原因补充:

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