Nano Hash - криптовалюты, майнинг, программирование

Графики, направленные по силе

Я пытаюсь написать кодовую базу с принудительным управлением или силовым атласом для графического приложения, которое я создаю для себя. Вот пример того, что я пытаюсь сделать: http://sawamuland.com/flash/graph.html

Мне удалось найти некоторый псевдокод для выполнения того, что я хотел бы в статье Wiki Force-atlas. Я преобразовал это в код ActionScript 3.0, так как это приложение Flash. Вот мой источник:

var timestep:int = 0;
var damping:int  = 0;
var total_kinetic_engery:int = 0;

for (var node in list) {
 var net_force:int = 0;
 for (var other_node in list) {
  net_force += coulombRepulsion(node, other_node, nodeList);
 }
 for (var spring in list[node].relations) {
  net_force += hookeAttraction(node, spring, nodeList);
 }
 list[node].velocity += (timestep * net_force) * damping;
 list[node].position += timestep * list[node].velocity;
 total_kinetic_engery += list[node].mass * (list[node].velocity) ^ 2;
}

Теперь проблема заключается в поиске псевдокода или функции для выполнения кода кулоновского отталкивания и притяжения Хука. Я не совсем уверен, как это сделать.

Кто-нибудь знает хорошую ссылку, на которую я могу посмотреть... понять и быстро реализовать?

Лучший.


Ответы:


1

Ссылки на них есть в той же статье. Гука — это сила пружины между конечными узлами связи, в то время как сила Кулона отталкивает соседние узлы прочь.

Вопрос на самом деле не в выражениях, а в применяемых внутри них константах. Я бы прочитал оригинальную статью, погуглил "Fruchterman, T.M.J., & Reingold, E.M. (1991). Рисование графиков с помощью Force-Directed Placement. Software: Practice and Experience, 21(11)" и прочитайте PDF, чтобы увидеть, что предлагают авторы.

Кстати, ваши переменные могут быть числами с плавающей запятой, а не целыми числами.

29.09.2009

2

вы смотрели flare? есть демо с силовым графом.

30.08.2010
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..