Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.11.2012, 21:48
SlashMan вне форума Посмотреть профиль Отправить личное сообщение для SlashMan Найти все сообщения от SlashMan
  № 1  
Ответить с цитированием
SlashMan

Регистрация: Nov 2012
Сообщений: 4
По умолчанию Отрисовка Графа

Добрый день, уважаемые форумчане

Разрабатываю сайт, позволяющий пользователям рисовать свое генеалогическое дерево. В базе данных хранятся родственники и связи между ними, задача: отрисовать средствами Action Script граф, каждой вершиной которого будет один родственник, а дугой графа - родственная связь

Подскажите как лучше это реализовать? может есть специализированные библиотеки для отрисовки графов? Если нет, то хотябы какой алгоритм будет наиболее подходящим для данной задачи

Граф связный, родственники распологаются по "уровням" в зависимости от поколения, например дедушки выше отцов, а внуки ниже детей итп.

Вот примерно что должно быть:



Очень надеюсь на вашу помощь, спасибо!

Старый 27.11.2012, 02:34
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 2  
Ответить с цитированием
AlexLucas
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
А не лучше сортировку делать на сервере, и возвращать результат флешу?

Прикрутим к каждому элементу, скажем, параметр parent. Также должна быть связь married (по идее).
Далее ищем у кого сколько парентов - рекурсивно идём вверх пока не допрём до элемента без парентов. По ходу сортировки записываем кол-во парентов в вычисленные элементы - чтобы если они в свою очередь также окажутся парентами, сразу задать их детям уровень парента+1 и оборвать итерацию цикла.
Если по ходу сортировки у элемента появляется второй парент того же уровня, не учитываем этого парента, т.к. это продукт брака (связь пара(мама+папа) - ребёнок).

Далее ходим от уровня к уровню и вычисляем кто на ком женат.
Могут быть случаи что кто-то не женат ни на ком со своего уровня (как Саша Попо... на скринах - нет парента, но не на первом уровне), опускаем его и его чайлдов до следующего уровня, пока не вычислим с кем индивидуум состоит в браке.

По ходу сортировки мы пометили кто является продуктом брака ( 2 парента того же уровня ) и задаём соответствующие связи.


Последний раз редактировалось AlexLucas; 27.11.2012 в 02:46.
Создать новую тему Ответ Часовой пояс GMT +4, время: 11:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.