Je souhaite vérifier si une coordonnée spécifiée se trouve à l'intérieur d'une zone délimitée par un Bezier curve. Y at-il une fonction spécifique dans GDI que je peux utiliser? Si non, comment pourrais-je le faire manuellement? Ma courbe de Bézier est définie par ses points.Vérifier si un point appartient à la zone délimitée par la courbe de Bezeir en utilisant GDI
0
A
Répondre
1
Combien de requêtes allez-vous faire?
Si les performances ne sont pas très important, vous pouvez créer la région GDI et vérifier si le point est à l'intérieur:
BeginPath
draw enclosed path with PolyBezier and other functions
EndPath
PathToRegion
PtInRegion
S'il y a beaucoup de points d'interrogation, il serait préférable de faire une solution analytique - calculer le nombre d'intersections de (horizontal) du point à la courbe de Bézier (une solution d'équation cubique est nécessaire). Si ce nombre est impair - le point est à l'intérieur (il y a quelques subtilités avec des racines doubles sur les cuspides de courbe, etc.)