Attraktorpunkte eignen sich hervorragend zum Experimentieren mit geometrischen Mustern. Sie können verwendet werden, um schrittweise Änderungen an Objekten basierend auf ihrer Entfernung zu erstellen.
In diesem Arbeitsablauf lernen Sie Folgendes:
Erstellen, Verwalten und Bearbeiten von Listen.
Verschieben von Punkten in der 3D-Vorschau durch direkte Bearbeitung.
Ändern des Ausführungsmodus.
In dieser Übung erstellen Sie einen Kreis (Ziel), dessen Radius durch die Entfernung zu einem nahegelegenen Punkt (Beziehung) definiert wird.
Ein Punkt, der eine entfernungsabhängige Beziehung definiert, wird häufig als "Attraktor" bezeichnet. In diesem Beispiel wird die Entfernung zum Attraktorpunkt verwendet, um anzugeben, wie groß der Kreis sein soll.
Laden Sie die Beispieldatei herunter, indem Sie auf den folgenden Link klicken.
Eine vollständige Liste der Beispieldateien finden Sie im Anhang.
Nachdem Sie die Ziele und Beziehungen skizziert haben, können Sie mit dem Erstellen des Diagramms beginnen. Sie benötigen die Blöcke, die die Reihenfolge der Aktionen darstellen, die von Dynamo ausgeführt werden. Wir fügen zunächst die folgenden Blöcke hinzu: Number, Number Slider, Point.ByCoordinates, Geometry.DistanceTo, Circle.ByCenterPointRadius.
Input > Basic > Number
Input > Basic > Number Slider
Geometry > Points > Point > By Coordinates(x,y,z)
Geometry > Modifiers> Geometry > DistanceTo
Geometry > Curves > Circle > ByCenterPointRadius
Nachdem Sie mehrere Blöcke zum Arbeitsbereich hinzugefügt haben, müssen Sie die Anschlüsse der Blöcke mit Drähten verbinden. Diese Verbindungen definieren den Datenfluss.
Number zu Point.ByCoordinates
Number Sliders zu Point.ByCoordinates
Point.ByCoordinates (2) zu DistanceTo
Point.ByCoordinates und DistanceTo zu Circle.ByCenterPointRadius
Nachdem Sie den Programmablauf definiert haben, müssen Sie Dynamo noch mitteilen, wie es ausgeführt werden soll. Wenn das Programm ausgeführt wird (entweder automatisch oder durch Klicken auf Ausführen im manuellen Modus), werden Daten über die Drähte übertragen und die Ergebnisse in der 3D-Vorschau angezeigt.
(Auf Ausführen klicken): Wenn sich die Ausführungsleiste im manuellen Modus befindet, muss auf Ausführen geklickt werden, um das Diagramm auszuführen.
Blockvorschau: Durch Verschieben des Mauszeigers auf das Feld in der rechten unteren Ecke eines Blocks wird ein Popup-Fenster mit den Ergebnissen angezeigt.
3D-Vorschau: Wenn ein beliebiger der verfügbaren Blöcke Geometrie erzeugt, wird eine 3D-Vorschau angezeigt
Die Ausgabe von Geometrie im Erstellungsblock.
Wenn das Programm ordnungsgemäß funktioniert, wird in der 3D-Vorschau ein Kreis angezeigt, der durch den Attraktorpunkt verläuft. Anschließend können Sie weitere Details oder Steuerelemente hinzufügen. Passen Sie die Eingabe für den Circle-Block an, um den Einfluss auf den Radius zu kalibrieren. Fügen Sie einen weiteren Number Slider-Block zum Arbeitsbereich hinzu, und doppelklicken Sie auf einen leeren Bereich im Arbeitsbereich, um einen Code Block-Block hinzuzufügen. Bearbeiten Sie das Feld im Codeblock, indem Sie X/Y
angeben.
Code Block
DistanceTo und Number Slider zu Code Block
Code Block zu Circle.ByCenterPointRadius
Einfach zu beginnen und dann die Komplexität zu erhöhen stellt eine effektive Möglichkeit dar, Programme schrittweise zu entwickeln. Wenn das Programm also für einen Kreis funktioniert, können Sie es auch für mehrere Kreise ausführen. Wenn Sie anstelle eines Mittelpunkts ein Raster an Punkten verwenden und diese Änderung in der resultierenden Datenstruktur umsetzen, werden von Ihrem Programm viele Kreise erzeugt, jeder mit einem eindeutigen Radiuswert, der durch die kalibrierte Entfernung zum Attraktorpunkt definiert wird.
Fügen Sie einen Number Sequence-Block hinzu und ersetzen Sie die Eingaben von Point.ByCoordinates: Klicken Sie mit der rechten Maustaste auf Point.ByCoordinates und wählen Sie Vergitterung > Kreuzprodukt.
Fügen Sie einen Flatten-Block nach Point.ByCoordinates hinzu. Zum vollständigen Abflachen einer Liste belassen Sie Vorgabeeinstellung von
amt
auf-1
.Die 3D-Vorschau wird mit einem Raster von Kreisen aktualisiert
In manchen Fällen ist die numerische Bearbeitung nicht der richtige Ansatz. Jetzt können Sie beim Navigieren in der Hintergrund-3D-Vorschau Punktgeometrie manuell drücken und ziehen. Sie können auch andere Geometrie steuern, die durch einen Punkt konstruiert wurde. Sphere.ByCenterPointRadius kann beispielsweise ebenfalls direkt bearbeitet werden. Sie können die Position eines Punkts aus einer Reihe von X-, Y- und Z-Werten mit Point.ByCoordinates steuern. Mit dem Direktbearbeitungsansatz sind Sie jedoch in der Lage, die Werte der Schieberegler zu aktualisieren, indem Sie den Punkt im Modus Navigation in 3D-Vorschau manuell verschieben. Dieser Ansatz bietet eine intuitivere Methode zum Steuern von mehreren diskreten Werten, die eine Punktposition identifizieren.
Um die Direktbearbeitung zu verwenden, wählen Sie die Gruppe mit dem zu verschiebenden Punkt aus – über dem ausgewählten Punkt werden Pfeile angezeigt.
Wechseln Sie in den Modus Navigation in 3D-Vorschau.
Wenn Sie den Cursor über den Punkt bewegen, werden die X -, Y - und Z-Achsen angezeigt.
Klicken Sie, und ziehen Sie den farbigen Pfeil, um die entsprechende Achse zu verschieben. Die Number Slider-Werte werden live mit dem manuell verschobenen Punkt aktualisiert.
Beachten Sie, dass vor der Direktbearbeitung nur ein Schieberegler an die Point.ByCoordinates-Komponente angeschlossen war. Wenn Sie den Punkt manuell in X-Richtung verschieben, erstellt Dynamo automatisch einen neuen Number Slider für die X-Eingabe.