O desenho de entidades gráficas sobre uma tela é só o início do desenvolvimento de um sistema gráfico vetorizado. Primeiramente o ambiente deve ser coerente (homogêneo). O que está sendo representado na tela nada mais é que uma parte do que, na verdade, são as primitivas gráficas. De fato a telas têm um limite de representação e esse limite, de forma alguma, pode alterar a qualidade das informações contidas nas entidades representadas.
Deve-se entender que o ambiente deve preservar as coordenadas originais universais dos objetos gráficos, ou seja, mesmo quando há mudanças de visualização de tela (como ocorre quando se aplica um "Zoom" ou um "Pan"), as coordenas reais das entidades devem permanecer inalteradas. Mesmo que o objeto
35 Impressoras e monitores, no Windows, são tratados como objetos semelhantes, ou seja,
com as mesmas habilidades. A diferença primordial reside na quantidade de DPI ("Dot Per Inch" - pontos por polegada) entre uma classe e outra. De fato as impressoras trabalham com um número de DPI's (na casa dos 1700 dpi) bem superior aos dos monitores (por volta de 75 dpi).
tenha sofrido alterações na "Viewport"36 ou tenha sido recortado por um "Clipping"37.
Estes conceitos implicam que devam existir dois tipos de planos gráficos (ou sistemas de coordenadas), o de visualização e o de modelagem gráfica, sendo o primeiro útil para a interação do sistema como usuário, o segundo, necessário para a interação dos elementos gráficos do sistema.
Figura 57: Representação de um "Viewport" e "Clipping".
Pode-se facilmente perceber, na Figura 57, a área de corte é a diferença entre o domínio de projeto e o "Viewport".
Este é um conceito básico e essencial para sistemas deste tipo. Assim os projetos desenvolvidos no programa de Grelha têm elementos estruturais com coordenadas dentro de um sistema origem fixo pertencentes a um domínio IR que é sempre coerente e imutável.
36 "Viewport" é uma região virtual retangular em 2D na qual é representada totalmente ou
parcialmente uma imagem. "Viewports" geralmente são definidos por: Coordenadas (iniciais, finais e de origem), área útil e por escala de representação.
37 "Clipping", que significa corte, numa "Viewport", é a parte de uma imagem que, por não
caber na área útil da tela, é cortada e fica parcialmente invisível.
Limite do "Viewport". Área de "Clipping" que fica
fora do limite da tela.
Entende-se melhor este conceito quando colocado de forma de um exemplo numérico. Quando se aplica um "PAN" numa imagem soma-se à base do desenho o vetor de deslocamento desejado (geralmente indicado pelo "Mouse"). A base
(origem) do desenho é deslocada de (x1,y1,z1) para (x2,y2,z2) = (x1,y1,z1)+(dx,dy,dz).
Esta translação opera-se no domínio do "Viewport" e não no domínio do projeto, o que em termos práticos é uma translação somente da vista sistema/usuário, e não sistema/elementos gráficos.
5.4.2.2 Precisão Gráfica
A manipulação de elementos vetoriais na tela implica em fatorações e divisões sucessivas que podem produzir erros de precisão nas coordenadas, principalmente ao se trabalhar com escalas muito grandes ou muito pequenas (próximas de zero). Logo nas versões iniciais do programa deste trabalho deparou-se com os problemas típicos dessa ordem como o reproduzido na Figura 58, onde a linha e o círculo deveriam ter um ponto em comum, que na figura fica dentro do retângulo pontilhado de "zoom".
Após a aplicação do "Zoom" (Figura 59), observa-se que a coordenada na extremidade da linha não confere com a linha do círculo. O erro ocorre devido à imprecisão na conversão de coordenadas de projeto para as coordenadas de tela.
Figura 59: Vista ampliada do ponto de interseção entre a linha e o círculo.
Os erros gráficos mais comuns são os:
1. De proliferação, onde operações geométricas com um número de 'k' dígitos de precisão que podem gerar resultados que necessitem de precisão ainda maior;
2. De irracionalidade, onde algumas operações resultam em números sem
precisão finita, como por exemplo q ou √3.
Segundo Hoffmann (Hoffman, 2001), os "softwares" de cálculo geométrico ou que dependem de uma interface gráfica, ocasionalmente, tendem a ser frágeis e falhos. Este problema de robustez deve-se essencialmente à dificuldade em se tomar decisões inequívocas sobre a incidência ou não incidência, fundamentalmente
prejudicando a confiabilidade do sistema geométrico, o que é antagônico ao próprio princípio almejado pelo ambiente gráfico que gera um grande número de situações. No intuito de inibir este tipo de erro, adotam-se escalas de desenho que sejam adequadas ao tipo de projeto gráfico do sistema cliente. Por exemplo, para programas de cálculo estrutural onde a maior parte das medidas é em metros, pode- se eleger como escala básica o centímetro que dará a precisão necessária para os cálculos sem gerar números grandes demais ou números fracionários muito pequenos. No fator de escala de 'um' adotou-se para cada (pixel) um (mm), ou seja, a cada cem píxeis tem-se um metro no projeto.
As coordenadas reais das entidades gráficas são mantidas em registradores específicos e nunca são alterados, claro, a menos que sejam aplicadas mudanças reais nesses objetos por meio de edição direta do projetista. As entidades são geradas na tela usando-se essas coordenadas reais como base, que são
convertidas em coordenadas de tela38. As coordenadas de tela, por terem um erro
intrínseco, são descartadas e recalculadas toda vez que as entidades são redesenhadas na tela.
Em escalas muito baixas, que produzem uma relação de píxeis por unidade de
medida menor que um (%!
^ < 1), ou quando uma determinada coordenada encontra-
se entre dois píxeis, não é mais possível, ao clicar na tela, obter-se uma coordenada precisa de inserção. Nessas situações, deve-se recorrer a métodos de eliminação de imprecisões (Wilczynska, 2010). De fato a eliminação de incertezas pode ser
aplicada por meio de métodos baseados em lógica nebulosa39, que permitem a
determinação de um ponto provável na tela.
38 É interessante notar aqui que as coordenadas reais podem ser fracionárias enquanto que
as coordenadas de tela, em píxeis, são coordenadas inteiras. Fica portanto intrínseco que a conversão de um sistema para outro produz um erro de arredondamento.
39 A lógica nebulosa é um método matemático complexo que permite solucionar problemas
com soluções pouco óbvias ou com pouca precisão, principalmente por terem um grande número de entradas e saídas de informações. Essa lógica oferece um resultado baseado numa recomendação
A precisão de coordenadas é um tópico de primeira importância no caso da parametrização de dados gráficos para o cálculo estrutural. Erros de conexões nodais no programa podem facilmente gerar um sistema de equações indeterminado ou sem solução (ou deslocamentos infinitos).
Por isso, ferramentas como as linhas de construção, de aproximação magnética ("Snapping") ou a grade são essenciais no momento de conectar as entidades entre si.