Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 22:25

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Rectangles Kreisförmig anordnen
BeitragVerfasst: Do Sep 07, 2006 12:58 
Offline
DGL Member

Registriert: Di Dez 13, 2005 13:26
Beiträge: 5
Hallo..., folgendes Problem :

Ich möchte Rectangles(rechtecke) einer veränderlichen Größe und Anzahl (abhängig von TextFont und TextLäange)um einen Mittelpunkt herum Kreis- bzw Ellipsenförmig anordnen. (siehe Beispiel im Anhang)

Bekannt sind:
Height des Rectangle (Canvas.Textheight);
Width des Rectangles (Canvas.TextWidth);
Breite und Hoehe der Ellipse in Pixel
X,Y Koordinaten des Mittelpunktes.
Der Abstand zwischen den Rectangles (Beispielsweise 4 Pixel)

Kennt jemand einen Algorithmus, mit dem man das relativ einfach bewerkstelligen kann ?


Danke im vorraus


Chris


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Zuletzt geändert von chrisw am Do Sep 07, 2006 13:36, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 13:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
meinste sowas wie dieser auswahl-dialog von "die sims" um einem sim zu sagen was er tuen soll ?
am einfachsten wäre doch, einfach den gesamtkreis(2*PI) in gleichgroße teile zu dividieren und dann haste schonmal die punkte auf dem kreis(per sin/cos) wo die rects hinsollen. musste halt dann gucken wenne die hälfte des kreises überschreitest dass du dann die rects rechts alignst. hoffe hab dich auch richtig verstanden ...

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 13:40 
Offline
DGL Member

Registriert: Di Dez 13, 2005 13:26
Beiträge: 5
Sorry, hatte erstmal Probleme mit dem Anhang.
Wenn ich den Kreis in gleichgrosse Anteile teile, hab ich ja immer den selben Winkel.
Das ist aber nicht das, was ich möchte (siehe Anhang)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 13:43 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Dann mach ne einfache "Linie - Kreis - Schnittpunktberechnung", und Platzier die Boxen an den Punkten.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 13:46 
Offline
DGL Member

Registriert: Di Dez 13, 2005 13:26
Beiträge: 5
@Flash : Hört sich gutan, hast Du 'n Codeschnipsel ?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 14:03 
Offline
DGL Member
Benutzeravatar

Registriert: So Jun 04, 2006 12:54
Beiträge: 263
Da die Kästen alle die gleiche höhe haben, muss man sie nur mit demPytagoras die zweite koordinate berchnen (den Seitlichen offset) offset = Wurzel(Radius² - AbweichungderhöhezumMittelpunkt²)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 14:08 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Bei deinem Beispiel sind ja die Y-Werte der Boxen konstant. D.h. zuerst rechnest du aus wieviel Rechtecke denn überhaupt bei der Kreis.höhe rein passen...
ohne groß drüber nachzudenken würd ich sagen so: Kreis.Höhe / (Rect.Höhe + ItemSpacing).
Was dich jetzt nur noch interessiert sind die X-Werte für die einzelnen Boxen, und die kannst du einfach über den Kreis ausrechnen. (X-Wert passend zu deinen eh festen Y-Werten).
Wird ein bissel blöd mit der zweiten reihe, aber sollte auch machbar sein.
Ich würde einfach die Y-Werte von oben nach unten durchgehen und passend links/rechts die X-Werte ausrechnen. Ist der erst Kreis voll dann nochmal die Y-Werte von oben nach unten durchgehen nur diesmal einen Y-Wert später anfangen und eher aufhören und wieder die X-Werte passend ausrechnen und natürlich einmal Rect.Width von dem ersten Kreis drauf knallen.

Sollte eigentlich mit ein paar repeat/for schleifen recht einfach zu realisieren sein :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 14:12 
Offline
DGL Member

Registriert: Di Dez 13, 2005 13:26
Beiträge: 5
@Billi Berserker
Zitat:
Sollte eigentlich mit ein paar repeat/for schleifen recht einfach zu realisieren sein



Hab ich auch gedacht, scheine aber ein Brett vor'm Kopf zu haben !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 14:17 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Hab mir gerade nochmal das Bild angeschaut, hatte da was falsch verstanden.
Die zweite reihe wird sogar noch einfacher als gedacht.
Aber versuch doch erstmal das ganze mit einer Reihe um den Kreis hin zu bekommen. Die zweite reihe dann da drum zu bauen sollte kein Problem sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Sep 07, 2006 15:34 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 14, 2006 13:08
Beiträge: 117
Wohnort: Berlin
hi,

das hier sollte alle Deine Fragen klären:
http://de.wikipedia.org/wiki/Ellipse

Gruß Uwe

_________________
Die 3 Totfeinde eines Programmierers ?
a) Tageslicht
b) frische Luft
c) ..und das ständige Gebrüll der Vögel


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 08, 2006 09:13 
Offline
DGL Member

Registriert: Di Dez 13, 2005 13:26
Beiträge: 5
Habe inzwischen eine Lösung.

Für Alle die es interessiert :
http://www.delphipraxis.net/topic91715_rectangles+kreisfoermig+anordnen.html&highlight=


Danke an Alle, die sich mit meinem Problem beschäftigt haben.

Chris


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Sep 08, 2006 11:17 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Schade das du es nicht selbst gemacht hast. Unmöglich kompliziert war es ja nicht. :?

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]