请问多边形的填入方式,ALTERNATE和WINDING到底有什么区别?

airtraffic 2003-07-31 04:38:14
最近在看《WINDOWS程序设计》看到多边形的填入方式时,有如题两种方式,但是我看英文版,解释我看的不是很懂,有没有高手能够用通俗易懂的话给我解释一下,谢谢!
附原文:
For alternate mode, you can imagine a line drawn from a point in an enclosed area to infinity. The enclosed area is filled only if that imaginary line crosses an odd number of boundary lines. This is why the points of the star are filled but the center is not.
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggw007 2004-03-10
  • 打赏
  • 举报
回复
回复人: flashsj(索炜.NET) ( ) 信誉:100 2004-03-03 18:24:00 得分:0


在ALTERNATE模式下,显示器的每个扫描行都是从左到右扫描,系统只填充每个扫描行遇到的多边形的奇数边(第一、第二、第三 。。。。)和偶数边之间的部分,不填充偶数边到奇数边之间的部分

在WINDING模式下:用一笔画一个矩型,矩型的顶点为 a、b、c、d , 画的顺序可以为 a 到b 到 c 到 d 到 a 或者 a 到d 到 c 到 b 到 a ,这就是多边型中画每个线段时的方向(clockwise or a counterclockwise);


不要照抄撒,我可有版权哟 :)
这点事情浪废了我一个下午也!!!

flashsj 2004-03-03
  • 打赏
  • 举报
回复
在ALTERNATE模式下,显示器的每个扫描行都是从左到右扫描,系统只填充每个扫描行遇到的多边形的奇数边(第一、第二、第三 。。。。)和偶数边之间的部分,不填充偶数边到奇数边之间的部分

在WINDING模式下:用一笔画一个矩型,矩型的顶点为 a、b、c、d , 画的顺序可以为 a 到b 到 c 到 d 到 a 或者 a 到d 到 c 到 b 到 a ,这就是多边型中画每个线段时的方向(clockwise or a counterclockwise);
ggw007 2004-03-03
  • 打赏
  • 举报
回复
在ALTERNATE模式下,显示器的每个扫描行都是从左到右扫描,系统只填充每个扫描行遇到的多边形的奇数边(第一、第二、第三 。。。。)和偶数边之间的部分,不填充偶数边到奇数边之间的部分

在WINDING模式下:用一笔画一个矩型,矩型的顶点为 a、b、c、d , 画的顺序可以为 a 到b 到 c 到 d 到 a 或者 a 到d 到 c 到 b 到 a ,这就是多边型中画每个线段时的方向(clockwise or a counterclockwise);
画一条直线M,再画一些与M相交的线段,画线段时只有两种情况:从直线(N)的一边(左边)到直线的另一边(右边),假如从直线N的左边到右边为clockwise,从直线N的右边到左边为counterclockwise,计数count为零。现有线段FH、KL、TG 与直线(N)相交,FH从直线N的左边到直线N的右边,count加1=1;KL从直线N的右边到直线N的左边,count减1=0;TG从直线N的左边到直线N的右边count加1=1;此时the count is nonzero,
再到上面多边形填充,从要判断一个区域E是否要被填充,从该区域画一线段N到整个多边型区域外,按照上面的方法进行count的计数,如果count非零则区域E要被填充,否则不填充。
注:每个多边型都是一笔画出的,所以多边型中每个线段都有唯一的方向(clockwise or a counterclockwise)

airtraffic 2003-07-31
  • 打赏
  • 举报
回复
原文的直译我明白,可是我是不明白它的道理是什么,就是想高手用白话给我解释一下!
Linux2001 2003-07-31
  • 打赏
  • 举报
回复
唉,我英语太烂,无法解答.你英语不好为什么还要看英文的呢
airtraffic 2003-07-31
  • 打赏
  • 举报
回复
没有人愿意回答吗?那我的书怎么继续看下去了?

16,465

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧