Sem resumo de edição
Sem resumo de edição
Linha 150: Linha 150:


https://www.autodesk.com.br
https://www.autodesk.com.br
http://www.ufrgs.br/engcart/PDASR/softwares.html

Edição das 23h34min de 19 de outubro de 2017

                                    

A computação gráfica e uma das áreas do mundo da computação de extrema importância, ela reúne um conjunto de técnicas nas quais permitem a geração de imagens a partir de modelos computacionais sendo eles de objetos reais e imaginários, ou seja exteriorizar ao usuário o resultado de todas as demais conjuntos da computação ( interface gráfica para Software, sistema operacionais, sites de internet, animações para jogos, recriação do mundo real).

Imagem: Pintura bidimensional, podendo ser um desenho ou uma fotografia, que passam pelo processo de digitalização e tornam se visíveis no sistema.

Pixel: Contido em imagens digitais, o pixel é a menor parte de uma imagem, geralmente são representados em forma de quadrados ou círculos.

Gráfico: Podem ser bidimensionais ou tridimensionais, geralmente apresentados em um superfície com o intuito de mostrar uma cena.


Renderização: Processo de gerar uma imagem em um mundo tridimensional.

Projeção 3D: são gráficos que usam representações tridimensionais de dados geométricos (geralmente cartesianos) que são armazenados em um computador com o propósito de realizar cálculos e renderizar imagens 2D.


Ray Tracing: Método usado para gerar uma imagem tracejando o caminho da luz através de um plano de imagem.

Sombreamento: Técnica de calcular o nível de escuridão em modelos 3D.

Mapeamento de textura: se ocupa do estudo da simulaçãode materiais e texturas sobre planos.

Softwares

Descrever os softwares usados para esta finalidade. Detalhar, se existir, linguagens, banco de dados e frameworks. 


Código

<syntaxhighlight lang="python3"> Arquivo = "lista_contatos.txt" # Nome do arquivo

def ler_arquivo(): # Função que le o arquivo de texto

   try:                         # Tratamento de erro
       arq = open(Arquivo,"r+") # Abre o arquivo para leitura
       print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
       arq.close()              # Fecha o arquivo
   except IOError:              # Tratamento de erro
       print('\nArquivo não encontrado!')

def escrever_linhas(texto): # Função que le e escreve no arquivo

   try:                           # Tratamento de erro
       arq = open(Arquivo,"a+")   # Abre o arquivo para gravação no final do arquivo
       arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
       arq.close()                # Fecha o arquivo
       print('\nLinha gravada com sucesso')
   except IOError:                # Tratamento de erro
       print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro

def pesquisar_contato(nome):

   try:
       arq = open(Arquivo, "r+")
       dicionario = {'nome':, 'telefone':, 'email':}
       achei = False
       # lógica ler arquivo e comparar nome
       for cont, s in enumerate(arq.readlines()):
           
           dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
           if dicionario['nome'] == nome:
               print(cont)
               print('Nome: %s'% dicionario['nome'])
               print('Telefone: %s'% dicionario['telefone'])
               print('Email: %s'% dicionario['email'])
               achei = True
               
       if not achei:
           print('Não existe %s' % (nome))


       # se achou imprime, se não mostra uma mensagem de nao encontrado
       arq.close
       
   except IOError:
       print('\nContato não encontrado')


def excluir_contatos():

   try:
       arq =open('lista_contatos.txt','r+')
       valores = arq.readlines()
       l = []
       splited =[]
       nome = input('Entre com um nome:')
       for x in valores:
           splited=x.split(' - ')
           if splited[0]==nome:
              pass
           else:
               l.append(splited)
       
       arq.close()
       novo_cadastro(l)
   except:
       print('erro')

def novo_cadastro(l):

   arq = open(Arquivo,'w')
   for x in l:
        #print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
        arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
   arq.close()

while(True):

   print('\n        Opcões:')
   print(' ')
   print('1 - Cadastrar contato')
   print('2 - Listar dados')
   print('3 - Pesquisar contato')
   print('4 - Excluir contato')
   print('9 - Sair')
   print(' ')
   Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado
   if Op == 1:                                     # Se a opcao for 1
       nome = input('\nDigite o nome do contato:')      # Entrada do nome pelo teclado
       fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
       email = input('Digite o email:')            # Entrada do telefone pelo teclado
       contato = (nome+' - '+fone+' - '+email)     # Recebe o nome + o telefone
       escrever_linhas(str(contato))               # Chama a função que grava em arquivo
   elif Op == 2:                                   # Se a opcao for 2
       ler_arquivo()                               # Chama a função que le o arquivo
   elif Op == 9:                                   # Se a opcao for 0
       break                                       # Quebra o laço infinito
   elif Op == 3:
       nome = input("Digite o nome: ")
       pesquisar_contato(nome)
   elif Op == 4:
       #nome = input ("Digite o nome: ")
       excluir_contatos()

</syntaxhighlight>

Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.


Diagrama de Casos de Uso

Desenhar ou plotar  os requisitos funcionais de uma aplicação.


Interações com as tecnologias

Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.


Informações adicionais

Descrever detalhes a mais sobre esse tema.


Referências bibliográficas

https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_gr%C3%A1fica

http://br.ccm.net/faq/16841-softwares-gratuitos-para-criacao-de-jogos-de-computador-e-consoles

https://www.autodesk.com.br

http://www.ufrgs.br/engcart/PDASR/softwares.html