2011-01-17 13 views
9

3点を滑らかな曲線でつなぐ必要があります。私はStackOverflowで既に答えられているのと同じ質問を見てきましたが、それらはすべてPath.quadTo()を使って示唆しています。私はベジェ曲線が中点(制御点)に近づいているだけで、それを通らないので、これが正解と考えられる理由を理解していません。私の場合、私はそれを正確に行かなければなりません。だから私はそれをどのように達成できますか?Androidでツリーポイントを使用してカーブを描くにはどうすればよいですか?

答えて

4

真実、あなたが必要とするのは、各点を通過することが保証されているCatmull Romスプラインです。しかし、私はそれらを描画するためのAndroid APIの機能を知らない。また、quadTo関数を "トリック"して、現在の点と次の点に従って計算する仮想中点を渡すこともできます。

+1

おかげ手がかりのためにそこにあります //指定されたパラメータ値で2番目のポイントで3つのポイントを補間します。 int [] interpolate(int x0、int y0、int x1、int x1、int x1、 int y1、int x2、int y2、double t) { double t1 = 1.0 -t; 倍tSq = t * t; double denom = 2.0 * t * t1;\t int cx =(int)((x1-t1 * t1 * x0 - tSq * x2)/ denom);int cy =(int)((y1 - t1 * t1 * y0 - tSq * y2)/ denom); \t return new int [] {cx、cy}; } –

+1

@AndreyNovikovあなたは他人を助けるために答えとして投稿するべきです – Sameer

-1

Here javascriptのための非常に素晴らしい、図示HOWTOがあるが、すべての使用方法は、通常であり、アンドロイドでアナログがPath Class

関連する問題