円グラフを描画しようとすると問題が発生します。
もちろん、グラフを描くのは問題ありませんが、問題はアイコンの配置です。理想的には、アイコンは円の上に配置する必要があります (ここでは、パーセント ラベルは忘れましょう)。
ただし、小さな値を持つ隣接項目がある場合、設計は明らかに壊れます。
この問題を解決するアルゴリズムをお勧めできますか? 簡単にするために、入力として次のものがあります。
PIE_RADIUS
- パイの外側の半径。
ICON_RADIUS
- アイコン円の半径。
ICON_PLACEMENT_RADIUS
- アイコンの中心を理想的に配置するときの円の半径。
NUM_ICONS
- 配置するアイコンの数。
iconAngles
セクションの中心での各アイコンの角度
必要な出力:
円iconAngles
の周りに配置されたアイテムの場合、またはiconPositions
アイコンを理想的な円から移動する場合。
2 つのアイコンが重なっているかどうかを確認する方法を知っています。円の中心は にあると考えることができます(0, 0)
。
(実装は iOS アプリケーションの一部ですが、一般的なアルゴリズムに興味があります)。