2.1 - Câmera Virtual
2.1 - Câmera Virtual
2.1 - Câmera Virtual
Apresentação
A computação gráfica é estudada como um conjunto de métodos e de técnicas para transformar
dados em imagens, por meio de dispositivos e aplicações gráficas. Assim, para compreender essa
área do conhecimento, é preciso conhecer as diferentes técnicas que podem ser úteis no dia a dia
profissional de um designer gráfico.
Nem todas as imagens digitais são criadas para serem observadas somente em duas dimensões
(2D). As imagens em três dimensões (3D) são muito utilizadas, seja em animações para publicidade
ou em filmes de cinema. Por esse motivo, para manter a estrutura de uma imagem ou de uma cena
digital criada para ser vista em 3D, mas que precisa ser apresentada em 2D, é preciso empregar um
modelo chamado câmera virtual.
Com a técnica da câmera virtual, é possível “fotografar” o momento de uma cena digital em três
dimensões, para que ela esteja disponível na tela de um computador ou impressa em um material
gráfico, por exemplo. Seu uso depende do conhecimento sobre utilidade, diferentes funções e
funcionamentos em ferramentas gráficas e linguagens de programação.
Nesta Unidade de Aprendizagem, você vai estudar as câmeras virtuais e suas possíveis utilizações.
Também verá a importância do posicionamento das câmeras virtuais e a aplicação na projeção e
nas imagens tridimensionais.
Bons estudos.
c) Explique o que é a projeção paralela e a projeção perspectiva. Relacione o motivo pelo qual
Janete pode escolher um dos dois tipos de projeção para ser usada nos materiais didáticos
impressos.
Infográfico
As aplicações da câmera virtual na manipulação de imagens digitais são diversas, tanto que para
cada uma das necessidades é possível utilizar um tipo de ferramenta. No caso dos jogos digitais, de
acordo com a forma de interação entre o usuário e a aplicação desenvolvida, o posicionamento da
câmera virtual pode variar.
Neste Infográfico, você vai ver algumas características das câmeras virtuais utilizadas em jogos
digitais.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Conteúdo do livro
Na computação gráfica, para que seja possível passar uma cena tridimensional (3D) para uma figura
bidimensional (2D), é necessário usar algum tipo de projeção. Ao projetar uma cena em três
dimensões em uma tela, como um monitor, por exemplo, a figura vista é chamada câmera virtual.
No capítulo Câmera virtual, base teórica desta Unidade de Aprendizagem, você verá conceitos e
exemplos de câmeras virtuais. Assim, poderá compreender as técnicas utilizadas para posicionar
essas câmeras e construir imagens digitais de qualidade.
Boa leitura.
COMPUTAÇÃO
GRÁFICA E
PROCESSAMENTO
DE IMAGENS
Câmera virtual
Roni Francisco Pichetti
OBJETIVOS DE APRENDIZAGEM
Introdução
Quando você utiliza uma câmera fotográfica profissional ou mesmo a câmera do
seu smartphone para registrar uma foto ou vídeo, ela cria uma projeção da cena
em um plano, em uma posição, como se “congelasse” um momento. Isso também
acontece quando uma imagem em três dimensões (3D) que está sendo desenvolvida
por meio digital precisa ser projetada em um plano para gerar uma imagem de
duas dimensões (2D). Ao criar imagens de cenas em 3D com computação gráfica,
é comum utilizar essa analogia do posicionamento de uma câmera real para criar
um modelo de câmera virtual.
As imagens em 3D podem ser utilizadas em diferentes aplicações, como jogos
digitais, desenhos animados para computador, realidade virtual ou projetos de
arquitetura e engenharia. Por exemplo, quando uma cena de um jogo digital está
sendo desenvolvida, é preciso definir qual é a visão que o jogador terá, se ele
participará da cena como um dos personagens em primeira pessoa ou se poderá
verificar o seu andamento de outro ângulo. Isso justifica a importância do estudo
dos enquadramentos de câmera em uma animação.
Assim, é importante compreender como a câmera virtual é primordial na
criação de diferentes imagens digitais. Neste capítulo, você vai conhecer conceitos
de câmera virtual e observar exemplos de sua utilização na computação gráfica.
2 Câmera virtual
Definindo o posicionamento
da câmera virtual
Da mesma forma que a câmera real, o maior objetivo de uma câmera virtual é
projetar uma imagem. Na computação gráfica, existem duas áreas principais
nas quais a câmera virtual é aplicada: área de análise e área de síntese. Na
área de análise, são definidos os parâmetros internos e externos da aplicação
que vai utilizar a câmera virtual, com base nas informações da cena 3D a ser
representada. Já na área de síntese, são utilizados os parâmetros definidos
na outra área para gerar uma imagem, ou seja, para “tirar” uma “foto” virtual
(GOMES; VELHO, 2003).
6 Câmera virtual
Para que a “foto” virtual seja “tirada”, é preciso que a câmera virtual
realize transformações de visualização. Essas transformações têm como
objetivo mapear as superfícies dos objetos presentes na cena 3D para depois
representá-los no meio de exibição definido pelo usuário, como a tela de um
computador, por exemplo. Isso acontece por meio de um processo que trans-
forma os objetos de imagem em coordenadas. O processo de transformação
de visualização envolve pelo menos sete sistemas diferentes. Cada um dos
sistemas é associado a um tipo de espaço: espaço da câmera virtual, espaço
do objeto, espaço de cena, espaço normalizado, espaço de ordenação, espaço
de imagem e espaço do dispositivo (GOMES; VELHO, 2003).
Veja, no Quadro 1, uma breve descrição de cada um dos espaços citados.
Tipo Descrição
para o ponto de interesse de cena (variável O’), este será o centro da projeção.
Entretanto, se o observador também precisar captar a cena de outro local, é
necessário definir os possíveis ângulos de inclinação, que serão calculados
por meio de vetores para cada um dos eixos do espaço 3D (x, y, z) (GOMES;
VELHO, 2003).
A OpenGL (Open Graphical Library — Biblioteca Gráfica Aberta) emprega
esse tipo de especificação. Ela pode ser definida como uma interface de
software (application program interface [API]) utilizada para acelerar a pro-
gramação de dispositivos gráficos. Ela também pode ser classificada como
uma biblioteca de rotinas gráficas para modelagem 2D e 3D. Por conta de sua
portabilidade com inúmeros sistemas e sua rapidez, possibilita a criação de
gráficos em 3D com excelente qualidade visual e agilidade, pois utiliza algorit-
mos bem desenvolvidos e otimizados (AZEVEDO; CONCI; VASCONCELOS, 2018).
É importante que você saiba que a OpenGL não é uma linguagem de pro-
gramação, mas uma poderosa biblioteca de códigos que segue a convenção
de chamada de bibliotecas da linguagem C. Isso quer dizer que programas
escritos em C podem chamar funções em OpenGL facilmente, e muitas outras
linguagens compatíveis podem ser utilizadas, como C++, Python, Java ou Del-
phi. Faz parte da implementação OpenGL a biblioteca GLU, que possui várias
funções de modelagem de imagens, sendo utilizada também para a definição
da posição de câmeras virtuais (AZEVEDO; CONCI; VASCONCELOS, 2018).
Por fim, veja mais um exemplo proposto por Google Developers (2020), na
linguagem Java, utilizado para aplicar as transformações e a projeção de câmera.
Para utilizar a matriz combinada que você viu no exemplo anterior, o código
do último exemplo inicia adicionando uma variável de matriz ao sombreador
de vértice na classe Triangle. Observe que o fator uMVPMatrix é o primeiro
apresentado no exemplo, para que o produto da multiplicação das matrizes
esteja correto. O final do exemplo se preocupa em modificar o método draw()
dos objetos gráficos para assim aceitar a matriz de transformação combinada
e depois aplicá-lo ao triângulo (GOOGLE DEVELOPERS, 2020).
Depois que o cálculo e a aplicação das transformações de projeção e
visualização estão feitos, os objetos gráficos são desenhados pela aplicação
em proporções corretas. Veja que cada um dos movimentos da câmera virtual
para observar um objeto gráfico, por mais simples que seja, depende de muitas
variáveis e da realização de diferentes etapas de cálculos computacionais.
Agora, é o momento de relembrar tudo o que foi visto neste capítulo. Ele
iniciou com a apresentação de conceitos de câmera virtual, sua aplicação
e importância na computação gráfica. Em seguida, você viu que além de
definir uma câmera virtual para a observação de uma cena em 3D, é preciso
se preocupar em como posicioná-la, para assim obter imagens planas a
serem apresentadas em telas ou mesmo impressas em diferentes materiais
gráficos, por exemplo.
Para concluir, foram apresentados breves exemplos de como colocar em
prática o uso de câmeras virtuais na API OpenGL, muito utilizada na área de
produção de imagens digitais. Todos esses assuntos são complementares
e contribuem para a construção do seu conhecimento sobre computação
gráfica e processamento de imagens.
Referências
AZEVEDO, E.; CONCI, A.; VASCONCELOS, C. Computação gráfica: teoria e prática. 2. ed.
Rio de Janeiro: Elsevier, 2018. v. 1.
COHEN, M.; MANSSOUR, I. H. OpenGL: uma abordagem prática e objetiva. São Paulo:
Novatec, 2006.
GOMES, J.; VELHO, L. Fundamentos de computação gráfica. São Paulo: Impa, 2003.
GOOGLE DEVELOPERS. Aplicar projeção e visualizações de câmera. Developers Android,
12 maio 2020. Disponível em: https://developer.android.com/training/graphics/opengl/
projection?hl=pt-br#java. Acesso em: 31 maio 2022.
PAULA FILHO, W. P. Multimídia: conceitos e aplicações. 2 ed. Rio de Janeiro: LTC, 2011.
Câmera virtual 15
Leituras recomendadas
CORRIGAN, J. Computação gráfica: segredo e soluções. Rio de Janeiro: Ciência Moderna,
1994.
SOLOMON, C.; BRECKON, T. Fundamentos de processamento digital de imagens: uma
abordagem prática com exemplos em Matlab. Rio de Janeiro: LTC, 2013.
Nesta Dica do Professor, você vai conhecer a WebGL, uma API compatível com o OpenGL, mas
que tem foco em projeções de imagens 3D nos navegadores de internet.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Exercícios
1) O modelo de câmera virtual é empregado para converter uma cena em três dimensões (3D)
em uma figura de duas dimensões (2D). Para apresentar o resultado obtido, ele utiliza algum
tipo de projeção.
2) A câmera virtual tem características idênticas às câmeras reais. As duas dependem de uma
posição para que possam capturar uma imagem da cena que está sendo observada, seja no
mundo real ou no virtual.
II. O foco é um dos fatores que define para onde a câmera virtual está apontada.
IV. O tipo de projeção empregado controla como a cena é visualizada no plano de imagem.
A) I, II e III.
C) I e III.
D) II e IV.
E) I e IV.
I. Projeção paralela
A) I, II, I, II, I.
4) O maior objetivo da câmera virtual é projetar uma imagem digital com a melhor qualidade e
eficiência possíveis. Para isso são aplicados diferentes parâmetros e observadas áreas
distintas, como a de análise e a de síntese.
II. Na área de análise são definidos os parâmetros internos e externos da aplicação que
utilizará a câmera virtual.
III. A área de análise utiliza os parâmetros definidos na área de síntese para gerar uma
imagem digital.
IV. A área de síntese utiliza os parâmetros definidos na área de análise para gerar uma
imagem digital.
A) I, II e III.
B) I, III e IV.
C) II e III.
E) II e IV.
I. Espaço de cena
V. Espaço de imagem
( ) Utilizado para um recorte eficiente dos objetos fora do campo de visão da câmera.
( ) Associado à superfície de exibição do dispositivo de saída gráfica.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Getting started
Como utilizar o sistema gráfico OpenGL para aplicar a câmera virtual? Neste material, você vai
conhecer conceitos de utilização e instalação do OpenGL, assim como ter acesso a tutoriais dessa
ferramenta. Não se esqueça de ativar a versão em português do site.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.