Compartilhar via


Scaling

A maioria dos aplicativos CAD e de desenho fornece recursos que dimensionam a saída criada pelo usuário. Aplicativos que incluem recursos de dimensionamento (ou zoom) chamam a função SetWorldTransform para definir o espaço de mundo apropriado para a transformação de espaço de página. Essa função recebe um ponteiro para uma estrutura XFORM que contém os valores apropriados. Os membros eM11 e eM22 do XFORM especificam os componentes de dimensionamento horizontal e vertical, respectivamente.

Quando ocorre o dimensionamento , as linhas verticais e horizontais (ou vetores), que constituem um objeto, são alongadas ou compactadas em relação ao eixo x ou y. A ilustração a seguir mostra um retângulo de 20 por 20 unidades dimensionado verticalmente para o dobro de sua altura original quando copiado do espaço de coordenadas mundiais para o espaço de coordenadas de página.

ilustração mostrando um pequeno retângulo no espaço do mundo e um mais alto no espaço da página

Na ilustração anterior, as linhas verticais que definem o lado do retângulo original medem 20 unidades, enquanto as linhas verticais que definem os lados do retângulo dimensionado medem 40 unidades.

O dimensionamento vertical pode ser representado pelo algoritmo a seguir.

y' = y * Dy 

Onde y' é o novo comprimento, y é o comprimento original, e Dy é o fator de dimensionamento vertical.

O dimensionamento horizontal pode ser representado pelo algoritmo a seguir.

x' = x * Dx 

Onde x' é o novo comprimento, x é o comprimento original e Dx é o fator de dimensionamento horizontal.

As transformações de dimensionamento vertical e horizontal podem ser combinadas em uma única operação usando uma matriz de 2 por 2.

|x' y'|  =  |Dx   0|  *  |x y| 
            |0   Dy| 

A matriz 2 por 2 que produziu a transformação de dimensionamento contém os valores a seguir.

|1    0| 
|0    2|