2次曲線またはベジエ曲線のAABB(軸に合わせた境界ボックス)を計算したいと思います。ベジエAABBを計算する
私がこれを行う方法を知っている唯一の方法は、ベジエ曲線上の多数の点を評価し、それらの点を使ってAABBを計算することです。
良い方法がありますか?
2次曲線またはベジエ曲線のAABB(軸に合わせた境界ボックス)を計算したいと思います。ベジエAABBを計算する
私がこれを行う方法を知っている唯一の方法は、ベジエ曲線上の多数の点を評価し、それらの点を使ってAABBを計算することです。
良い方法がありますか?
パラメトリック形式のカーブの微係数のおかげで、最小値と最大値を探すことができます。あなたも、この使用してデリバティブを計算し、それを必要とする場合、二次曲線についてはAABB http://pomax.github.io/bezierinfo/#boundingbox のベジェ曲線上のhttp://nishiohirokazu.blogspot.jp/2009/06/how-to-calculate-bezier-curves-bounding.html
素晴らしいリソース、および作業例:この記事を見てください。
閉じたフォームが利用可能な場合は、必ず反復的な方法を避けてください。
2次ベジェ曲線は、x(t)とy(t)の2つの座標関数で構成されます。
これらの関数は、最大値または最小値(x '(t)= 0およびy'(t)= 0の点)を持ち、これらの点はaabbの境界点です。
ので、アルゴリズムは次のとおりです。
トン(Y0、Y1、Y2)
トン(X0、X1、X2)=(X1、X0):ところで
=(y0 - y1)/(y2 - 2 * y1 + y0)
フルコードはここにあります:https://github.com/keyten/Graphics2D/blob/Delta/Core/Curve.Math.js#L295