Algorithmus um verschieden große Kreise anzuordnen

Neue Frage »

babozze Auf diesen Beitrag antworten »
Algorithmus um verschieden große Kreise anzuordnen
Hallo Matheboard-Community,

wie der Titel bereits sagt, suche ich einen Algorithmus um beliebig viele Kreise verschiedener Größe zentral und symmetrisch um einen Punkt anzuordnen. Ich arbeite privat an einem Programm (Java) welches folgendes Diagramm zeichnen soll:

Y-Achse Betriebsaktivität
X-Achse Betriebseinheit

Auf den (X,Y) Koordinaten sollen nun alle von der entsprechenden Betriebseinheit bei der Durchführung der entsprechenden Betriebsaktivität verwendeten Betriebsmittel (Kreise) dargestellt werden. Diese Betriebsmittel haben genau ein Attribut (bspw. Kosten) durch welches die Größe des Kreises im Verhältnis zu anderen Betriebsmitteln (Kreisen) berechnet wird.

Im Anhang habe ich mal ein Bild dazu hochgeladen. Kreise dürfen sich überschneiden, es darf nur nicht passieren das ein Kreis vollständig von anderen verdeckt wird.

Ich suche Ideen um eine möglichst ästhetische Lösung für n Kreise zu finden. Ich habe mir bereits einige Sachen angeschaut (Spiralen auf denen die Mittelpunkte der Kreise liegen, Kreise im Kreis) aber habe noch nicht die Lösung gefunden.

Ich bin für jede Idee dankbar, ich zerbreche mir nun seit Tagen den Kopf darüber.

Liebe Grüße,
Eric


PS: Ich hoffe ich habe im richtigen Bereich gepostet, war mir da nicht ganz sicher.
Steffen Bühler Auf diesen Beitrag antworten »
RE: Algorithmus um verschieden große Kreise anzuordnen
Zitat:
Original von babozze
Ich suche Ideen um eine möglichst ästhetische Lösung für n Kreise zu finden.


Dein angehängtes Bild ist sehr ästhetisch, finde ich. Was gefällt Dir an dieser Lösung nicht?

Viele Grüße
Steffen
babozze Auf diesen Beitrag antworten »
RE: Algorithmus um verschieden große Kreise anzuordnen
Zitat:
Original von Steffen Bühler
Dein angehängtes Bild ist sehr ästhetisch, finde ich. Was gefällt Dir an dieser Lösung nicht?

Viele Grüße
Steffen


Dass es per Hand gemacht wurde Augenzwinkern

Viele Grüße.
Eric
Steffen Bühler Auf diesen Beitrag antworten »
RE: Algorithmus um verschieden große Kreise anzuordnen
Aber wenn Du die Koordinaten x, y und den Radius r für jedes Betriebsmittel gegeben hast, kannst Du doch ohne Probleme die Kreise zeichnen! Oder verstehe ich irgendwas nicht?

Viele Grüße
Steffen
babozze Auf diesen Beitrag antworten »
RE: Algorithmus um verschieden große Kreise anzuordnen
Zitat:
Original von Steffen Bühler
Aber wenn Du die Koordinaten x, y und den Radius r für jedes Betriebsmittel gegeben hast, kannst Du doch ohne Probleme die Kreise zeichnen!


Das Problem ist, dass auf eine (X,Y) Koordinate 0 bis (theoretisch) unendlich viele Kreise dargestellt werden sollen. Bei dem handgemachten Diagramm wurde für die sechs Kreise ein regelmäßiges Pentagon gewählt auf dessen Eckpunkten die Mittelpunkte der Kreise liegen, sowie einer auf dem genauen Schnittpunkt (X,Y). Aber was nun wenn es sieben und nicht sechs Kreise sind? Oder 42 Kreise?

Der Algorithmus bekommt eine (geordnete) Liste von Kreisen mit deren Radien und soll diese nun in einem beliebig großem (das ganze Diagramm vergrößert sich wenn nötig) Quadrat anordnen.

Ich hoffe du verstehst die Problematik nun besser.

Viele Grüße,
Eric
Steffen Bühler Auf diesen Beitrag antworten »
RE: Algorithmus um verschieden große Kreise anzuordnen
Zitat:
Original von babozze
Bei dem handgemachten Diagramm wurde für die sechs Kreise ein regelmäßiges Pentagon gewählt auf dessen Eckpunkten die Mittelpunkte der Kreise liegen, sowie einer auf dem genauen Schnittpunkt (X,Y). Aber was nun wenn es sieben und nicht sechs Kreise sind? Oder 42 Kreise?


Bei 42 Kreisen zeichnest Du genauso einen in die Mitte und die anderen in 360°/41-Winkeln drumrum. Geht es nur darum, diese Formel mit sin und cos hinzuschreiben? Oder geht es Dir um andere Ideen, zum Beispiel 3D-Säulen mit verschieden langen Abschnitten für die einzelnen Betriebsmittel? Ich habe Dein erstes Post so verstanden, daß Du nicht ganz zufrieden mit der jetzigen Lösung bist.

Viele Grüße
Steffen
 
 
babozze Auf diesen Beitrag antworten »
RE: Algorithmus um verschieden große Kreise anzuordnen
Zitat:
Original von Steffen Bühler
Bei 42 Kreisen zeichnest Du genauso einen in die Mitte und die anderen in 360°/41-Winkeln drumrum. Geht es nur darum, diese Formel mit sin und cos hinzuschreiben? Oder geht es Dir um andere Ideen, zum Beispiel 3D-Säulen mit verschieden langen Abschnitten für die einzelnen Betriebsmittel? Ich habe Dein erstes Post so verstanden, daß Du nicht ganz zufrieden mit der jetzigen Lösung bist.

Viele Grüße
Steffen


Hallo Steffen,

ich suche nach Ideen die Kreise möglichst platzsparend und symmetrisch zu positionieren ohne das Kreise von anderen komplett überdeckt werden.

Eine Idee wäre beispielsweise wie du geschrieben hast, einen Kreis in die Mitte zu setzen (den größten bspw.) und die anderen im Kreis drumherum anzuordnen (360°/n), damit sich die Kreise aber nicht überschneiden muss dieser äußere Ring aus Kreisen aber mit wachsendem n immer weiter vom Mittelpunkt entfernt liegen; dieses ist im Sinne der Platzausnutzung aber nicht optimal.

Man könnte die Kreise aber auch einfach auf eine horizontale Linie legen, sortiert von klein nach groß und diese Linie dann zentral auf den Schnittpunkt (X,Y) zeichnen, aber auch das wäre nicht optimal.

Im Anhang habe ich ein Bild einer Spirale, welches ich im Web gefunden habe. Ich denke an eine Spirale die genau andersrum arbeitet; sprich innen den größten Kreis hat und dann folgend die immer kleiner werdenden Kreise. Ich weiss aber nicht, ob das so berechnbar ist.

Viele Grüße,
Eric

PS: Danke schonmal für deine Mühen, Steffen.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »