2016-04-27 16 views
-1

私はカーブを作成しようとしていて、すでに作成しています。しかし、ポイントを追加すると配列[最後のポイント-1]に追加されますが、最初のポイントと2番目のポイントの間にポイントを追加すると、カーブは最後のポイント-1になります。これはいずれにしても私のコーディングです私はどこにshoulkdを追加するか、曲線のインデックスを見つける必要がありますenter image description here 上記のimnageは例です、私はここで私は3点の曲​​線を持って、あなたはポイントが格納されている方法を見ることができるように番号が付けられている配列では、紫のポイントを配列に追加するつもりですが、どのインデックスを貼り付けるべきかを知る必要があります。ポイントがこれらのポイントの間にあるかどうかを調べるには

+0

新しいポイントが曲線上に正確にない場合はどうなりますか? – MBo

+0

新しいポイントは常に曲線上にある、私は確信していた – Jeffin

答えて

0

私は、それぞれの曲線に対して新しい別々のスプライトを作成し、クリックイベントが送出されたときにポイントを見つけました。あなたの提案に感謝します。

0

1作成する曲線には何らかの式があります。例えばX^2 + Y -3 = 0

2点があなたの曲線上にあれば、この方程式を満たすはずです。

+0

いいえ、私は、ベゼル曲線である方程式を持っていない – Jeffin

0

ベジェ曲線上にあるすべての点について、パラメーターtが0..1の範囲にあることがわかります。 それで、t-値に従って新しいポイントをリストに挿入してください。トンの発見について

:ない-if

P0.X*(1-t)^3 + 3*P1.X*t*(1-t)^2 +3*P2.X*t^2*(1-t) +P3.X*t^3 = NewPoint.X 

、あなたが同様の方程式を解くことができます:あなたはXに沿って単調にはちょうどトンのための三次方程式を解く、(Yについても同様)の座標である曲線-if

- 不正確な座標の場合、点から曲線への二乗ユークリッド距離の式を作成し、それが最小値(最も近い点)であることがわかりますXとYの両方に対して、一貫した解を得てください210
関連する問題