Algorithmus um verschieden große Kreise anzuordnen |
10.04.2012, 19:19 | babozze | Auf diesen Beitrag antworten » | ||
Algorithmus um verschieden große Kreise anzuordnen 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. |
||||
11.04.2012, 09:29 | Steffen Bühler | Auf diesen Beitrag antworten » | ||
RE: Algorithmus um verschieden große Kreise anzuordnen
Dein angehängtes Bild ist sehr ästhetisch, finde ich. Was gefällt Dir an dieser Lösung nicht? Viele Grüße Steffen |
||||
11.04.2012, 12:28 | babozze | Auf diesen Beitrag antworten » | ||
RE: Algorithmus um verschieden große Kreise anzuordnen
Dass es per Hand gemacht wurde Viele Grüße. Eric |
||||
11.04.2012, 12:52 | 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 |
||||
11.04.2012, 13:37 | babozze | Auf diesen Beitrag antworten » | ||
RE: Algorithmus um verschieden große Kreise anzuordnen
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 |
||||
11.04.2012, 14:53 | Steffen Bühler | Auf diesen Beitrag antworten » | ||
RE: Algorithmus um verschieden große Kreise anzuordnen
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 |
||||
Anzeige | ||||
|
||||
11.04.2012, 16:14 | babozze | Auf diesen Beitrag antworten » | ||
RE: Algorithmus um verschieden große Kreise anzuordnen
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. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|