scale
Muda a escala de um polyshape por um fator, em torno de um ponto central.
Categoria: Mathematics > Computational Geometry
Sintaxe
pshape = scale(pshape, s)
Multiplica todas as coordenadas pelo escalar s.
pshape = scale(pshape, [sx sy])
Usa fatores diferentes em x e y.
pshape = scale(pshape, [sx sy], center)
Muda a escala em torno do ponto center = [x y] em vez da origem.
Descrição
O ponto center permanece onde está e todos os outros vértices se movem ao longo da reta a partir do centro pelo fator dado. Com fator 2 a forma dobra de largura e altura, e a área fica quatro vezes maior. Um fator negativo espelha a forma.
O nome scale também é usado em outras áreas para normalizações sem relação; com um polyshape é mudança de escala geométrica.
Argumentos de entrada
pshape- Um objeto
polyshape. s- Fator de escala: um escalar, ou um vetor de dois elementos
[sx sy]. center- Ponto fixo da mudança de escala.
Argumentos de saída
pshape- O polyshape com a escala alterada. A área muda por
sx*sy.
Exemplo
Esticar um retângulo só em x
P = polyshape([0 2 2 0], [0 0 1 1]);
S = scale(P, [3 1], [0 0]);
S.Vertices
are = [area(P) area(S)]
ans = 4×2
0 0
0 1
6 1
6 0
are = 1×2
2 6
Observações
No MatLivre, use a forma vetorial [sx sy] quando também informar um centro; a forma escalar com centro não é tratada corretamente.