Entfernt einen Punkt, wenn er den direkt davor wiederholt; derselbe Punkt weiter entfernt wird behalten.
Mit checkFirstAndLast an wird auch ein letzter Punkt verworfen, der den ersten wiederholt. Punkte
innerhalb von tolerance zueinander gelten als gleich.
Beispiel: [[0,0,0], [0,0,0], [1,0,0], [1,0,0], [2,0,0]] -> [[0,0,0], [1,0,0], [2,0,0]]
Die Punkte, die Toleranz und ob der erste und der letzte verglichen werden
Die Punkte ohne aufeinanderfolgende Wiederholungen
Erzeugt einen 3D-Punkt aus seinen x-, y- und z-Werten.
Beispiel: x=10, y=5, z=3 -> [10,5,3]
Die drei Werte
Der Punkt [x, y, z]
Erzeugt einen 2D-Punkt aus seinen x- und y-Werten.
Beispiel: x=10, y=5 -> [10,5]
Die beiden Werte
Der Punkt [x, y]
Legt Punkte entlang einer logarithmischen Spirale in der XY-Ebene aus, vom Ursprung nach außen bis
radius.
numberPoints legt fest, wie viele Punkte platziert werden, phi und widening, wie schnell sich die Spirale
öffnet, und factor, wo entlang der Kurve sie beginnt. Jeder Punkt hat z = 0.
Die Punktanzahl, der Radius und die Form der Spirale
Die Punkte entlang der Spirale, vom Zentrum nach außen
Legt die Mittelpunkte einer Wabe aus Sechsecken in der XY-Ebene aus.
radiusHexagon ist der Abstand vom Mittelpunkt eines Sechsecks zu einer Ecke; Spalten verlaufen entlang X und
Reihen entlang Y, jede zweite Reihe um eine halbe Spalte verschoben. orientOnCenter zentriert das Gitter auf
dem Ursprung, pointsOnGround legt es auf die XZ-Ebene.
Die Sechseckgröße, wie viele Spalten und Reihen, und wo das Gitter platziert wird
Die Mittelpunkte, Reihe für Reihe
Legt eine Wabe aus Sechsecken aus, die eine gegebene Breite und Höhe füllt, wobei die Sechsecke nach den Anzahlen bemessen werden.
Das Ergebnis trägt die Mittelpunkte und die sechs Ecken jedes Sechsecks. Eine Ecke zeigt nach oben,
sofern flatTop nicht gesetzt ist; die Extend-Flags strecken die äußeren Reihen über die Ränder hinaus, um das
Rechteck ohne gezackten Rand abzudecken.
Der zu füllende Bereich, die Sechseckanzahlen, die Orientierung und die Platzierungsoptionen
Die Mittelpunkte und die Eckpunkte jedes Sechsecks
Ermittelt die Richtung im rechten Winkel zur Ebene durch drei Punkte, mit Länge 1.
Die Richtung folgt der Rechte-Hand-Regel vom ersten Punkt über den zweiten zum
dritten; reverseNormal kehrt sie um. Punkte auf einer Linie haben keine Ebene, daher ist das Ergebnis
undefined.
Beispiel: [0,0,0], [1,0,0], [0,1,0] -> [0,0,1]
Die drei Punkte und ob das Ergebnis umgekehrt wird
Die Einheitsnormale oder undefined, wenn die Punkte auf einer Linie liegen
Ermittelt den kleinsten achsenparallelen Quader, der alle Punkte enthält.
Das Ergebnis trägt die Min- und Max-Ecken, den Mittelpunkt und die Breite (X), Höhe (Y) und Länge (Z). Beispiel: Punkte [[0,0,0], [10,5,3]] -> min [0,0,0], max [10,5,3], Mittelpunkt [5,2.5,1.5]
Der Begrenzungsrahmen mit seinen Ecken, seinem Mittelpunkt und seinen Größen
Misst den Abstand von einem Punkt zum nächsten Punkt in einer Liste.
Beispiel: Punkt [0,0,0] und Punkte [[5,0,0], [10,0,0], [3,0,0]] -> 3
Der Punkt, von dem aus gemessen wird, und die zu durchsuchenden Punkte
Der Abstand zum nächsten Punkt, in Modelleinheiten
Ermittelt die Position des nächsten Punkts in einer Liste, gezählt ab 1.
Beispiel: Punkt [0,0,0] und Punkte [[5,0,0], [10,0,0], [3,0,0]] -> 3
Der Punkt, von dem aus gemessen wird, und die zu durchsuchenden Punkte
Der 1-basierte Index des nächsten Punkts
Ermittelt den einem gegebenen Punkt nächsten Punkt in einer Liste.
Beispiel: Punkt [0,0,0] und Punkte [[5,0,0], [10,0,0], [3,0,0]] -> [3,0,0]
Der Punkt, von dem aus gemessen wird, und die zu durchsuchenden Punkte
Der nächste Punkt
Ermittelt den Durchschnitt der Punkte, der ihr Schwerpunkt ist, wenn sie gleich viel wiegen.
Beispiel: [[0,0,0], [10,0,0], [10,10,0]] -> [6.67,3.33,0]
Der Durchschnittspunkt
Ermittelt die größte Verrundung, die in eine Ecke passt: der Bogen berührt beide Segmente und bleibt innerhalb von ihnen.
Die Ecke ist end; start und center sind die fernen Enden der beiden Segmente, die dort
zusammentreffen. Der Radius wird durch das kürzere Segment begrenzt. Eine gerade oder zurückgefaltete Ecke, oder ein
Segment, das kürzer als tolerance ist, ergibt 0.
Das ferne Ende jedes Segments, die gemeinsame Ecke und die Toleranz
Der größte Verrundungsradius, in Modelleinheiten
Ermittelt die größte Verrundung an einer Ecke, deren Bogen jedes Segment innerhalb seiner näheren Hälfte berührt, sodass benachbarte Ecken einer Polylinie jeweils verrundet werden können, ohne dass sich die Bögen überlappen.
Die Ecke ist end; start und center sind die fernen Enden der beiden Segmente. Eine gerade oder
zurückgefaltete Ecke, oder ein Segment, das kürzer als tolerance ist, ergibt 0.
Das ferne Ende jedes Segments, die gemeinsame Ecke und die Toleranz
Der größte Verrundungsradius nach der Halbsegment-Regel, in Modelleinheiten
Ermittelt die größte Verrundung für jede Ecke einer Polylinie, jede auf die nähere Hälfte ihrer Segmente begrenzt, sodass sich die Verrundungen nie überlappen.
Mit checkLastWithFirst an wird die Polylinie als geschlossen behandelt und die beiden Ecken an den
Enden werden einbezogen. Weniger als drei Punkte ergeben eine leere Liste.
Die Polylinienpunkte, ob sie geschlossen ist, und die Toleranz
Ein Radius pro Ecke, in der Reihenfolge der Ecken
Ermittelt einen Verrundungsradius, der in jede Ecke einer Polylinie passt: das kleinste der Maxima pro Ecke nach der Halbsegment-Regel.
Mit checkLastWithFirst an wird die Polylinie als geschlossen behandelt. Weniger als drei Punkte, oder
eine Ecke, die keine Verrundung erlaubt, ergeben 0.
Die Polylinienpunkte, ob sie geschlossen ist, und die Toleranz
Der Radius, der an jede Ecke passt, in Modelleinheiten
Misst den geradlinigen Abstand zwischen zwei Punkten.
Beispiel: [0,0,0] nach [3,4,0] -> 5
Die beiden Punkte
Der Abstand in Modelleinheiten
Misst den Abstand von einem Punkt zu jedem Punkt in einer Liste.
Beispiel: Start [0,0,0] und Endpunkte [[3,0,0], [0,4,0], [5,0,0]] -> [3, 4, 5]
Der Startpunkt und die Punkte, zu denen gemessen wird
Ein Abstand pro Endpunkt, in derselben Reihenfolge
Sagt, ob zwei Punkte näher beieinander liegen als eine Toleranz.
Beispiel: [1.0000001, 2, 3] und [1, 2, 3] mit Toleranz 1e-6 -> true
Die beiden Punkte und die Toleranz
True, wenn der Abstand zwischen ihnen unter der Toleranz liegt
Sortiert Punkte nach X, dann nach Y bei gleichem X, dann nach Z.
Beispiel: [[5,0,0], [1,0,0], [3,0,0]] -> [[1,0,0], [3,0,0], [5,0,0]]
Eine sortierte Kopie der Punkte
Wendet eine Transformationsmatrix, oder eine Liste davon der Reihe nach, auf einen Punkt an.
Beispiel: Punkt [0,0,0] mit einer Verschiebung um [5,5,0] -> [5,5,0]
Der Punkt und die anzuwendende Transformation
Der transformierte Punkt
Wendet dieselbe Transformationsmatrix, oder Liste davon der Reihe nach, auf jeden Punkt an.
Beispiel: fünf Punkte mit einer 90-Grad-Drehung -> alle fünf zusammen gedreht
Die Punkte und die auf jeden anzuwendende Transformation
Die transformierten Punkte, in derselben Reihenfolge
Wendet auf jeden Punkt eine andere Transformation an: die erste Transformation auf den ersten Punkt, und so weiter.
Die beiden Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst. Beispiel: drei Punkte mit drei Verschiebungen -> jeder Punkt um seine eigene Verschiebung bewegt
Die Punkte und eine Transformation pro Punkt
Die transformierten Punkte, in derselben Reihenfolge
Verschiebt jeden Punkt um denselben Vektor.
Beispiel: Punkte [[0,0,0], [1,0,0]] um [5,5,0] -> [[5,5,0], [6,5,0]]
Die Punkte und der Vektor, um den sie verschoben werden
Die verschobenen Punkte, in derselben Reihenfolge
Verschiebt jeden Punkt um seinen eigenen Vektor: den ersten Punkt um den ersten Vektor, und so weiter.
Die beiden Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst. Beispiel: drei Punkte mit drei Vektoren -> jeder Punkt um seinen eigenen Vektor bewegt
Die Punkte und ein Vektor pro Punkt
Die verschobenen Punkte, in derselben Reihenfolge
Verschiebt jeden Punkt um die gegebenen x-, y- und z-Beträge.
Beispiel: Punkt [0,0,0] mit x=10, y=5, z=0 -> [10,5,0]
Die Punkte und der Abstand, um den entlang jeder Achse verschoben wird
Die verschobenen Punkte, in derselben Reihenfolge
Skaliert Punkte von einem Mittelpunkt weg oder zu ihm hin, mit eigenem Faktor pro Achse.
Beispiel: Punkt [10,0,0] um Mittelpunkt [5,0,0] mit Faktoren [2,1,1] -> [15,0,0]
Die Punkte, das Zentrum, um das skaliert wird, und der Faktor pro Achse
Die skalierten Punkte, in derselben Reihenfolge
Streckt Punkte entlang einer Richtung, gemessen von einem Mittelpunkt; Abstände quer zu dieser Richtung bleiben, wie sie sind.
Beispiel: Punkt [10,0,0] von Mittelpunkt [0,0,0] entlang [1,0,0] mit Skalierung 2 -> [20,0,0]
Die Punkte, das Zentrum, die Richtung, entlang der gestreckt wird, und der Faktor
Die gestreckten Punkte, in derselben Reihenfolge
Dreht Punkte um eine Achse, die durch einen Mittelpunkt verläuft.
Der Winkel ist in Grad und dreht gegen den Uhrzeigersinn, wenn die Achse auf Sie zeigt. Beispiel: Punkt [10,0,0] um die Y-Achse durch [0,0,0] um 90 -> [0,0,-10]
Die Punkte, die Achsenrichtung, das Zentrum, durch das sie verläuft, und der Winkel in Grad
Die gedrehten Punkte, in derselben Reihenfolge
Wiederholt einen Punkt eine gegebene Anzahl von Malen in einer Liste.
Beispiel: Punkt [5,5,0] dreimal -> [[5,5,0], [5,5,0], [5,5,0]]
Der Punkt und wie viele Kopien erstellt werden
Die Liste der Kopien
Punkte als einfache Zahlen-Arrays. Ein Punkt ist
[x, y, z]mit Y nach oben, in derselben Gestalt wie ein Vektor, sodass beide an die Methoden des jeweils anderen übergeben werden können; ein 2D-Punkt ist[x, y]. Jede Methode gibt neue Punkte oder Zahlen zurück und ändert nie ihre Eingaben. Winkel sind in Grad und Längen in Modelleinheiten.