Partager via


Modes de remplissage du chemin

Les deux modes de remplissage définis pour les chemins sont alternatifs et enroulement. Les deux modes de remplissage utilisent une règle pair-impaire pour déterminer comment remplir un chemin fermé.

FP_ALTERNATEMODE applique la règle pair-impaire comme suit : tracer une ligne à partir d’un point de départ arbitraire dans le chemin fermé jusqu’à un point visiblement en dehors du chemin fermé. Si la ligne traverse un nombre impair de segments de chemin, le point de départ se trouve à l’intérieur de la zone fermée et fait donc partie de la zone de remplissage. Un nombre pair de croisements signifie que le point n’est pas dans une zone à remplir.

FP_WINDINGMODE prend en compte non seulement le nombre de fois où le vecteur traverse des segments du chemin, mais aussi la direction de chaque segment. Le chemin est considéré comme dessiné du début à la fin, avec la direction de chaque segment impliquée par l’ordre de ses points spécifiés : le premier sommet d’un segment est le point « de » et le second est le point « à ». Dessinez maintenant la même ligne arbitraire décrite en mode alternatif. À partir de zéro, ajoutez un pour chaque segment de direction « avant » que la ligne croise et soustraitez un pour chaque segment de direction « inverse » traversé. (L’avant et l’inverse sont basés sur le produit point du segment et la ligne arbitraire.) Si le résultat du nombre est différent de zéro, le point de départ se trouve à l’intérieur de la zone de remplissage ; un nombre zéro signifie que le point est en dehors de la zone de remplissage.

La figure suivante montre comment appliquer les deux règles à la situation plus complexe d’un chemin d’accès à intersection automatique.

Diagramme illustrant la différence entre les modes de remplissage alternatif et enroulement pour les chemins.

En mode de remplissage alternatif, le point A est à l’intérieur, car le rayon 1 passe à travers un nombre impair de segments de ligne, tandis que les points B et C sont à l’extérieur, car les rayons 2 et 3 passent à travers un nombre pair de segments. En mode remontage-remplissage, les points A et C sont à l’intérieur, car la somme des segments de ligne avant (positif) et inverse (négatif) traversés par leurs rayons, respectivement 1 et 3, n’est pas égale à zéro, tandis que le point B est à l’extérieur, car la somme des segments de ligne avant et inverse que le rayon 2 croise est nulle.