Convierte un segmento, el par [start, end], en un objeto de línea.
Ejemplo: [[0,0,0], [10,5,0]] -> { start: [0,0,0], end: [10,5,0] }
El segmento
La línea
Convierte cada segmento, un par [start, end], en un objeto de línea.
Ejemplo: tres segmentos -> tres líneas, en el mismo orden
Los segmentos
Una línea por segmento
Construye un objeto de línea a partir de un punto inicial y uno final.
Ejemplo: inicio [0,0,0], final [10,5,0] -> { start: [0,0,0], end: [10,5,0] }
Los puntos inicial y final
El objeto línea
Construye un segmento, la forma de par de puntos de una línea, a partir de un punto inicial y uno final.
Ejemplo: inicio [0,0,0], final [10,5,0] -> [[0,0,0], [10,5,0]]
Los puntos inicial y final
El segmento como [start, end]
Une cada punto con el siguiente mediante una línea, de modo que una lista de puntos se convierte en una cadena de líneas.
Ejemplo: [[0,0,0], [5,0,0], [5,5,0]] -> dos líneas, de [0,0,0] a [5,0,0] y de [5,0,0] a [5,5,0]
Los puntos, en orden
Una línea por cada par de puntos vecinos
Empareja cada punto inicial con el punto final en la misma posición y los une con una línea.
Un par cuyos dos puntos coinciden no forma ninguna línea y se omite. Ejemplo: inicios [[0,0,0], [5,0,0]] y finales [[0,5,0], [5,5,0]] -> dos líneas
Los puntos iniciales y los puntos finales, en orden correspondiente
Una línea por par, omitiendo los pares de longitud 0
Encuentra el punto a una fracción del recorrido de una línea: 0 da el inicio, 1 el final, 0.5 el medio.
Una fracción fuera de 0 a 1 continúa más allá de los extremos. Ejemplo: { start: [0,0,0], end: [10,0,0] } en 0.5 -> [5,0,0]
La línea y la fracción a lo largo de ella
El punto en la línea
Encuentra el punto donde se cruzan dos líneas.
Con checkSegmentsOnly activado, el cruce debe estar dentro de ambos segmentos; desactivado, las líneas
se extienden sin fin. Las líneas paralelas, las líneas que se pasan sin encontrarse, y los segmentos
que no se alcanzan dan undefined. La tolerancia dice cuán cerca cuenta como encontrarse.
Ejemplo: [0,0,0] a [10,0,0] y [5,-5,0] a [5,5,0] -> [5,0,0]
Las dos líneas, si permanecer dentro de los segmentos, y la tolerancia
El punto de cruce, o undefined cuando no hay ninguno
Aplica una matriz de transformación, o una lista de ellas en orden, a ambos extremos de una línea.
Ejemplo: { start: [0,0,0], end: [10,0,0] } movida según [5,5,0] -> { start: [5,5,0], end: [15,5,0] }
La línea y la transformación
Una nueva línea con los extremos transformados
Aplica una transformación distinta a cada línea: la primera transformación a la primera línea, y así sucesivamente.
Ejemplo: tres líneas con tres traslaciones -> cada línea movida según su propia traslación
Las líneas y una transformación por línea
Las líneas transformadas, en el mismo orden
Líneas rectas entre dos puntos, guardadas como objetos simples de la forma
{ start, end }, y la forma de segmento[start, end]de lo mismo. Los métodos de aquí construyen líneas, las miden y transforman, convierten entre las dos formas, colocan puntos a lo largo de ellas y encuentran dónde se cruzan dos líneas. Las longitudes están en unidades del modelo.