20
правок
Omeln (обсуждение | вклад) Нет описания правки |
Omeln (обсуждение | вклад) (Отмена правки 14126, сделанной Omeln (обсуждение)) Метка: отмена |
||
Строка 3: | Строка 3: | ||
= Постановка задачи = | = Постановка задачи = | ||
Алгоритм Фрюхтермана-Рейнгольда относится к семейству силовых (forced-directed) алгоритмов укладки графов на плоскости, в котором используятся пружинная физическая модель, где вершины графа определяются как тела системы, а ребра как пружины. Силы могут действовать только на вершины, вес пружин при этом не учитывается. Имеется простой неориентированный граф <math>G = (V, E)</math>. У каждой вершины из множества | Алгоритм Фрюхтермана-Рейнгольда относится к семейству силовых (forced-directed) алгоритмов укладки графов на плоскости, в котором используятся пружинная физическая модель, где вершины графа определяются как тела системы, а ребра как пружины. Силы могут действовать только на вершины, вес пружин при этом не учитывается. Имеется простой неориентированный граф <math>G = (V, E)</math>. У каждой вершины из множества V в качестве переменных используются координаты ее размещения <math>Vx</math> и <math>Vy</math>, а также <math>Vf</math> - вектор силы, направленный на приведение физической системы в равновесие. | ||
= Описание алгоритма = | = Описание алгоритма = | ||
Строка 16: | Строка 16: | ||
= Описание модели = | = Описание модели = | ||
<math> l = \sqrt{area/|V|} </math> - Идеальная длина пружины для ребра | <math> l = \sqrt{area/|V|} </math> - Идеальная длина пружины для ребра e | ||
<math>p_v = (x_v, y_v)</math> - Вектор положения вершины | <math>p_v = (x_v, y_v)</math> - Вектор положения вершины v | ||
<math> ||p_v - p_u || </math> - Евклидовое расстояние между вершинами | <math>||p_v - p_u || </math> - Евклидовое расстояние между вершинами u и v | ||
<math> (p_u, p_v) </math> - | <math> (p_u, p_v) </math> - Евклидовое расстояние между вершинами u и v | ||
Для всех вершин действует сила отталкивания | Для всех вершин действует сила отталкивания |
правок