1

私の数学の知識はこれまであまり広範ではなかったので、これは簡単な質問かもしれませんが、よくわかりません。

基本的に、私はcurveTo関数を使用して飛行経路の線を描画していますが、どのようにすればよいかわからないのは、曲線のポイントを動的に見つけることです。たとえば、ライアンエアーのサイトを見ると、http://www。 ryanair.com/en/cheap-flight-destinationsすべての線がきれいに湾曲しています。

current_line.graphics.curveTo(curveX, curveY, map.mouseX, map.mouseY);

私はcurveXとcurveYを見つける必要があります

これ以上の情報が必要な場合は、コメントを残してください。質問があればお答えします。

よろしくお願いし
ます

4

1 に答える 1

1

もし私の理解が正しければ、非常に単純ではありますが、あなたに 1 つの可能な答えを与えることができます。2 点間を直線で結ばないように、2 点間に曲線を自動的にプロットする方法を知りたいと思います。したがって、コントロール ポイントの位置を計算する必要があります。

簡単な方法は、開始点と終了点の y 位置を使用して、y 軸上でそれらのちょうど中間にある点を見つけ、それに任意の値を追加して、それを制御点として使用することです。 CurveTo 関数。線の長さのパーセンテージを取得することで、追加する値を計算できるため、各曲線が同様に湾曲しているように見えます。

これは、飛行経路タイプのアプリにとっては理にかなっています。すべての曲線が上向きに湾曲し、飛行機の経路の飛行経路がどのように描かれるかを模倣するからです。意味がわからない場合はお知らせください。実数を使った簡単な例を示します。とにかく、これはあなたが求めているものでさえないかもしれません!

編集 x4:

回答ボックスに直接コーディングするのは良い考えではなかったようです:Pこれは、それを行う正しい方法です:

CS4 バージョン: http://dl.dropbox.com/u/3987391/AutoCurve.fla

CS3 バージョン: http://dl.dropbox.com/u/3987391/AutoCurve-CS3.fla

まだ問題がある場合はお知らせください。

デブ

于 2010-09-16T20:33:33.440 に答える