| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Oct 2002
Beiträge: 102
| Rechtecke entlang eines Kreises anordnen?
Hallo zusammen! habe hier ein Problem, was zunehmend meine Gehirntemperatur nahe dem Kritischen Punkt bringt .... wie richte ich per Actionscript (nicht quadratische!) Rechtecke visuell ausgeglichen entlang eines Kreises aus? Natürlich habe ich es zuerst so gemacht, dass die Rechtecke (Buttons um es genauer zu sagen) genau an den entsprechenden Segmenten am Kreis entlanglaufen, also bei 4 Buttons zB alle 90 Grad. Dummerweise sieht das bei einer grösseren Menge Buttons (das kann ziemlich schwanken) so aus wie im angehängten Screenshot. Die Buttons sind zwar mit ihrem Mittelpunkt mathematisch korrekt entlang den Segmenten verteilt, aber es wirkt total unausgeglichen, dadurch dass die Buttons länger als breit sind. Zu beachten evtl. noch, dass die Buttons nicht den gesamt Kreis ausnutzen sollen, oben links kommt an den Kreis noch ein Pfeil hin ^^ Also wie sorge ich dafür, dass die Abstände fürs Auge gleich sind? Wäre für etwas Hilfe sehr dankbar! |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
weiss nicht, ob's dafür eine formel gibt. aber man kann es annähern, das geht: alle rechtecke erzeugen do { do { das aktuelle rechteck weiter gedreht positionieren } while (aktuelles mit vorherigem rechteck testen ob die sich überlagern) wenn nicht mehr, dann um einen zusätzlichen winkel weiter positionieren diesen zusätzlichen winkel grösser/kleiner machen, je nachdem, ob das letzte rechteck den endwinkel erreicht hat } while (bei hinlänglicher genauigkeit abbrechen)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Oct 2002
Beiträge: 102
|
najaaaa, es geht ja nicht nur darum dass sich die Rechtecke nicht überlappen, sondern gleichmässig fürs Auge ausgerichtet sind. Hmm, viel schwieriger als ich dachte - ich komm nicht mal auf einen theoretischen Lösungsweg ![]() Hat noch jemand eine Idee? |
| | |
| | #6 (permalink) |
| Der Wunderhund Registriert seit: Jun 2002 Ort: Hattingen
Beiträge: 10.515
| Leider eben gar nicht. Das Einzige was mir zu diesen Thema einfallen würde, wäre Varianten mit verschieden vielen Rechtecken zu erstellen und diese nach Augenmaß auszurichten. Danach mußt Du die Positionen bzw. Abstände der Recht- ecke zueinander (abhängig von ihren Positionen, denn unten und oben am Kreis werden die Abstände größer sein, als links und rechts) in Arrays schreiben. Und danach kannst Du die Abstände bei n Elementen eventuell aus den Werten, die Du schon hast, herleiten. gruß, gaspode |
| | |
| | #8 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
auf auf, werte damen und herren! hier gibt es mal ein interessantes problem zu lösen ;-) das z.b. schafft mein programm. die ergebnisse werden nicht berechnet, sondern angenähert. wer kann's besser?
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Oct 2002
Beiträge: 102
|
Günter, ich glaube die Krone gehört Dir Mein Lösungsansatz, die Buttons entsprechend ihrer Winkellage zu verschieben hat wohl leider auch ein paar entscheidende Haken ....Sonst noch wer? Auf auf Leute, das mal ne echte Nuss zu knacken |
| | |
| | #10 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
glaube auch kaum, das man für sowas eine formel finden kann. vielleicht ein gleichungssystem mit x unbekannten, die das ganze beschreiben? das zu berechnen dauert aber auch. somit wie schon beschrieben experimentell ermitteln: die rechtecke so lange verschieben, bis sie sich nicht mehr überdecken. das ergibt einen mindestwinkel im kreis, den die rechtecke so erreichen. ist die differenz erreichter winkel zu gewünschtem belegungswinkel zu gross, dann: das ganze nochmal, wobei jedes rechteck jeweils ein stück weiter gedreht wird. bei guter auswahl der veränderungen je test ist das ziel nach 4..8 durchläufen zu erreichen. so variabel wird's aber bestimmt garnicht benötigt? in der praxis wird sich der radius und die grösse der rechtecke nicht ändern, sondern nur deren anzahl und die auch nicht willkürlich? somit würde ich auch die variante von gaspode vorziehen: per hand ermittelte koordinaten in ein array
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (19-02-2008 um 19:21 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |