ポイントを時計回りにソートしますか?
x、yポイントの配列が与えられた場合、この配列のポイントを(全体的な平均中心点の周りで)時計回りにソートするにはどうすればよいですか?私の目標は、ポイントをライン作成関数に渡し、ラインが交差することなくできるだけ凸状に見える、凸状になるようにすることです。 それだけの価値があるので、私はLuaを使用していますが、どのような疑似コードもいただければ幸いです。 更新:参考までに、これはCiamejの優れた回答に基づくLuaコードです(「app」接頭辞は無視してください)。 function appSortPointsClockwise(points) local centerPoint = appGetCenterPointOfPoints(points) app.pointsCenterPoint = centerPoint table.sort(points, appGetIsLess) return points end function appGetIsLess(a, b) local center = app.pointsCenterPoint if a.x >= 0 and b.x < 0 then return true elseif a.x == 0 and b.x == 0 then return a.y > b.y end local …