У меня проблема при попытке нарисовать круговую диаграмму. Алгоритм размещения пиктограммы диаграммы
Конечно, нет проблем с нанесением диаграммы, проблема заключается в размещении значков. В идеале значки должны быть помещены в круг (давайте забудем процентные метки на данный момент).
Однако дизайн, очевидно, ломается, когда есть соседние элементы с небольшими значениями.
Не могли бы вы рекомендовать алгоритм решения этой проблемы? Для упрощения в качестве ввода мы имеем:
PIE_RADIUS
- Внешний радиус пирога.
ICON_RADIUS
- Радиус круга значков.
ICON_PLACEMENT_RADIUS
- Радиус круга, когда центр значков должен быть идеально расположен.
NUM_ICONS
- Количество иконок для размещения.
iconAngles
Угол для каждого значка, в центре его секции
Требуемая мощность:
Либо iconAngles
для элементов, расположенных вокруг пирога или iconPositions
при перемещении иконки из своего идеального круга.
Я знаю, как проверить, совпадают ли две значки. Центр пирога можно считать равным (0, 0)
.
(Реализация является частью приложения iOS, но меня интересует общий алгоритм).
Это не лучшее решение, но оно достаточно хорошо и очень просто реализовать. Для тех, кто читает это, пожалуйста, прочитайте и другие ответы. – Sulthan
Sulthan - Привет, вам интересно поделиться полным решением? Я буду очень ценить сам код, мне он нужен для Android, но пример iOS также будет отличным в качестве ссылки. – sahar