Mede o ângulo entre dois vetores em graus, sempre entre 0 e 180.
O sentido da rotação não é considerado; use signedAngleBetween para isso.
Exemplo: [1,0,0] e [0,1,0] -> 90
Os dois vetores
Ângulo em graus
Mede o ângulo com sinal do primeiro vetor 2D para o segundo, em graus de -180 a 180.
Só as duas primeiras entradas de cada vetor são usadas; um ângulo positivo roda no sentido anti-horário. Exemplo: [1,0] para [0,1] -> 90, [0,1] para [1,0] -> -90
Os dois vetores 2D
Ângulo com sinal em graus
Mede o ângulo do primeiro vetor para o segundo, rodando em torno de uma direção de referência, em graus de 0 a 360.
A rotação é no sentido anti-horário quando o vetor de referência aponta para si. Exemplo: [1,0,0] para [0,0,-1] em torno de [0,1,0] -> 90
Os dois vetores e a direção de referência em torno da qual rodar
Ângulo em graus de 0 a 360
Mede o ângulo do primeiro vetor para o segundo, rodando em torno de uma direção de referência, em graus de 0 a 360.
A rotação é no sentido anti-horário quando o vetor de referência aponta para si: uma rotação no sentido horário de 30 graus lê-se como 330. Exemplo: [1,0,0] para [0,0,-1] em torno de [0,1,0] -> 90
Os dois vetores e a direção de referência em torno da qual rodar
Ângulo em graus de 0 a 360
Calcula o produto externo de dois vetores 3D: um vetor perpendicular a ambos.
A sua direção segue a regra da mão direita e o seu comprimento é a área do paralelogramo que os dois vetores definem. Exemplo: [1,0,0] x [0,1,0] -> [0,0,1]
Os dois vetores 3D
O vetor perpendicular a ambos
Divide cada entrada de um vetor por um número.
Exemplo: [10,20,30] / 2 -> [5,10,15]
O vetor e o número pelo qual dividir
O vetor dividido
Subtrai o primeiro valor de um vetor ao seu último, o que para uma lista ordenada é a sua amplitude.
Exemplo: [1,3,5,9] -> 8
O vetor
Último valor menos o primeiro valor
Calcula o produto interno de dois vetores: a soma dos produtos das entradas correspondentes.
É 0 para vetores perpendiculares e, para vetores unitários, o cosseno do ângulo entre eles. Exemplo: [1,2,3] e [4,5,6] -> 32
Os dois vetores
O produto escalar
Multiplica cada entrada de um vetor por um número.
Exemplo: [2,3,4] x 5 -> [10,15,20]
O vetor e o número pelo qual multiplicar
O vetor escalado
Inverte o sinal de cada entrada, de modo que o vetor aponta no sentido oposto.
Exemplo: [5,-3,2] -> [-5,3,-2]
O vetor a inverter
O vetor negado
Calcula o comprimento ao quadrado de um vetor, o que evita a raiz quadrada quando só se comparam comprimentos.
Exemplo: [3,4,0] -> 25
O vetor
O comprimento ao quadrado
Calcula o comprimento de um vetor.
Exemplo: [3,4,0] -> 5, [1,0,0] -> 1
O vetor
O comprimento em unidades do modelo
Escala um vetor 3D para comprimento 1 mantendo a sua direção.
Um vetor mais curto do que 1e-8 não tem direção a manter, por isso o resultado é undefined. Exemplo: [3,4,0] -> [0.6,0.8,0]
O vetor 3D a normalizar
O vetor unitário, ou undefined para uma entrada de comprimento zero
Encontra o ponto a uma dada distância de um ponto de partida ao longo de uma direção.
A direção é usada tal como é dada, por isso uma direção de comprimento 2 percorre o dobro da distância. Exemplo: início [0,0,0], direção [1,0,0], distância 5 -> [5,0,0]
O ponto inicial, a direção e a distância
O ponto no raio
Subtrai o segundo vetor ao primeiro, entrada a entrada.
Exemplo: [10,20,30] - [1,2,3] -> [9,18,27]
O vetor do qual subtrair e o vetor a subtrair
O vetor das diferenças
Soma todos os valores de um vetor num só número.
Exemplo: [1,2,3,4] -> 10
O vetor a somar
O total
Calcula o comprimento ao quadrado de um vetor 3D, o que evita a raiz quadrada quando só se comparam comprimentos.
Exemplo: [3,4,0] -> 25
O vetor 3D
O comprimento ao quadrado
Calcula o comprimento de um vetor 3D.
Exemplo: [3,4,0] -> 5
O vetor 3D
O comprimento em unidades do modelo
Constrói um vetor 3D a partir dos seus valores x, y e z.
Exemplo: x=1, y=2, z=3 -> [1,2,3]
Os três valores
O vetor [x, y, z]
Constrói um vetor 2D a partir dos seus valores x e y.
Exemplo: x=3, y=4 -> [3,4]
Os dois valores
O vetor [x, y]
Lista os números inteiros de 0 até, mas não incluindo, max.
Exemplo: max=5 -> [0,1,2,3,4]
O fim do intervalo, que fica de fora
Os números de 0 a max - 1
Lista os números de min a max, avançando step de cada vez; max é incluído quando um passo
cai exatamente nele.
Exemplo: min=0, max=10, step=2 -> [0,2,4,6,8,10]
O início, o fim e o passo
Os números no intervalo
Lista nrItems números de min a max espaçados por uma curva de suavização, de modo que se concentram numa
extremidade ou em ambas.
Com intervals ligado, o resultado contém os intervalos entre vizinhos em vez dos próprios
valores.
Exemplo: min=0, max=100, nrItems=5, ease='easeInQuad' -> [0, 6.25, 25, 56.25, 100]
O início, o fim, o número de itens, a suavização e se deve devolver os intervalos
Os números suavizados, ou os intervalos entre eles
Lista nrItems números uniformemente espaçados de min a max, ambos incluídos.
Exemplo: min=0, max=10, nrItems=5 -> [0, 2.5, 5, 7.5, 10]
O início, o fim e o número de itens
Os números igualmente espaçados
Transforma uma lista de strings numéricas em números.
Uma string que não seja um número torna-se NaN. Exemplo: ['1', '2.5', '3'] -> [1, 2.5, 3]
As strings a analisar
Os números
Calcula a distância ao quadrado entre dois vetores, o que evita a raiz quadrada quando só se comparam distâncias.
Exemplo: [0,0,0] para [3,4,0] -> 25
Os dois vetores
A distância ao quadrado
Calcula a distância em linha reta entre dois vetores.
Exemplo: [0,0,0] para [3,4,0] -> 5
Os dois vetores
A distância em unidades do modelo
Interpola linearmente dois vetores por uma fração.
fraction é a parte de first: 1 dá first, 0 dá second, 0.5 o ponto médio.
Exemplo: [0,0,0] e [10,10,10] a 0.5 -> [5,5,5]
Os dois vetores e a fração do primeiro
O vetor interpolado
Encontra o maior valor num vetor.
Exemplo: [3, 7, 2, 9, 1] -> 9
O vetor
A maior entrada
Encontra o menor valor num vetor.
Exemplo: [3, 7, 2, 9, 1] -> 1
O vetor
A menor entrada
Remove todos os vetores repetidos de uma lista, mantendo a primeira ocorrência de cada um.
Dois vetores contam como o mesmo quando todas as entradas diferem menos do que tolerance.
Exemplo: [[1,2,3], [4,5,6], [1,2,3], [7,8,9]] -> [[1,2,3], [4,5,6], [7,8,9]]
Vetores a filtrar e a tolerância
Os vetores sem repetições, pela sua ordem original
Remove um vetor quando repete o imediatamente anterior; o mesmo vetor mais adiante é mantido.
Com checkFirstAndLast ligado, um último vetor que repita o primeiro também é descartado, o que
fecha um laço de pontos de forma limpa. Entradas dentro de tolerance umas das outras contam como iguais.
Exemplo: [[1,2], [1,2], [3,4], [1,2]] -> [[1,2], [3,4], [1,2]]
Vetores a filtrar, se deve comparar o primeiro com o último, e a tolerância
Os vetores sem repetições consecutivas
Soma uma lista de vetores entrada a entrada num só vetor.
O resultado tem tantas entradas quantas o primeiro vetor. Exemplo: [[1,2,3], [4,5,6], [7,8,9]] -> [12,15,18]
Vetores a somar
O vetor das somas
Soma dois vetores entrada a entrada.
Exemplo: [1,2,3] + [4,5,6] -> [5,7,9]
Os dois vetores a somar
O vetor das somas
Indica se todos os valores numa lista de booleanos são verdadeiros.
Exemplo: [true, true, true] -> true, [true, false, true] -> false
Os booleanos a verificar
True quando nenhuma entrada é false
Indica se dois vetores são o mesmo dentro de uma tolerância, entrada a entrada.
Vetores de comprimento diferente nunca são o mesmo. Exemplo: [1,2,3] e [1.0001,2.0001,3.0001] com tolerância 0.001 -> true
Os dois vetores e a tolerância
True quando cada entrada difere em menos do que a tolerância
Marca quais entradas de um vetor são números finitos.
Exemplo: [1, 2, Infinity, 3] -> [true, true, false, true]
O vetor a verificar
Um booleano por entrada, true quando é finita
Indica se um vetor não tem comprimento, isto é, se todas as entradas são exatamente 0.
Exemplo: [0,0,0] -> true, [0,0,0.001] -> false
O vetor a verificar
True quando o comprimento é 0
Matemática vetorial sobre arrays de números simples. Um vetor é um array de números; em 3D é
[x, y, z]com Y a apontar para cima, a mesma forma que um ponto, pelo que os dois podem ser passados aos métodos um do outro. Cada método devolve um novo array ou um número e nunca altera as suas entradas. Os ângulos estão em graus.