2.1 - Câmera Virtual

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 32

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.

Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:

• Conceituar câmera virtual.


• Identificar o correto posicionamento da câmera virtual.
• Analisar as aplicações da câmera virtual.
Desafio
A visualização de projetos tridimensionais costuma ser mais complexa do que a de imagens em
duas dimensões. Isso acontece porque, para o caso do 3D, são necessárias mais etapas, da criação à
apresentação do espaço final. Por isso, desde o começo do planejamento do desenvolvimento de
uma cena 3D, é preciso se preocupar em como ela poderá ser vista e projetada em uma imagem
2D.

Analise a situação a seguir.

A partir desse contexto:

a) Explique o que é a modelagem do projeto 3D utilizada nas animações.

b) Descreva a importância do foco nas cenas digitais.

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.

Essa passagem do espaço 3D para o plano 2D é complexa e depende da configuração de operações


matemáticas e geométricas. Se comparada a uma antiga câmera fotográfica, que utiliza rolo de
filme para obter as fotos, a projeção tem um plano de visualização da câmera virtual. Então, para
“tirar fotos”, é preciso conhecer mais sobre esses “filmes”.

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

> Conceituar câmera virtual.


> Identificar o correto posicionamento da câmera virtual.
> Analisar as aplicações da câmera virtual.

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

Além disso, poderá entender a importância de um correto posicionamento de


câmera para a produção de imagens digitais, por meio de explicações e exemplos
sobre o assunto.

Conhecendo a câmera virtual


A câmera virtual é um modelo utilizado para converter uma cena tridimensional
em uma figura bidimensional, por meio de um tipo de projeção. O trabalho da
câmera virtual é transformar uma cena 3D em uma figura 2D, a fim de que ela
possa ser vista em uma tela de computador ou smartphone, ou até mesmo
em um papel, na forma de impressão (PAULA FILHO, 2011).
É importante que você entenda como funciona o processo de visualização
de uma imagem digital para compreender o conceito de câmera virtual. A
região representada pela imagem digital é chamada de plano quando é em
2D e de espaço se for em 3D. A região do plano (ou espaço) utilizada em uma
aplicação de criação de imagens digitais é chamada de universo. Já esse
universo é representado por um sistema de referência do universo (SRU), com
o uso de coordenadas geométricas. Elas definem uma origem para todos os
objetos do universo em questão (COHEN; MANSSOUR, 2006).
Nessa analogia, é possível imaginar um observador que está posicionado
em determinado local e que vê a cena por meio de lentes de uma câmera
virtual. Da mesma forma que uma câmera real, usada para tirar fotos ou fazer
vídeos, a câmera virtual também precisa ter sua posição definida, para que
a partir dela seja construída a imagem digital da cena. Além da posição da
câmera, é importante definir sua orientação, seu foco, o tipo de projeção
utilizada e a posição dos planos antes e depois da imagem central, os quais
limitam a visibilidade da cena (AZEVEDO; CONCI; VASCONCELOS, 2018).
A posição da câmera e o foco definem onde ela está e para onde está
apontando. O vetor que trata da posição da câmera e do ponto focal é chamado
de direção da projeção. E o plano no qual a cena será projetada é denominado
plano de imagem. O tipo de projeção utilizado na animação controla como
a cena é visualizada no plano de imagem. Entre os tipos estão a projeção
paralela e a projeção perspectiva (AZEVEDO; CONCI; VASCONCELOS, 2018).
A projeção paralela mapeia a cena por raios de projeção paralelos e as-
sume que todos os raios que atingem a câmera virtual são paralelos à direção
da projeção (AZEVEDO; CONCI; VASCONCELOS, 2018). Ou seja, nesse caso, os
projetores são retas paralelas em uma das direções da cena 3D. Esse tipo de
projeção é mais utilizado em desenhos técnicos, pois permite visualizar de
forma mais fiel as dimensões e os ângulos da cena original (PAULA FILHO, 2011).
Câmera virtual 3

Já na projeção perspectiva os raios convergem para um ponto em comum,


chamado de ponto de observação ou centro da projeção (AZEVEDO; CONCI;
VASCONCELOS, 2018). Ou seja, os projetores são retas que se encontram em um
ponto central e único, chamado de centro de projeção. O centro de projeção
é onde está localizada a câmera virtual, ou seja, é a posição da câmera. Esse
tipo de projeção é mais parecido com o funcionamento do olho humano e
das próprias câmeras reais, por isso é utilizado quando o objetivo principal
é obter realismo da cena (PAULA FILHO, 2011).
O SRU é representado por um plano cartesiano com dois eixos (x e y)
se for para o ambiente em 2D e três eixos (x, y e z) em 3D. Esses eixos são
perpendiculares entre eles e se cruzam na origem. Os modelos e comandos
das aplicações de criação de imagens e as cenas digitais são relacionadas a
esse sistema de referência (COHEN; MANSSOUR, 2006).
Na Figura 1, é apresentado um exemplo de câmera virtual em um espaço
3D, no qual estão evidentes os eixos x, y e z que determinam sua posição,
assim como o seu ponto focal, que é representado pelo ponto “D”. Há, ainda,
o vetor que indica a visão superior (vista de cima) da cena em 3D. As setas
curvas “A”, “B” e “C” representam os ângulos de rotação em cada um dos
eixos. Estes são parâmetros disponíveis para o enquadramento da câmera.

Figura 1. Componentes de uma câmera virtual.


Fonte: Azevedo, Conci e Vasconcelos (2018, p. 65).

Para identificar de forma fácil como o eixo z é posicionado no universo 3D


em relação aos eixos x e y, normalmente é utilizada a “regra da mão direita”.
Funciona assim: é preciso posicionar a mão direita de maneira que o indicador
4 Câmera virtual

aponte para a direção positiva de y (para cima), o polegar para a posição


positiva de x (para o lado direito) e o dedo médio para a direção positiva de
z (para frente) (COHEN; MANSSOUR, 2006), conforme ilustrado na Figura 2.

Figura 2. Regra da mão direita para a orientação dos eixos 3D.


Fonte: Cohen e Manssour (2006, p. 78).

O processo necessário para a visualização 3D é mais complexo do que o


2D, pois depende de um número maior de etapas. Isso acontece pois quase
todos os dispositivos de saída são somente em 2D. Por isso, é necessário
definir também como uma cena 3D será visualizada e projetada em uma
imagem 2D (COHEN; MANSSOUR, 2006).
Antes de tudo, a primeira etapa do processo de visualização 3D é definir
a cena, o que se chama de modelagem do projeto. Nesse momento, cada
objeto que fará parte do mundo 3D precisa ser incluído e posicionado no SRU
de acordo com sua escala, rotação e translação. Depois é preciso especificar
o observador virtual, ou seja, de que local a cena ou imagem 3D deve ser
exibida para ele. Pode ser de cima, do lado direito ou do lado esquerdo, por
exemplo (COHEN; MANSSOUR, 2006).
Isso quer dizer que a posição do observador precisa ter uma posição e uma
orientação. Ou seja, onde ele está e para onde ele está olhando dentro do
universo sendo construído. É necessário definir esse observador porque um
Câmera virtual 5

universo 3D pode ser visto de diferentes lugares, e, dependendo da posição


de quem observa, a imagem será diferente.
Como a imagem 3D é gerada a partir de uma posição e de uma orientação
estática do observador por meio de uma câmera virtual, ela é comparada
com uma foto. A “fotografia” é obtida quando a câmera está em determinada
posição em direção ao objeto. A posição da câmera depende dos valores de um
ponto (x, y, z) em relação ao mesmo universo onde os objetos estão (SRU). Sua
orientação é dada por um ponto-alvo e um vetor (COHEN; MANSSOUR, 2006).

Para conhecer mais os planos cartesianos utilizados para representar


um plano em 2D e um espaço em 3D e entender mais sobre a regra da
mão direita, consulte o artigo disponível na página do guia do usuário do AutoCAD.

A projeção da imagem e a posição da câmera em determinada cena de


animação podem ser controladas por meio de código-fonte no sistema a ser
utilizado para sua edição. Cada tecnologia tem funcionalidades diferentes,
que podem ser empregadas de acordo com a necessidade da animação.
Quanto ao foco das imagens, ele também é representado nas cenas di-
gitais da mesma forma que no uso de uma câmera real. Isso quer dizer que
se um objeto ou personagem estiver em uma posição mais distante na cena,
ele pode ser representado com menos detalhes, pois o foco permite que as
imagens mais próximas tenham maior qualidade. Outra característica de uma
animação que possui relação direta com o enquadramento de câmera é a
iluminação. De acordo com a iluminação de determinada cena, a movimen-
tação dos personagens será criada, principalmente no espaço 3D (AZEVEDO;
CONCI; VASCONCELOS, 2018).

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.

Quadro 1. Espaços utilizados nos sistemas de coordenadas de visualização

Tipo Descrição

Espaço da câmera Definido por um sistema de coordenadas associado à


virtual projeção de imagens. Utilizado para definir parâmetros
da câmera virtual: posição, orientação, distância focal,
etc.

Espaço do objeto Associado a cada objeto da cena. Possui um sistema de


coordenadas associado à geometria do objeto.

Espaço de cena É um sistema de coordenadas global. Nele, os objetos


recebem uma posição e uma orientação, uns em relação
aos outros, inclusive a câmera virtual.

Espaço Introduzido para que a operação de recorte dos objetos


normalizado fora do campo de visão da câmera seja feita com
eficiência.

Espaço de Possui um sistema de coordenadas que facilita a


ordenação operação de visibilidade. Essa operação determina,
entre dois objetos presentes na cena, qual deles estará
visível do ponto de vista do centro da projeção da
câmera virtual.

Espaço de imagem Definido por um sistema de coordenadas no plano de


projeção, onde está a tela virtual.

Espaço do Associado à superfície de exibição do dispositivo de


dispositivo (ou de saída gráfica.
tela)

Fonte: Adaptado de Gomes e Velho (2003).


Câmera virtual 7

Como você pode ver, entre os espaços apresentados no Quadro 1, a defi-


nição do posicionamento é feita no espaço da câmera virtual. Nele, é possível
especificar tanto a posição quanto a orientação da câmera em relação ao
espaço de cena.
No que se refere à projeção em perspectiva, o posicionamento da câmera
só é possível quando se indica um centro de projeção, que corresponde ao
seu centro ótico. Por esse motivo, pode ser chamado de posição do olho (eye).
Também é preciso especificar um eixo ótico da câmera, que indica sua direção
de movimento. Ou seja, a forma como ela pode se mover na cena observada
e que terá relação com a projeção da imagem. Já o espaço da imagem se
preocupa em definir uma “janela” retangular pela qual o observador vê a
cena e assim constrói o que será representado na tela virtual. Essa janela é
especificada por meio das coordenadas dos eixos da própria câmera virtual
(GOMES; VELHO, 2003).
Em outras palavras, o posicionamento da câmera virtual se preocupa
em definir valores que correspondem ao centro da cena que se pretende
observar. A partir desse valor de centro, ou “meio” da cena, é possível definir
outros valores como limites para os quais a câmera pode se mover, seja
para cima, para baixo ou para os lados. A definição de todas essas variáveis
depende de planejamento e de cálculos geométricos, representados em
escalas cartográficas.
A projeção em perspectiva acontece por meio de uma operação não linear,
porque precisa da divisão das larguras e alturas pelas profundidades. Como
resultado, os objetos mais distantes em uma cena em 3D serão projetados
em figuras menores na imagem gerada (PAULA FILHO, 2011).
A região do espaço visível criado pela câmera virtual é chamada de volume
de visualização. Na projeção perspectiva, o volume de visualização é o tronco
de uma pirâmide, gerada pelos seguintes elementos: vértice, retângulo de
visualização, plano distante, plano próximo e planos laterais (PAULA FILHO,
2011), conforme pode ser visto na Figura 3.
8 Câmera virtual

Figura 3. Modelo de câmera virtual.


Fonte: Paula Filho (2011, p. 170).

O vértice é o centro da projeção, no qual a câmera virtual está posicionada.


O retângulo de visualização (ou janela, ou espaço da imagem) é formado pela
interseção do plano de visualização com o tronco da pirâmide, no qual está o
alvo da câmera. No caso da Figura 3, o alvo da câmera está focado na imagem
de um menino lendo um livro. O plano distante é o plano da base da pirâmide
formada pela projeção, sendo que todos os pontos que estiverem além desse
plano são objetos cuja projeção será muito pequena (PAULA FILHO, 2011).
Já o plano próximo é o do topo da pirâmide, e todos os pontos da cena
que estiverem antes desse plano são considerados próximos demais e, por
isso, são omitidos para limpar a projeção da imagem. Os planos laterais são
definidos pelo vértice e por cada uma das arestas da janela, o que quer dizer
que, se houver pontos do lado externo desse plano, eles serão mantidos
invisíveis (PAULA FILHO, 2011).
Nos sistemas utilizados para editar gráficos de três dimensões, as técnicas
de projeção e os movimentos das câmeras virtuais são geralmente traduzidos
em operações que podem ser realizadas em câmeras físicas. Por exemplo, o
centro de projeção da câmera virtual é a projeção da câmera real; da mesma
forma, o centro do retângulo de visualização será o campo de visão da câmera.
Assim como o ângulo da pirâmide construído em sua projeção corresponde
ao campo de visão da câmera.
Câmera virtual 9

Conheça mais sobre o uso de câmeras virtuais e seus diferentes


posicionamentos no artigo: “Análise crítica de aspectos e conceitos
cinematográficos aplicados aos trailers de games: um estudo sobre ‘Mad World
– Gears of War’”, de Otávio Correa Silva.

É possível combinar transformações lineares das câmeras virtuais com


variações do volume de visualização das imagens, o que resulta em operações
de câmera. Essas operações permitem obter outros ângulos do objeto de cena,
a fim de parecer que eles foram movimentados. Com a translação ou rotação
da câmera, por exemplo, um objeto que anteriormente era observado de frente
pode ser observado de um de seus lados. Ou, ainda, com a aproximação da
câmera, o objeto se parece maior. Por consequência, com o distanciamento
de câmera, o objeto se apresenta menor (PAULA FILHO, 2011).
Além da preocupação com a localização da câmera virtual, uma boa ilumi-
nação dos objetos representados no SRU garante a criação de boas imagens
digitais. A importância do conhecimento sobre iluminação é visível se você
comparar fotos ou vídeos feitos por profissionais da área. Eles sabem como
aproveitar os melhores ângulos de luz e incluir luz artificial nos momentos
corretos, para melhorar os resultados dos seus trabalhos.
Em geral, sistemas de manipulação de imagens gráficas têm um modelo
padrão de iluminação, que pode ser chamado de modo de trabalho. Basica-
mente, são duas lâmpadas posicionadas na cena, uma com a luz principal
e outra com uma iluminação específica para preenchimento. A iluminação
padrão em questão não chega a atingir um realismo satisfatório, por esse
motivo geralmente é necessário incluir outras fontes de luz que estiverem
disponíveis na ferramenta. Essa nova inclusão possibilita escolher a posição
e o tipo das lâmpadas (AZEVEDO; CONCI; VASCONCELOS, 2018).
Ao criar um projeto com cena em 3D personalizado, o primeiro passo em
relação à iluminação da cena é retirar a iluminação padrão, para que se possa
inserir a iluminação que será a principal, conforme o caso. Em geral, o sol em
ambientes externos ou a luz no centro de um cômodo em ambientes fechados.
Essa iluminação principal será a responsável pela criação das sombras na
animação, um efeito muito importante quando a intenção é criar realismo.
Na Figura 4, é apresentada uma esfera iluminada em uma cena apenas pela
luz principal.
10 Câmera virtual

Figura 4. Iluminação principal sobre um objeto esférico.


Fonte: Azevedo, Conci e Vasconcelos (2018, p. 314).

Veja que a luz principal da cena representada na Figura 4 está em uma


posição de 15 a 45 graus em relação à câmera virtual. Essa posição possibilita
uma boa visão do objeto, porém seu resultado é uma imagem plana, com
sombras muito marcadas. A cena pode parecer escura demais, pois a luz
ambiente será insuficiente para iluminar as áreas de sombra nesses ângulos.
Em razão disso, em complemento utilizam-se outras fontes de luz, como a luz
de preenchimento. Ela suaviza e aumenta a iluminação principal, tornando
o objeto ou personagem mais visível e aumentando a sua profundidade e a
sensação de realidade (AZEVEDO; CONCI; VASCONCELOS, 2018).

Identificando aplicações da câmera virtual


A escolha do tipo ou especificação de câmera virtual a ser utilizada em cada
caso depende da interface de usuário e das dimensões da tela virtual dis-
poníveis, o que envolve parâmetros que precisam ser definidos em relação a
posição, orientação e distância focal da câmera virtual. Costuma-se dividir os
métodos de especificação de câmera em duas categorias principais: especifi-
cação direta e especificação inversa. Na especificação direta, os parâmetros
de câmera são declarados previamente, antes de a aplicação ser acessada
pelo usuário. Já na especificação inversa, é o usuário quem determina esses
parâmetros de posição, orientação e foco da câmera (GOMES; VELHO, 2003).
Um método de especificação simples e efetivo para determinar os parâ-
metros da câmera é baseado nas seguintes perguntas: (1) Onde estou? (2)
Para onde estou olhando? (3) Qual é a inclinação da câmera? Esse método é
chamado de roll + look at (rolar e olhar). Nesse caso, é definido um ponto de
onde o observador está olhando a cena, que é chamado de ponto de projeção
(representado pela variável O). Se o observador estiver olhando diretamente
Câmera virtual 11

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).

Conheça mais sobre o uso e a aplicação do sistema gráfico OpenGL no


vídeo: “O que é OpenGL?” disponível no canal do YouTube Professor
Rafael Ivo.

Na API OpenGL, a especificação da câmera é obtida a partir do centro de


projeção, do ponto de observação (look at point) e do vetor de inclinação (up
vector). No modelo de câmera do OpenGL, a distância focal é especificada
pelo ângulo de visão (field of view), que é medido de acordo com a altura da
tela virtual na qual a imagem deve ser apresentada (GOMES; VELHO, 2003).
Veja, a seguir, um exemplo de função utilizada para especificar a posição
e a orientação da câmera virtual em OpenGL, proposta por Azevedo, Conci
e Vasconcelos (2018):

Especificar a posição e a orientação da câmera:


12 Câmera virtual

Void gluvoid gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble


eyez, GLdouble centerx, GLdouble centery, GLdouble centerz,
GLdouble upx, GLdouble upy, GLdouble upz );.

No exemplo, os parâmetros eyex, eyey e eyez são usados para definir as


coordenadas x, y e z, respectivamente, da posição da câmera (ou observador).
E centerx, centery e centerz são usados para definir as coordenadas x, y
e z do alvo, ou seja, o ponto para onde o observador está olhando. Já upx, upy
e upz são as coordenadas de x, y e z que estabelecem o vetor up, que indica
o “lado para cima” de uma cena 3D (AZEVEDO; CONCI; VASCONCELOS, 2018).
Outro exemplo de código-fonte para aplicar projeções e visualizações de
câmera virtual é apresentado por Google Developers (2020), na linguagem
de desenvolvimento Java aplicada ao OpenGL ES:

Definir uma visualização de câmera:

Perceba que os comentários presentes no código iniciam com duas barras


no início das frases. A partir deles é possível compreender a função de cada
uma das linhas de código.
O exemplo acima utiliza o método Matrix.setLookAtM() para calcular
uma transformação da visualização de câmera. Para isso, são definidos va-
lores para os pontos de visão do objeto de uma cena 3D, pela câmera virtual.
Depois, esses valores são combinados com uma matriz de projeção definida
anteriormente. Em seguida, as matrizes de transformação combinadas são
apresentadas por meio de um desenho do objeto sendo observado, que no
caso se trata de um triângulo (GOOGLE DEVELOPERS, 2020).
Isso quer dizer que os cálculos e a transformação entre as duas matrizes
fazem com que a posição da câmera mude. Imagine que a posição inicial,
Câmera virtual 13

aquela definida anteriormente, tem o valor 1. Para que a posição da câ-


mera referente a esse ângulo mude, é preciso alterar esse valor, somando,
diminuindo ou multiplicando 1 por 2, por exemplo. Como uma imagem tem
muitos ângulos, geralmente ela é representada por uma matriz, na qual se
armazenam os valores de cada um deles.

Saiba mais sobre o conceito e as aplicações da linguagem de pro-


gramação Java, no vídeo: “O que é Java e para que serve?” do canal
IlustraDev, no YouTube.

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.

Aplicar as transformações e a projeção de câmera:


14 Câmera virtual

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.

Os links para sites da web fornecidos neste capítulo foram todos


testados, e seu funcionamento foi comprovado no momento da
publicação do material. No entanto, a rede é extremamente dinâmica; suas
páginas estão constantemente mudando de local e conteúdo. Assim, os editores
declaram não ter qualquer responsabilidade sobre qualidade, precisão ou
integralidade das informações referidas em tais links.
Dica do professor
A câmera virtual é utilizada para captar o movimento de cenas ou de animações digitais por meio
de uma projeção. Existem muitas ferramentas que disponibilizam funcionalidades compatíveis aos
princípios da câmera digital. Uma das mais conhecidas é a OpenGL, da qual você já deve ter ouvido
falar.

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.

Nesse contexto, assinale a alternativa correta.

A) A região que representa a imagem digital em 2D é chamada espaço.

B) A região que representa a imagem digital em 3D é chamada plano.

C) A região do plano ou espaço empregada em uma aplicação de criação de imagens é chamada


mundo.

D) A região do plano ou espaço empregada em uma aplicação de criação de imagens é chamada


universo.

E) O sistema de referência do universo (SRU) utiliza coordenadas geométricas para definir a


origem dos objetos no mundo da imagem digital criada.

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.

Nesse sentido, analise as afirmativas a seguir.

I. A orientação e o foco são fatores dispensáveis para a visualização de uma cena.

II. O foco é um dos fatores que define para onde a câmera virtual está apontada.

III. O plano de imagem controla como a cena da animação digital é visualizada.

IV. O tipo de projeção empregado controla como a cena é visualizada no plano de imagem.

Está correto o que se afirma em:

A) I, II e III.

B) II, III e IV.

C) I e III.
D) II e IV.

E) I e IV.

3) As técnicas de projeção utilizadas para observar uma cena em 3D definem o formato e a


maneira como a conversão para 2D será realizada. Por esse motivo, a projeção paralela e a
projeção perspectiva têm diferentes áreas de aplicação, de acordo com o resultado
esperado.

Relacione os tipos de projeções com suas respectivas descrições e características.

I. Projeção paralela

II. Projeção perspectiva

( ) Os raios de projeção convergem para o ponto de observação.

( ) É mais utilizada em desenhos técnicos.

( ) Os projetores são retas que se encontram em um ponto central e único.

( ) Permite visualizar de maneira mais fiel as dimensões e os ângulos da cena.

( ) É mais parecida com o funcionamento do olho humano.

Assinale a alternativa que indica a ordem correta.

A) I, II, I, II, I.

B) I, II, II, I, II.

C) II, I, II, I, II.

D) II, II, II, I, I.

E) II, I, II, II, II.

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.

Analise as afirmativas a seguir.


I. Na área de síntese são definidos os parâmetros internos e externos da aplicação que
utilizará a câmera virtual.

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.

Está correto o que se afirma em:

A) I, II e III.

B) I, III e IV.

C) II e III.

D) II, III e IV.

E) II e IV.

5) A geração de imagens com o uso de câmera virtual depende de transformações de


visualização. As transformações objetivam mapear as superfícies dos objetos que estão na
cena em 3D para que sejam representados no meio de exibição escolhido pelo usuário. Para
isso são utilizados sistemas associados a diferentes tipos de espaço.

Relacione os tipos de espaço utilizados nas transformações de visualização e suas


respectivas descrições ou características.

I. Espaço de cena

II. Espaço normalizado

III. Espaço de ordenação

IV. Espaço de tela

V. Espaço de imagem

( ) Definido por um sistema de coordenadas no plano de projeção.

( ) 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.

( ) Os objetos recebem uma posição e uma orientação em relação aos outros.

( ) Tem um sistema de coordenadas que facilita a operação de visibilidade de objetos.

Assinale a alternativa que indica a ordem correta.

A) I, V, II, IV, III.

B) V, II, IV, I, III.

C) II, III, I, V, IV.

D) III, IV, V, I, II.

E) IV, II, V, III, I.


Na prática
A câmera virtual no mundo digital é comparada à maneira como se observa o mundo real por meio
de câmeras fotográficas. Por esse motivo, antes de iniciar sua utilização, é importante definir o
objetivo que a imagem digital a ser criada precisa cumprir. Seja na representação de personagens
em jogos digitais ou de produtos para serem comercializados, o modelo de câmera virtual tem
parâmetros e especificações para um bom resultado.

Acompanhe, Na Prática, o caso de uma loja de embalagens que emprega as funcionalidades da


câmera virtual para produção de materiais gráficos.
Aponte a câmera para o
código e acesse o link do
conteúdo ou clique no
código para acessar.
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:

Notas sobre parametrização de câmeras virtuais em jogos


digitais: uma análise de Gran Turismo 6 (PS3) e The Last of Us
Remastered (PS4)
Qual é a relação das câmeras virtuais com os jogos digitais? Neste artigo, você vai conhecer um
pouco mais os conceitos de câmeras virtuais e uma análise sobre a utilização 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.

O tour virtual como ferramenta na sensibilização ao patrimônio


edificado
Como o uso de câmeras virtuais pode contribuir para a preservação do patrimônio histórico e
cultural? Neste artigo, você vai conhecer uma experiência de criação de um tour virtual para
valorizar o patrimônio histórico e cultural de edificações.

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.

Você também pode gostar