私は、描画速度に応じて線幅が可変の描画線を提供する描画アプリケーションに取り組んでいます。この動作は、Paper アプリにインスパイアされています。
私が実装しようとしているアルゴリズム - それらの間の距離が可変の 2 つのベジエ パスを描画します。sosborn's answerに記載されている解決策。次に、パスを滑らかにし、それらの間の距離を埋めます。
実際、パス間のスペースを埋める方法がわかりません。
私は、描画速度に応じて線幅が可変の描画線を提供する描画アプリケーションに取り組んでいます。この動作は、Paper アプリにインスパイアされています。
私が実装しようとしているアルゴリズム - それらの間の距離が可変の 2 つのベジエ パスを描画します。sosborn's answerに記載されている解決策。次に、パスを滑らかにし、それらの間の距離を埋めます。
実際、パス間のスペースを埋める方法がわかりません。
次のように、2つのベジェ曲線から単一のパスを作成して塗りつぶします。
NSBezierPath* path = [NSBezierPath bezierPath];
// Move to the start point
[path moveToPoint:startPt];
// Make the lower part of the curve
[path curveToPoint:endPt controlPoint1:cp1 controlPoint2:cp2];
// Make the upper part of the curve as part of the same path:
[path curveToPoint:startPt contorPoint1:cp3 controlPoint2:cp4];
// Now fill it
[path fill];