0

中点円アルゴリズムを使用して円を生成しています。これらの円を描きたくありません。代わりに、ポリゴンとして保存したいと思います。明らかに、座標の順序が間違っているため、Graphics.DrawPolygonなどを使用してこれらの円を描画すると、円は線のメッシュになります。

Q:正しく定義されたポリゴンを生成するようにアルゴリズムを変更するにはどうすればよいですか?または、ポイントのセット(この場合は円に属する)から有効なポリゴンを作成するにはどうすればよいですか?

更新:これでうまくいきました。

var firstHalf = points.Where(p => p.Y >= cy).OrderBy(p => p.X);
var secondHalf = points.Where(p => p.Y < cy).OrderByDescending(p => p.X);

var polygon = new List<Point>();
polygon.AddRange(firstHalf);
polygon.AddRange(secondHalf);
4

1 に答える 1

2

円の場合、2つの半分を並べ替えるだけで十分です。たとえば、y_midの昇順の上とy_midの降順の下でxを並べ替えます。一緒にそれらのポイントはあなたのポリゴンによってする必要があります。

于 2012-06-14T07:45:47.637 に答える