A classe Matriz representa uma matriz de transformação que determina como mapear pontos de um espaço de coordenadas para outro.
Você pode realizar várias transformações gráficas em um objeto de exibição como a seguir:
- Defina as propriedades de um objeto da matriz
- Aplique esse objeto da matriz à propriedade da matriz de um objeto em transformação
- Aplique o objeto de transformação como a propriedade de transformação do objeto de exibição.
Essas funções de transformação incluem a conversão (reposicionamento de x e y), rotação e escalamento.
Juntos, esses tipos de transformações são conhecidos como transformações relacionadas. Transformações relacionadas preservam a retidão de linhas ao transformar, assim as linhas paralelas se mantêm paralelas.
Um objeto da matriz de transformação é uma matriz de 3 x 3, com os seguintes conteúdos:
| a c tx | | b d ty | | u v w |
Em matrizes de transformação tradicionais, as propriedades do u, v, e w fornecem recursos extras. A classe de matriz só funciona no espaço bidimensional. Por isso, assuma sempre que os valores de propriedade u e v são 0,0, e que o valor da propriedade w é de 1,0. Os valores efetivos da matriz são como os seguintes:
| a c tx | | b d ty | | 0 0 1 |
new flwebgl.geom.Matrix(values)
Nome | Tipo | Descrição |
---|---|---|
values | número[] | (opcional) Uma matriz que define os valores da matriz no formato [a b c d tx ty]. Se não for especificado, a matriz é definida como identidade. |
Descrição
Este método retorna um clone da instância da matriz.
Retorna
- Um clone da instância da matriz.
- Tipo - Matriz
Descrição
Este método encadeia a matriz fornecida com a matriz atual, combinando de forma eficaz os efeitos geométricos dos dois.
Parâmetros
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Exemplo
Este exemplo encadeia uma matriz rotativa e uma matriz de dimensionamento.
Nome | Tipo | Descrição |
---|---|---|
matrix | Matrix | A matriz para multiplicar |
var m1 = new flwebgl.geom.Matrix(); m1.rotate(45 * Math.PI / 180); var m2 = new flwebgl.geom.Matrix(); m2.scale(2, 2); m1.concat(m2);
Descrição
Este método copia a matriz especificada a esta matriz.
Parâmetros
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Nome | Tipo | Descrição |
---|---|---|
matrix | Matrix | A matriz para copiar as propriedades de |
Descrição
Este método verifica se a matriz fornecida tem os mesmos valores que esta instância.
Parâmetros
Retorna
- Tipo - booliano
Nome | Tipo | Descrição |
---|---|---|
mat | Matrix | A matriz para comparar |
Descrição
Este método retorna os valores dos elementos na matriz.
Retorna
- Uma matriz que define os valores da matriz no formato [a b c d tx ty]
- Tipo - número[]
Exemplo
Este exemplo obtém os valores de uma matriz e a modifica para ser desviada por um fator de 0,5.
var m = new flwebgl.geom.Matrix(); var arr = m.getValues(); arr[1] = 0.5; m.setValues(arr);
Descrição
Este método define a matriz para uma matriz de identidade.
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Descrição
Este método inverte a matriz, com efeito, a matriz inversa aplica a transformação oposta.
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Descrição
Este método indica ‘real’, se a matriz for uma matriz de identidade.
Retorna
- Tipo - booliano
Descrição
Este método aplica uma transformação de rotação para a matriz.
Parâmetros
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Exemplo
Este exemplo cria uma nova instância da matriz inicializada para a matriz de identidade e gira em 45 graus.
Nome | Tipo | Descrição |
---|---|---|
angle | número | O ângulo está em radianos. Para usar graus, multiplique por Math.PI/180. |
var m = new flwebgl.geom.Matrix(); m.rotate(45 * Math.PI / 180);
Descrição
Este método aplica uma transformação de escala para a matriz.
Parâmetros
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Exemplo
Este exemplo cria uma nova instância da matriz inicializada para a matriz de identidade e dimensiona-a por um fator de 2, horizontalmente e verticalmente.
Nome | Tipo | Descrição |
---|---|---|
x | número | O fator de escala horizontal. |
y | número | O fator de escala vertical |
var m = new flwebgl.geom.Matrix(); m.scale(2, 2);
Descrição
Este método define os valores dos elementos na matriz.
Parâmetros
Exemplo
Veja o exemplo na função getValues().
Nome | Tipo | Descrição |
---|---|---|
values | número[] | Uma matriz que define os valores da matriz no formato[a b c d tx ty]. |
Descrição
Este método transforma um ponto de acordo com esta matriz.
Parâmetros
Retorna
- O ponto transformado
- Tipo - Ponto
Nome | Tipo | Descrição |
---|---|---|
point | Point | O ponto para transformar |
Descrição
Este método transforma todos os quatro pontos da rect de acordo com esta matriz.
Parâmetros
Retorna
- O Rect transformado
- Tipo - Rect
Nome | Tipo | Descrição |
---|---|---|
rect | Rect | O rect para transformar |
Descrição
Este método traduz a matriz sobre os eixos x e y.
Parâmetros
Retorna
- Esta é a matriz Útil para o encadeamento de chamadas de método.
- Tipo - Matriz
Nome | Tipo | Descrição |
---|---|---|
dx | número | A quantidade de movimento ao longo do eixo X para a direita. |
dy | número | A quantidade de movimento para baixo ao longo do eixo Y. |