2

UIBezierPath オブジェクトを使用して図形を描画できます。これを使用して描かれたさまざまな形状を識別したいと思います。Rectangle 、 Square 、 Triangle 、 Circle など 次にやりたいことは、ユーザーが特定の形状を選択できるようにし、形状全体を画面上の別の場所に移動できるようにすることです。実際の要件はもっと複雑ですが、これだけ作れれば、残りの作業を進めることができます。

これをどのように開始するかについての提案、リンク、またはポイントは大歓迎です。すべての形状を処理するために別のビューを作成することを考えていますが、それを行う方法がわかりません..

よろしくお願いします!

4

1 に答える 1

0

David Gelphman のProgramming with Quartzをお勧めします。

彼の章「パスを使用した描画」には、交差点を提供する「パス構築プリミティブ」に関するセクションがあります。

使用するCGContextAddLineToPointと、ユーザーは既知のデカルト ポイントによって定義された直線を作成できます。基本的な数学を使用して、これらの点によって定義される幾何学的形状を推測します。

ユーザーが既知の点で定義された曲線CGContextAddCurveToPointを作成できる場合、それらの線が点を通過すると確信しているため、基本的な数学を使用して、形成された形状のタイプの少なくとも近似値を決定できます。

しかし、 を使用すると、点は描かれた曲線の外側CGContextAddQuadCurveToPointのフレームワークを定義します。接線に沿った曲線によって形成される形状を決定するには、より高度な数学が必要です。

Gelphman は、バウンディング ボックスの取得や、特定のポイントがパス内にあるかどうかのチェックなど、「パス ユーティリティ関数」についても説明しています。

完成したパスの移動については、 を使用すると思いますCGContextTranslateCTM

于 2012-04-27T13:10:31.990 に答える