Я получил проект Tagcloud на C ++, из моего университета. Я много гуглил, чтобы найти базовую версию Tagcloud. Но все есть в .net / java. Не возможно сделать Tagcloud в с ++? Мне не удалось найти какой-либо минимальный пример C ++ в Интернете.
- Возможность сделать TagCloud в C ++?
- Любое место, чтобы найти минимальный / базовый пример кода, чтобы сделать облако тегов в C ++?
Да, это плохо, чтобы спросить минимальный рабочий пример. Но я не смог найти ничего.
Это звучит как домашнее задание, но я укушу …
Прикрепите графический рендерер C ++, который вы будете использовать. OpenGL выполним, но имеет сложную кривую обучения, но также дает вам возможность (в некоторой степени) кросс-платформенной совместимости с помощью таких проектов, как Угол. Просто помните, что «дьявол кроется в деталях», когда рендеринг текста в C ++ и только текстовый рендеринг — это забавная задача. Если вы решите ограничить свою поддержку, скажем, Windows, существует множество примеров использования C ++ для рисования текста. Посмотреть здесь
Если TagCloud (также называемый WordCloud) будет интерактивным, выберите простую абстракцию пользовательского ввода, которая дополняет ваш выбор рендеринга, и проведите множество «хитовых» тестов, чтобы убедиться, что вы отображаете входные данные из «экранного пространства» в «мировое пространство» правильно (также весело на всех устройствах).
Как только эти части на месте (только после шагов 1 и 2), исследуйте алгоритмы в Интернете и исследуйте другие общедоступные работы, которые вдохновят вас на интерактивную доску. На этом этапе проблема сводится к простой области и задаче двухмерных столкновений (столкновения, являющиеся «словом», перекрываются в вашем случае).
Вот первые результаты, которые я откатил назад, и уже кажется многообещающим лидерством.
Попытайтесь поместить слово в некоторой начальной точке: обычно около середины или где-нибудь на центральной горизонтальной линии.
Если слово пересекается с ранее размещенными словами, переместите его на один шаг по возрастающей спирали. Повторяйте, пока не будут найдены пересечения.
Других решений пока нет …