Entlang des Weges horizontal verteilen

Wie kann ich Objekte horizontal entlang eines Pfades verteilen? Blendund Brushesfunktionieren bei mir nicht, weil sie Objekte gleichmäßig nach Entfernung entlang des Pfades verteilen.

Ich begann mit der BlendMethode aus dieser Frage . Wie unten gezeigt, sind die Punkte jedoch nicht horizontal verteilt, wie ich es gerne hätte. Wie komme ich zu dem Pfad und den Objekten, die unten in der Abbildung unten angezeigt werden?

Geben Sie hier die Bildbeschreibung ein

Ich bin mir ziemlich sicher, dass Sie dies tun könnten, indem Sie einen Pinsel erstellen. Was haben Sie versucht, indem Sie Pinsel verwendet haben?
Als ich versuchte, einen Pinsel zu verwenden, folgte ich diesem: graphicdesign.stackexchange.com/questions/12806/… . Allerdings bin ich auf die gleichen Probleme gestoßen.

Antworten (2)

Wenn Sie eine Skriptumgebung verwenden können, die Bezier-Schnittpunkte erkennen kann, ist dies sehr einfach zu erreichen. Leider enthält Adobe diese Methoden nicht in seinem Skripting-Toolkit. Stattdessen verwende ich hauptsächlich Scriptographer oder Paper.js, aber ich glaube, Inkscape kann auch Bezier-Schnittpunkte finden. Hier ist Mike Kamermans exzellente Einführung in die Mathematik für Interessierte: Bezier-Kurven-Schnittpunkte .

Das Folgende ist ein Skript für paper.js / scriptographer, das einen Satz nicht gruppierter, ausgewählter Objekte am ersten Schnittpunkt des obersten ausgewählten Pfads ausrichtet:

var sel = document.selectedItems;
var sel0 = sel[0];
sel.splice( 0, 1 );
var pathOffset = new Point( 0, 500 );
var line = new Path.Line( sel[0].position + pathOffset, sel[0].position - pathOffset );
for ( i = 0; i < sel.length; i++ ) {
    line.position = sel[i].position;
    lineIntersections = line.getIntersections(sel0);
    if (lineIntersections !== null && lineIntersections.length > 0) {
        sel[i].position = lineIntersections[0].point;
    }
}
line.remove();

Hier ist ein .gif des Prozesses und des Ergebnisses:

Richten Sie Objekte am Schnittpunkt mit einem Pfad aus

Danke! Ich wusste nicht einmal, dass paper.js existiert. Es löst auch einige andere Probleme, die ich hatte.

Sie können alle Punkte einfach so verteilen, dass der Abstand zwischen ihnen gleichmäßig ist. Wählen Sie einfach die Punkte aus und klicken Sie im Ausrichtungsfeld auf die Schaltfläche „ Horizontalen Abstand verteilen “ . Sie müssen die Punkte dann manuell vertikal verschieben, um Ihre Linie zu treffen.

ausrichten

Wenn die Optionen „Abstand verteilen“ im Bedienfeld „Ausrichten“ nicht angezeigt werden, wählen Show OptionsSie im Menü „Bedienfeld ausrichten“ eine Option aus.

Mir ist keine Methode bekannt, die Objekte horizontal gleichmäßig verteilt und gleichzeitig einer vertikalen Kontur folgt , ohne die Objekte selbst zu verzerren.

Pinsel verzerren Objekte in 99,5 % der Fälle. Mischungen sind zwar in der Lage, sich entlang ihres Rückens gleichmäßig zu verteilen , sind aber nicht in der Lage, sich zu verteilen, die den Mischungsrücken ignorieren (was Sie suchen).

Ich weiß nicht, ob dies Ihren Anforderungen entspricht, aber wie wäre es, wenn Sie einfach einen gestrichelten Strich verwenden ?

streicheln

Sie können die Lückenabstände bei Bedarf ändern.

Danke, Sie haben meine Frage beantwortet. Leider lautet die Antwort für mich, wie Sie darauf hingewiesen haben, "Nein, das ist nicht möglich".
Objekte werden horizontal verteilt, aber es ist der vertikale Raum, der verändert wird. Ich sollte das "vertikal" entfernen, es ist dort nur verwirrend.
Die Idee mit dem gestrichelten Strich ist clever. Es ist wie ein Pinsel, aber ohne die Verzerrung. Eine horizontale Verteilung der Punkte am unteren Rand der Seite ist für mich jedoch ein Muss. Die gestrichelte Linie erreicht dies nicht, ohne viele Lücken manuell zu bearbeiten. Ich habe über 100 Objekte für mehrere Dateien; manuelle Bearbeitung ist einfach keine Option.