Java:GeneralPath:什么是绕组?

Java:GeneralPath:什么是绕组?,java,Java,什么是缠绕?是的,我知道,“读一下描述” '确定路径内部的非零缠绕规则。' “确定路径内部的奇偶缠绕规则。” 好吧,对不起,我不是英国人,我不明白“非零”和“奇偶”在这里是什么意思。有人能用其他的词来解释吗?我看不出屏幕上有什么不同 GeneralPath gen1 = new GeneralPath(GeneralPath.WIND_NON_ZERO); GeneralPath gen2 = new GeneralPath(GeneralPath.WIND_EVEN_ODD);

什么是缠绕?是的,我知道,“读一下描述”

'确定路径内部的非零缠绕规则。'

“确定路径内部的奇偶缠绕规则。”

好吧,对不起,我不是英国人,我不明白“非零”和“奇偶”在这里是什么意思。有人能用其他的词来解释吗?我看不出屏幕上有什么不同

    GeneralPath gen1 = new GeneralPath(GeneralPath.WIND_NON_ZERO);
    GeneralPath gen2 = new GeneralPath(GeneralPath.WIND_EVEN_ODD);

我觉得这解释得很完美

对于简单形状,奇偶规则产生与非零缠绕规则相同的结果,但对于更复杂形状,产生不同的结果

另一个理论例子可以在这里找到(没有代码)

我认为这一条解释得非常完美

对于简单形状,奇偶规则产生与非零缠绕规则相同的结果,但对于更复杂形状,产生不同的结果

另一个理论例子可以在这里找到(没有代码)

正如您发现的那样,Javadoc在这种情况下没有多大帮助:

奇偶风

public static final int WIND_EVEN_ODD

An even-odd winding rule for determining the interior of a path.
风不为零

public static final int WIND_NON_ZERO

A non-zero winding rule for determining the interior of a path.
但是@RC提供的链接有一个有用的解释

有两种常用的方法来确定是否有任何点位于几何形状内。第一个规则称为奇偶规则,它基于从要分类的点到形状外部的任何点绘制一条线(光线)。如果交叉边的数量为奇数,则该点位于形状内部;否则就不是了。第二种方法称为非零缠绕规则,同样确定绘制到远处点的光线发生的边交叉数。然而,在非零绕组规则方案中,从左到右的交叉点增加到交叉点总数,而从右到左的交叉点从交叉点总数中减去。如果从左到右和从右到左交叉的总和不等于零,则确定该点位于内部。图3.3显示了应用这两个规则的示例。实际上,奇偶和非零绕组规则对标记为1的模糊区域给出了不同的答案

参考资料


正如您发现的那样,Javadoc在这种情况下没有多大帮助:

奇偶风

public static final int WIND_EVEN_ODD

An even-odd winding rule for determining the interior of a path.
风不为零

public static final int WIND_NON_ZERO

A non-zero winding rule for determining the interior of a path.
但是@RC提供的链接有一个有用的解释

有两种常用的方法来确定是否有任何点位于几何形状内。第一个规则称为奇偶规则,它基于从要分类的点到形状外部的任何点绘制一条线(光线)。如果交叉边的数量为奇数,则该点位于形状内部;否则就不是了。第二种方法称为非零缠绕规则,同样确定绘制到远处点的光线发生的边交叉数。然而,在非零绕组规则方案中,从左到右的交叉点增加到交叉点总数,而从右到左的交叉点从交叉点总数中减去。如果从左到右和从右到左交叉的总和不等于零,则确定该点位于内部。图3.3显示了应用这两个规则的示例。实际上,奇偶和非零绕组规则对标记为1的模糊区域给出了不同的答案

参考资料


在PDF规范中,有两种格式描述非零绕组编号规则和奇偶规则。

在PDF规范中,有两种格式描述非零绕组编号规则和奇偶规则。

这里有一些解释:但是它是“用英语”这里有一些解释:但是它是“用英语”