| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > рисование графа |
| Автор: becks 10.12.2010, 12:13 |
| Добрый день. Начинаю более детальное знакомство с С++ с такого проекта, прошу подсказать правильно ли я для себя представляю задачу, этапы и ее реализацию: Необходимо сделать что-то вроде графического редактора для создания и редактирования графов. Т.е. как я понимаю, необходимо предусмотреть 3 визуальных объекта Круг (вершины графа), Стрелка (ветви графа) и текстовый блок. Причем объект Круг (вершина графа) должен иметь порядковый номер внутри, а Стрелка иметь такое понятие как вес, получаемое в зависимости от того из какой вершины и в какую направлена. Необходимо реализовать возможность перетаскивания объектов и групп объектов. Итоговый граф необходимо сохранять в файле некоторого формата. Сделать возможность открытия файлов этого формата и редактирования их в программе. Так же необходимо чтоб файл сохранял информацию о матрице смежности графа и некоторых других матрицах. Возникают след. вопросы. 1)Как это реализовать в среде Microsoft Visual Studio 2008 на языке C++ более наглядно, необходимо ли использовать библиотеку MFC? 2) правильно ли я определил этапы реализации. (в начале пишем простой редактор, потом прикручиваем возможность редактировать его сохранять в файл и загружать из файла, потом прикручиваем к файлу информацию о матрицах ) ? 3) Как к графическому файлу прикрутить информацию о матрицах??? (Это необходимо для того чтобы в другая программа работающая с таким же форматом фалов могла работать с этими матрицами. Т.е. они по сути являются входной информацией для другой программы). Буду очень благодарен за любую помощь словесную, источники, предложения. Прошу писать только по делу, так как есть желание разобраться во всем этом деле. Спасибо. |
| Автор: becks 10.12.2010, 22:22 | ||
Спасибо за ответы.
Что подразумевается под архитектурой программы? Я правильно понимаю, что по идее я пока могу написать консольное приложение для реализации всей "математики" и работу с матрицами, а уже после делать навороты в виде графического ввода графа? И вот еще, как раз с придумыванием форматов файлов у меня затык, с этим я ниразу не встречался, есть ли какие-нибудь общие советы или рекомендации непосредственно к моей задаче или достаточно будет открыть какой-нить мануал и условно говоря прочитав "сделать по образцу"? Спасибо. |
| Автор: bsa 12.12.2010, 19:26 |
| becks, под архитектурой понимается взаимодействие различных частей программы. Ты как хочешь можешь писать. Если математика сложная, то лучше действительно ее отладить на простом проекте. Вообще-то, формат файла определяется из конкретных задач. Самый простой способ - сохранить массив данных в файл. |
| Автор: xvr 13.12.2010, 12:57 |
| Еще можно взять какую нибудь существующую библиотеку по работе с графами, что бы не изобретать велосипед (boost::graph например). И потом на ее базе дописывать недостающий функционал (GUI например) |