# Elemente mit Abständen zueinander 2dimensional einzeichnen



## alexanderfrey (8. Aug 2007)

Hallo, 

ich möchte eine Menge von Elementen die untereinander Abstände haben, so in der Ebene einzeichnen, dass die Verhältnisse zueinander erhalten bleiben. Kennt sich jemand mit diesem Problem aus ? Wie kann ich sowas unter Java realisieren ?


Danke und gruss, Alexander


----------



## Marco13 (8. Aug 2007)

Zwischen welchen Elementen sind die Anstände gegeben? Zwischen allen? Sind die Abstände in dem Sinne "konsistent", dass die gewünschte Anordnung überhaupt möglich ist?

Grundsätzlich klingt das wie etwas, was ähnlich gelöst werden könnte, wie es beim GraphLayout-Demo-Applet auf dieser Seite
http://java.sun.com/applets/jdk/1.4/index.html
gemacht wird. Sinngemäß (stark vereinfacht)

```
while (!fertig)
{
    fertig = true; // Immer diese scheiß Optimisten...
    for (alle Paare von Elementen e0, e1)
    {
        if (e0 und e1 haben nicht den richtigen Abstand)
        {
            verschiebe e0 und e1 so, dass sie den richtigen Abstand haben
            fertig = false;
        }
    }
}
```
Dabei wird der Abstand natürlich nicht 100% genau erreicht - man wird sich also mit kleinen Fehlern (so 0.1% oder so) abfinden und dann den loop beenden.


----------



## Guest (8. Aug 2007)

Es gibt jeweils einen Abstand zwischen zwei Elementen. Dieses Problem scheint mir sehr grundlegend zu sein, weshalb es bestimmt ein mathematisches Verfahren dafür gibt. Dein Code unten sieht sehr einfach aus und mir stellt sich die Frage ob er überhaupt konvergiert, selbst wenn es eine Lösung gibt..... 

Ich werde mir das Applet ansehen. Danke.


----------

