La courbe de Bézier quadratique comprend 2 fonctions de coordonnées - x (t) et y (t) où.
Ces fonctions peuvent avoir un maximum ou un minimum (les points où x '(t) = 0 et y' (t) = 0) et ces points sont les points limites de l'aabb.
donc l'algorithme est:
- Imaginez x0, y0, x1, y1, x2, y2 sont connus et calculer les valeurs t (x0, x1, x2) et t (y0, y1, y2) quand x '(t) = 0 et y' (t) = 0 respectivement.
- Calculer les deux valeurs et vérifier si elles sont> = 0 et < = 1. Si elles sont évaluer les points du bezier quadratique.
- Prenez le premier et le dernier point.
- Maintenant, vous avez 4 points (ou peut-être moins), utilisez-les pour calculer AABB.
Par ailleurs:
t (x0, x1, x2) = (x0 - x1)/(x2 - 2 * x1 + x0)
t (y0, y1, y2) = (y0 - y1)/(y2 - 2 * y1 + y0)
Vous pouvez trouver le code complet ici: https://github.com/keyten/Graphics2D/blob/Delta/Core/Curve.Math.js#L295