对alternate和winding填入方式的理解 《windows程序设计》笔记

本文是对《Windows程序设计》中alternate和winding填充方式的个人理解和总结。alternate方式按照奇偶边交替填充,而winding方式通过计算穿过区域的边界线方向来决定填充,根据计数器非零时填充。学习这两种填充方式有助于深入理解Windows图形系统。

 

    看《windows程序设计》,这里又遇到了不明白的地方,又上网查了查,发现很多地方只是对ALTERNATE解释清楚了,可是

 

对WINDING说的还是云里雾里。我觉得虽然自己不一定能弄清楚windows要这样处理的原因,但至少得弄清楚windows这样处理的方法吧。后来看了哪个地方的一段英文,总算明白了。现在自己来总结一下这两种填充方式,如果有错的话,大家指出。

 

==================================

alternate方式  系统默认的方式

 

首先是书上说的假想的线,不知道是不是翻译的原因,按书上的话挺难理解的。我现在的理解是假想的线就是在一条

 

条水平的扫描线,它们跟多边形的边界线相交。当然,对某一个小区域的判断,只需要取一条经过这个区域的扫描线

 

,不过要计算是否得填充这块区域还应该从扫描线刚接触到多边形开始算起。

下面有一句英文

fills area between odd-numbered and even-numbered polygon sides on each scan line

水水地翻译一下:填充这样的区域:与每一条扫描线相交的奇数边和偶数边之间的区域。

 

这里需要解释一下,这里的奇数边和偶数边是有顺序关系的。上面的话的另一层意思:不填充偶数边和奇数边之间的

 

区域。

还有对边数的计算是这样的:扫描线接触到的第一条线算记为1(这和正常的理解一样,不过和程序员的想法可能有

 

点出入),第二条记为2,这样的话1和2之间的区域就应该被填充,所以单独的矩形在默认的情况下都被填充了。而2和

 

3之间的区域则不被填充。这样书上的两个例子都可以解释了。

还有al

### AlternateRoot Port在ENSP或网络配置中的含义及作用 #### 1. Root Port的定义与作用 Root Port是指在生成树协议(STP、RSTP或MSTP)中,非根桥设备上用于连接到根桥的最佳路径的端口。每个非根桥设备仅有一个Root Port,它负责将数据包转发至根桥。Root Port的选择基于以下标准: - 到达根桥的最低开销路径。 - 如果开销相同,则选择发送方桥ID较低的端口。 - 如果桥ID也相同,则选择端口ID较低的端口[^4]。 Root Port在生成树计算中起到关键作用,因为它决定了非根桥设备如何通过最优路径与根桥通信。 ```python # 配置示例:设置当前设备为次根桥 [Huawei] stp instance 1 root secondary ``` #### 2. Alternate Port的定义与作用 Alternate Port是在生成树协议中处于阻塞状态的端口,它作为备份路径存在。当主路径(即Root Port)发生故障时,Alternate Port可以快速切换为主路径,从而恢复网络连通性。Alternate Port的存在确保了网络的冗余性高可用性。 Alternate Port的特点包括: - 它始终处于阻塞状态,不参与数据转发。 - 当Root Port失效时,Alternate Port能够迅速转变为转发状态,减少网络中断时间[^3]。 ```python # 查看端口角色状态 [SW1] display stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 ALTE BLOCKED NONE ``` #### 3. Root Port与Alternate Port的区别 | 特性 | Root Port | Alternate Port | |--------------------|------------------------------------|------------------------------------| | **状态** | 转发状态(Forwarding) | 阻塞状态(Blocked) | | **功能** | 连接至根桥的最佳路径 | 提供备份路径 | | **数量限制** | 每个非根桥设备仅有一个 | 可能有多个 | | **切换机制** | 无 | 在Root Port失效时自动切换 | #### 4. 在ENSP中的应用实例 在eNSP中配置生成树协议时,可以通过以下命令查看端口的角色状态,以确认Root PortAlternate Port的分配情况: ```python # 查看生成树协议的详细信息 [SW1] display stp active ``` 此命令的输出将显示各端口的角色(如Root Port或Alternate Port)、状态(如Forwarding或Blocked)以及其他相关信息[^4]。 ### 注意事项 在实际网络环境中,合理配置Root PortAlternate Port对于优化网络性能提高可靠性至关重要。例如,在RSTP中启用BPDU保护功能可以防止边缘端口因接收到恶意BPDU而影响网络稳定性[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值