1

2 つの区分線形曲線 c1 と c2 があり、c1 と c2 の小さい部分である新しい区分線形曲線 c3 が必要です。

c3を取得するためのきちんとしたアルゴリズムはありますか?

彼らのポイントは次のとおりです。

C1          C2          C3  
0   1       0   1.5     0   1
1   1       2   1.5     1   1
2   2       3.5 3       1.5 1.5
3   2       4   3       2   1.5
3   3       4   3.5     2.5 2
4   3       5   3.5     3   2
4   4                   3   2.5
5   4                   3.5 3
                        4   3
                        4   3.5
                        5   3.5

ここに画像の説明を入力

4

1 に答える 1

0

曲線を決定するには、次のアプローチをお勧めします。この曲線は、そうでなければ x=[0, 5] によって制限され、負の Y 値に向かって開いている領域の境界を形成します。入力にループや後方カーブはないと仮定しています。

次の手順:

  1. 2 つの曲線のサイズを正規化します。2 つの曲線には、同じ上下の X 位置を使用する同じ数のセグメントが必要です。これは、追加の点を補間して挿入することによって達成されます。同じ X 位置に複数のポイントがある場合があるため、同じ数のポイントと同じ X 位置を使用しても機能しません。これは、1 つの正規化曲線のセグメントが 2 つの等しい点によって定義されることを意味しますが、これはたとえば x=3 の位置では重要であり、全体的な思考とデバッグが容易になります。
  2. 交点の決定: Y 位置の順序 (C1 または C2 が下にあるかどうか) がセグメント内で変わるときはいつでも、2 つの線の間に交点がなければなりません。この点を決定し、各曲線のセグメントを 2 つのセグメントに置き換えます。このステップを 2 回実行しても、追加のポイントは挿入されず、C1 と C2 で同じ数のポイントが生成されます。
  3. ポイントの各インデックスから Y 位置が最も低いポイントを選択して、3 番目の曲線を形成します。ここで、セグメントではなく、単一のポイントで考えることに戻ります。これには、上記の準備が必要です。
于 2013-10-19T07:45:48.950 に答える