language agnostic - Drawing two-dimensional point-graphs -


i've got list of objects (probably not more 100), each object has distance other objects. distance merely added absolute difference between fields these objects share. there might few (one) or many (dozens) of fields, dimensionality of distance not important.

i'd display these points in 2d graph such objects have small distance appear close together. i'm hoping convey how many sub-groups there in entire list. axes of graph meaningless (i'm not sure "graph" correct word use).

what algorithm convert network of distances 2d point distribution? ideally, i'd small change distance network result in small change in graphic, incremental progress can viewed smooth change on time.

i've made small example of sort of result i'm looking for: example graphic http://en.wiki.mcneel.com/content/upload/images/graphexample.png

any ideas appreciated, david


edit:

it seems have worked. treat entire set of values 2d particle cloud, construct inverse square repulsion forces between particles , linear attraction forces based on inverse distance. it's not stable algorithm, result tends spin violently whenever additional iteration performed, seem generate separation visual clusters:

alt text http://en.wiki.mcneel.com/content/upload/images/particlecloudsolution.png

i can post c# code if interested (there's quite lot of sadly)

graphviz contains implementations of several different approaches solving problem; consider using spring model graph layout tools basis solution. alternatively, site contains a collection of source material on related theory.


Comments

Popular posts from this blog

unicode - Are email addresses allowed to contain non-alphanumeric characters? -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

c++ - Convert big endian to little endian when reading from a binary file -