Remove um ponto quando repete o imediatamente anterior; o mesmo ponto mais adiante é mantido.
Com checkFirstAndLast ligado, um último ponto que repita o primeiro também é descartado. Pontos
dentro de tolerance uns dos outros contam como o mesmo.
Exemplo: [[0,0,0], [0,0,0], [1,0,0], [1,0,0], [2,0,0]] -> [[0,0,0], [1,0,0], [2,0,0]]
Os pontos, a tolerância e se deve comparar o primeiro com o último
Os pontos sem repetições consecutivas
Constrói um ponto 3D a partir dos seus valores x, y e z.
Exemplo: x=10, y=5, z=3 -> [10,5,3]
Os três valores
O ponto [x, y, z]
Constrói um ponto 2D a partir dos seus valores x e y.
Exemplo: x=10, y=5 -> [10,5]
Os dois valores
O ponto [x, y]
Dispõe pontos ao longo de uma espiral logarítmica no plano XY, da origem para fora até
radius.
numberPoints define quantos pontos são colocados, phi e widening quão depressa a espiral
abre, e factor onde ao longo da curva ela começa. Todos os pontos têm z = 0.
O número de pontos, o raio e a forma da espiral
Os pontos ao longo da espiral, do centro para fora
Dispõe os centros de um favo de mel de hexágonos no plano XY.
radiusHexagon é a distância do centro de um hexágono a um canto; as colunas correm ao longo de X e
as filas ao longo de Y, com cada segunda fila deslocada meia coluna. orientOnCenter centra a grelha na
origem, pointsOnGround deita-a no plano XZ.
O tamanho do hexágono, quantas colunas e linhas, e onde colocar a grelha
Os pontos centrais, linha a linha
Dispõe um favo de mel de hexágonos que preenche uma dada largura e altura, dimensionando os hexágonos a partir das contagens.
O resultado traz os pontos centrais e os seis cantos de cada hexágono. Um canto aponta para cima
a menos que flatTop esteja definido; os indicadores de extensão esticam as filas exteriores para lá das margens para cobrir o
retângulo sem uma borda dentada.
A área a preencher, as contagens de hexágonos, a orientação e as opções de colocação
Os centros e os pontos dos cantos de cada hexágono
Encontra a direção perpendicular ao plano que passa por três pontos, com comprimento 1.
A direção segue a regra da mão direita indo do primeiro ponto para o segundo e para o
terceiro; reverseNormal inverte-a. Pontos numa só linha não têm plano, por isso o resultado é
undefined.
Exemplo: [0,0,0], [1,0,0], [0,1,0] -> [0,0,1]
Os três pontos e se deve inverter o resultado
A normal unitária, ou undefined quando os pontos estão numa só linha
Encontra a menor caixa alinhada com os eixos que contém todos os pontos.
O resultado traz os cantos mínimo e máximo, o centro, e a largura (X), a altura (Y) e o comprimento (Z). Exemplo: pontos [[0,0,0], [10,5,3]] -> min [0,0,0], max [10,5,3], centro [5,2.5,1.5]
A caixa delimitadora com os seus cantos, centro e tamanhos
Mede a distância de um ponto ao ponto mais próximo numa lista.
Exemplo: ponto [0,0,0] e pontos [[5,0,0], [10,0,0], [3,0,0]] -> 3
O ponto a partir do qual medir e os pontos a pesquisar
A distância ao ponto mais próximo, em unidades do modelo
Encontra a posição do ponto mais próximo numa lista, a contar de 1.
Exemplo: ponto [0,0,0] e pontos [[5,0,0], [10,0,0], [3,0,0]] -> 3
O ponto a partir do qual medir e os pontos a pesquisar
O índice, a começar em 1, do ponto mais próximo
Encontra o ponto mais próximo numa lista de um dado ponto.
Exemplo: ponto [0,0,0] e pontos [[5,0,0], [10,0,0], [3,0,0]] -> [3,0,0]
O ponto a partir do qual medir e os pontos a pesquisar
O ponto mais próximo
Encontra a média dos pontos, que é o seu centro de massa quando pesam o mesmo.
Exemplo: [[0,0,0], [10,0,0], [10,10,0]] -> [6.67,3.33,0]
O ponto médio
Encontra o maior arredondamento que cabe num canto: o arco toca ambos os segmentos e fica dentro deles.
O canto é end; start e center são as extremidades afastadas dos dois segmentos que aí se
encontram. O raio é limitado pelo segmento mais curto. Um canto reto ou dobrado sobre si, ou um
segmento mais curto do que tolerance, dá 0.
A extremidade distante de cada segmento, o canto que partilham, e a tolerância
O maior raio de arredondamento, em unidades do modelo
Encontra o maior arredondamento num canto cujo arco toca cada segmento dentro da sua metade mais próxima, de modo que cantos vizinhos de uma polilinha podem ser arredondados sem que os arcos se sobreponham.
O canto é end; start e center são as extremidades afastadas dos dois segmentos. Um canto reto ou
dobrado sobre si, ou um segmento mais curto do que tolerance, dá 0.
A extremidade distante de cada segmento, o canto que partilham, e a tolerância
O maior raio de arredondamento segundo a regra do meio segmento, em unidades do modelo
Encontra o maior arredondamento para cada canto de uma polilinha, cada um limitado à metade mais próxima dos seus segmentos para que os arredondamentos nunca se sobreponham.
Com checkLastWithFirst ligado, a polilinha é tratada como fechada e os dois cantos nas
extremidades são incluídos. Menos de três pontos dão uma lista vazia.
Os pontos da polilinha, se está fechada, e a tolerância
Um raio por canto, pela ordem dos cantos
Encontra um raio de arredondamento que cabe em todos os cantos de uma polilinha: o menor dos máximos por canto segundo a regra do meio segmento.
Com checkLastWithFirst ligado, a polilinha é tratada como fechada. Menos de três pontos, ou
qualquer canto que não permita arredondamento, dão 0.
Os pontos da polilinha, se está fechada, e a tolerância
O raio que cabe em todos os cantos, em unidades do modelo
Mede a distância em linha reta entre dois pontos.
Exemplo: [0,0,0] para [3,4,0] -> 5
Os dois pontos
A distância em unidades do modelo
Mede a distância de um ponto a cada ponto numa lista.
Exemplo: início [0,0,0] e pontos finais [[3,0,0], [0,4,0], [5,0,0]] -> [3, 4, 5]
O ponto inicial e os pontos até aos quais medir
Uma distância por ponto final, pela mesma ordem
Indica se dois pontos estão mais próximos um do outro do que uma tolerância.
Exemplo: [1.0000001, 2, 3] e [1, 2, 3] com tolerância 1e-6 -> true
Os dois pontos e a tolerância
True quando a distância entre eles é inferior à tolerância
Ordena pontos por X, depois por Y para X igual, depois por Z.
Exemplo: [[5,0,0], [1,0,0], [3,0,0]] -> [[1,0,0], [3,0,0], [5,0,0]]
Uma cópia ordenada dos pontos
Aplica uma matriz de transformação, ou uma lista delas por ordem, a um ponto.
Exemplo: ponto [0,0,0] com uma translação de [5,5,0] -> [5,5,0]
O ponto e a transformação a aplicar
O ponto transformado
Aplica a mesma matriz de transformação, ou lista delas por ordem, a todos os pontos.
Exemplo: cinco pontos com uma rotação de 90 graus -> todos os cinco rodados em conjunto
Os pontos e a transformação a aplicar a cada um
Os pontos transformados, pela mesma ordem
Aplica uma transformação diferente a cada ponto: a primeira transformação ao primeiro ponto, e assim por diante.
As duas listas têm de ter o mesmo comprimento, ou é lançado um erro. Exemplo: três pontos com três translações -> cada ponto movido pela sua própria translação
Os pontos e uma transformação por ponto
Os pontos transformados, pela mesma ordem
Move todos os pontos pelo mesmo vetor.
Exemplo: pontos [[0,0,0], [1,0,0]] por [5,5,0] -> [[5,5,0], [6,5,0]]
Os pontos e o vetor pelo qual os deslocar
Os pontos deslocados, pela mesma ordem
Move cada ponto pelo seu próprio vetor: o primeiro ponto pelo primeiro vetor, e assim por diante.
As duas listas têm de ter o mesmo comprimento, ou é lançado um erro. Exemplo: três pontos com três vetores -> cada ponto movido pelo seu próprio vetor
Os pontos e um vetor por ponto
Os pontos deslocados, pela mesma ordem
Move todos os pontos pelas quantidades x, y e z dadas.
Exemplo: ponto [0,0,0] com x=10, y=5, z=0 -> [10,5,0]
Os pontos e a distância a deslocar ao longo de cada eixo
Os pontos deslocados, pela mesma ordem
Escala pontos a afastar-se ou a aproximar-se de um centro, com o seu próprio fator por eixo.
Exemplo: ponto [10,0,0] em torno do centro [5,0,0] com fatores [2,1,1] -> [15,0,0]
Os pontos, o centro em torno do qual escalar e o fator por eixo
Os pontos escalados, pela mesma ordem
Estica pontos ao longo de uma direção, medida a partir de um centro; as distâncias transversais a essa direção ficam como estão.
Exemplo: ponto [10,0,0] a partir do centro [0,0,0] ao longo de [1,0,0] com escala 2 -> [20,0,0]
Os pontos, o centro, a direção ao longo da qual esticar e o fator
Os pontos esticados, pela mesma ordem
Roda pontos em torno de um eixo que passa por um centro.
O ângulo está em graus e roda no sentido anti-horário quando o eixo aponta para si. Exemplo: ponto [10,0,0] em torno do eixo Y por [0,0,0] com 90 -> [0,0,-10]
Os pontos, a direção do eixo, o centro por onde passa e o ângulo em graus
Os pontos rodados, pela mesma ordem
Repete um ponto um dado número de vezes numa lista.
Exemplo: ponto [5,5,0] três vezes -> [[5,5,0], [5,5,0], [5,5,0]]
O ponto e quantas cópias fazer
A lista de cópias
Pontos como arrays de números simples. Um ponto é
[x, y, z]com Y a apontar para cima, a mesma forma que um vetor, pelo que os dois podem ser passados aos métodos um do outro; um ponto 2D é[x, y]. Cada método devolve novos pontos ou números e nunca altera as suas entradas. Os ângulos estão em graus e os comprimentos em unidades do modelo.