0

わかりました。スライバー オブジェクトの四角形の面積を最大化する方法を教えてください。さまざまな形状が可能です。ほとんどの作業はすでに完了しています。

私は kinect と深度ピクセルを使用して C# で作業しています。

この画像は、私が話していることを私が見つけた最良の表現にすぎません。

ここに画像の説明を入力

x、y 平面上のこの領域に長方形を作成する必要があります。これにより、すべてのエッジがソリッドになりながら領域が最大化されます。

x、y平面上の点のリストとして表された立体形状がすでにあります。だから私は2D平面上に形状を持っています. このような種類:

ここに画像の説明を入力

問題を単純化するために、x 線と y 線に平行なエッジを持つ四角形を作成します。私はコードを探していません。読み上げて実装を試みることができる方向性またはアルゴリズムが必要なだけです。

明確化が必要な場合は、お知らせください。

4

2 に答える 2

0

境界の四角形だけが必要な場合は、ポイントのリストをトラバースできます。X と Y の最小値と最大値を保存します (minX、minY、maxX、maxY など)。リスト全体に目を通し、次のような各ポイントで 4 if チェックを実行します。

if(point.X < minX) minX = point.X
if(point.Y < minY) minY = point.Y
if(point.X > maxX) maxX = point.X
if(point.Y > maxY) maxY = point.Y

これにより、外接する長方形が得られます。最小値と最大値は、座標系に応じて左上と右下の点を表す 2 つの点であり、四角形を描くために簡単に使用できます。

于 2013-04-21T23:31:32.813 に答える