Алгоритм генерации строк аннотации с минимальным пересечением - PullRequest
0 голосов
/ 16 декабря 2018

Я занимаюсь разработкой пользовательского интерфейса.См. Изображение ниже: enter image description here

# 1- # 4 - это области фотографий (например, лица разных людей на фотографии). T1-T4 - это текстовые поля для аннотирования соответствующих пронумерованных объектов.: T1 - текстовая аннотация для # 1, T2 для # 2 и т. Д. Эти текстовые поля (T1-T4) всегда располагаются в правой части экрана, тогда как объекты (# 1- # 4 могут появляться где угодно.

Я хочу:
рисовать строки аннотаций от каждой сущности до соответствующих текстовых полей, со свойством ниже:

  1. мин. Пересечение: строка аннотацииследует избегать пересечения другой строки аннотации
  2. параллельного наклона: каждая строка аннотации начинается с фиксированного наклона (45 или -45 градусов), затем горизонтальная линия
  3. Текстовое поле может быть отсортировано: текстовые поля (T1-T4) можно отсортировать / переставить по вертикали, если это помогает уменьшить кроссовер.

Что такое алгоритм для этого? Есть ли существующая библиотека реализации пользовательского интерфейса? Или примеры кода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...