gr1f1 | |
|
Здравствуйте. Недавно начал осваивать язык C# и решил написать прогу по графам. Столкнулся с проблемой в графике. Суть такая, дана матрица смежности, например такая- 1100 0100 0111 0110 нужно по ней нарисовать орграф с вершинами, показать направление дуг. Все! Больше ничего не требуется. Если кто-то обладает исходником и выложит его буду очень рад! Спасибо заранее! Это сообщение отредактировал gr1f1 - 29-08-2008 - 13:29 |
ole256 | |
|
В чем конкретно проблема? Число вершин известно, рисуем их, скажем кружками с цифрой внутри. Нарисовать стрелку по известным координатам начала и конца - тоже не проблема. Интересностей тут три: 1. Рисование стрелки из вершины в саму себя(отследить такую ситуацию просто) - либо дугой, либо линией+стрелкой, 2. Дуга из А в Б и дуга из Б в А. Нарисовать надо две несовпадающие дуги, чуть сместив координаты. Отследить тоже просто. 3. В идеале на пути дуги не должно быть вершин, не относящихся к этой дуге, достигнуть можно, расположив вершины по вершинам выпуклого многоугольника. Или просто на окружности. В общем, школьный курс геометрии: синусы, косинусы. Математически не так сложно. |
Рекомендуем почитать также топики: HELP! Какая ОС лучше? Ваш путь к Java КАК ОПРЕДЕЛИТЬ IP Раздача ICQ номеров. Подхватил то ли вирус, то ли нечто :)) |