Unlikely

Last 10 changes

peermore
peermore
peermore
aboutchris
augury
socialtext
pictures
socialtext
socialtext
aboutchris

122 words
253 defs

springalgo

[ Prev ] [ Next ]

Revision:
2002-03-26 19:22:23 ]
2002-03-25 21:54:24 ]

Backlinks:
springcluster
springincremental
cspring
uvizjournal


A decode of the spring algorithm, potentially incorrect, awaiting
input.

This is a part of Project4

Katy recommends the following book:

Ioannis Tollis, Giuseppe Di Battista, Peter Eades (Editor), Roberto Tamassia,
Ionnis G. Tollis (1998) Graph  Drawing: Algorithms for the Visualization of
Graphs, Prentice Hall.

---------- Forwarded message ----------
Date: Mon, 25 Mar 2002 21:17:21 -0500 (EST)
From: cdent@burningchrome.com
Subject: the algorithm


What follows are my notes from my intepretation, at an abstract
level, of the existing code. I've marked parts that are
especially notable/i doubt/include questions with a * in the left
margin.

Main loop is endless
 after 50 iterations fix the center node to keep the image
   centered from drifting
 relax()
  foreach edge
   get the distance between attached nodes
   compare that with the length/strength of edge to create a
     change factor of attraction between the nodes
*  Is that (or can that) factor controllable from elsewhere?
  foreach node
   see how far away every other node is
    adjust delta x and y
      for repulsion if less than 100 units
    if overlap, change dx and dy by a random amount
*  how is the factor of repulsion controlled, can it be
*    controlled, what does it represent?
  foreach node
   adjust the x and y position by the dx, but not too much
   contrain by window Dimension
   Decelerate the dx and dy change factors
 redraw the screen via plotSpring()
  create an offscreen buffere if it doesn't already exist
  clear offscreen
  foreach edge
   get x and y of attached nodes
   draw line in a color as defined by length
   attach optional stress text
  foreach node
   paintNode()
    get color from node object
    draw configurable shape
    set the label text
  draw offscreen onscreen

* Is that basically correct?
[ Contact ] [ Old Blog ] [ New Blog ] [ Write ] [ AboutWarp ] [ Resume ] [ Search ] [ List Words ] [ Login ]