Frage

Wo finde ich einen Algorithmus, um einige Objekte auf clevere Weise auf der Leinwand zu positionieren?Ich verwende Javascript (mit der Raphael-SVG-Bibliothek), aber Beispiele mit anderen Sprachen (oder Pseudosprachen) sind willkommen.Geometrie ist nicht meine Stärke =)

Ich habe zum Beispiel eine Leinwand im Format 600x800 und möchte sie platzieren N Objekte in der Größe 60x60 auf clevere Art und Weise, zum Beispiel:
- ein Algorithmus zum Positionieren von Objekten entlang M konzentrische Kreise mit Ö versetzt.
- ein Algorithmus zum Positionieren von Objekten entlang M konzentrische Quadrate, aber eine alternative Frequenz (das Ergebnis kann wie ein Schachbrett sein)

Und ähnliche Beispiele..Ich suche nur nach einigen Arbeitsbeispielen, die ich an meinen Fall anpassen kann.Vielen Dank im Voraus =)

War es hilfreich?

Lösung

Für Kreis:

Eingaben:CenterPt (vermutlich 300.400), RadiusLargestCircle (vermutlich 270, um sicherzustellen, dass alle Objekte auf dem Bildschirm angezeigt werden) RadiusDelta(60 stellt sicher, dass keine überlappenden Objekte vorhanden sind, vorausgesetzt, die Objekte sind Kreise)

Anzahl der Kreise berechnen ( (RadiusLargestCircle -2*RadiusDelta) / RadiusDelta )

für jeden Kreis

  RadCir= RadiusLargestCircle - (CircleNum*RadiusDelta)

(Ich werde das später richtig zu Ende bringen, ich muss jetzt loslegen)

aber im Wesentlichen liegt der Mittelpunkt des ersten Objekts bei x=radiusLargestCircle, y=0

Teilen Sie Objekt 2*Radius in Kreisumfang

für num Objekte

unter Verwendung der parametrischen Kreisgleichung, Platzieren Sie das Objekt im Bogenmaß von X Bogenmaß des vorherigen Objekts

nächster Kreis

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top