















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Um guia passo-a-passo para a manipulação de objetos 3d usando metapost no gpac (grafo perspectivo e animação de computador) da escola politécnica de são paulo. Ele inclui funções para criar, escalar, traduzir, rotacionar, definir e exibir objetos 3d, além de manipular eesixos e eixos de translação. O documento também inclui exemplos de código metapost para criar objetos como cônicos, cilindros, prismas, pirâmides e esferas.
O que você vai aprender
Tipologia: Notas de aula
1 / 23
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Affine
Função: escala um objeto Forma de Chamada: affine
Esta função escalará o objeto/grupo de nome nome em relação ao ponto X Y Z. Este comando requisitará em seguida a matriz de transformação 3x3 (cada linha requisitará 3 elementos). Esta transformação não pode ser aplicada para grupos.
**## Transformacao afim: shap12.cad
camera -g cam 100 50 40 0 0 10 3 1 3 0 1 # definicao da camera cylinder c1 20 5 20 copy c1 c affine c2 0 0 10 1 0 0 0 1 0 0 1 1 clear -a display cam c1 c**
Axis
Função: realiza manipulações com eixos Forma de Chamada: axis -ademrs <parâmetros>
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Todos os grupos, objetos e eixos associados ao eixo de nome nome sofrerão esta transformação.
**## robo articulado: armrobot.cad
clear -a camera -g cam 80 40 30 0 0 15 3 1 3 0 0
group -G left cube lf 1 3 5 move lf 0 -1.5 0 group -c \
group -G right cube rf 1 3 5 move rf -1 -1.5 0 group -c \
group -G hand group -p hand left**
**group -p hand right cube d 12 3 1 move d -6 -1.5 - axis -s ml -5 0 0 axis -a ml left axis -s mr 5 0 0 axis -a mr right axis -m ml - axis -m mr - move hand 0 0 1
group -c
group -G gc group -p gc hand cube c 4 4 20 move c -2 -2 0 move hand 0 0 20 axis -r m3 0 0 20 0 0 1 axis -a m3 hand
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Camera
Função: criação e edição de câmeras Forma de Chamada: camera -defghmrs <parâmetros>
Ao se definir uma câmera é necessário que todos os parâmetros sejam fornecidos. Caso a câmera já exista, a câmera será redefinida com os parâmetros fornecidos.
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
**## exemplos de camera: camera.cad
camera -g cam0 100 50 40 0 0 0 4 1 0 0 0
camera -g caml1 100 50 40 0 0 0 4 1 1 1 1 # linhas hash., exibe planos camera -g caml2 100 50 40 0 0 0 4 1 1 1 0 # linhas hash., nao exibe planos camera -g caml3 100 50 40 0 0 0 4 1 1 0 1 # nao linhas hash., exibe planos camera -g caml4 100 50 40 0 0 0 4 1 1 0 0 # nao linhas hash., nao exibe planos
camera -g camh1 100 50 40 0 0 0 4 1 2 1 1 # linhas hash., exibe planos camera -g camh2 100 50 40 0 0 0 4 1 2 1 0 # linhas hash., nao exibe planos camera -g camh3 100 50 40 0 0 0 4 1 2 0 1 # nao linhas hash., exibe planos camera -g camh4 100 50 40 0 0 0 4 1 2 0 0 # nao linhas hash., nao exibe planos
camera -g cami1 100 50 40 0 0 0 4 1 3 1 1 # linhas hash., exibe planos camera -g cami2 100 50 40 0 0 0 4 1 3 1 0 # linhas hash., nao exibe planos camera -g cami3 100 50 40 0 0 0 4 1 3 0 1 # nao linhas hash., exibe planos camera -g cami4 100 50 40 0 0 0 4 1 3 0 0 # nao linhas hash., nao exibe planos**
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
A janela de visualização será exibida com a cor definida por cor. Não pode ser utilizado o valor – para esta função.
Cone
Função: definir um cone sólido Forma de Chamada: cone
Esta função define um cone de nome nome pela aproximação de sua base por um polígono de n lados. O cone possui raio R e altura H. O centro da base do cone é posicionado na origem dos eixos XYZ , e o cone é criado na direção positiva do eixo Z. O valor de n deve ser maior que 2, o valor de R deve ser positivo e H deve ser positivo.
# Cone e cilindro: shape1.cad camera -g cam1 100 50 40 0 0 10 5 1 2 0 1 # definicao da camera cone a 20 10 20 # criacao do cone cylinder b 20 4 20 # criacao do cilindro rotate b 0 0 0 1 0 0 90 # rotacao do cilindro move b 0 10 10 # translacao do cilindro clear -a # apaga a area grafica disp cam1 * # exibe os elementos
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Copy
Função: copia um objeto ou grupo Forma de Chamada: copy
Esta função copia o objeto/grupo de nome nomeO em um novo objeto/grupo de nome nomeC. O novo objeto/grupo são definidos como filho do grupo corrente. Caso algum elemento de nome nomeC já esteja definido o sistema enviará uma mensagem de erro. Caso esteja-se copiando um grupo, além do grupo especificado por nomeO ; serão copiados todos os objetos que forem filhos deste grupo. Estes objetos que forem copiados, possuirão os mesmos nomes que os objetos originais.
Cube
Função: definir um cubo sólido Forma de Chamada: cube
Esta função define um cubo de nome nome cujo comprimento dos lados são dados por A , B e C. O cubo é criado no semi-espaço positivo definido pelo eixos XYZ. Um dos vértices do cubo está sobre a origem dos eixos, o cubo possui o comprimento A sobre o eixo X , comprimento B sobre o eixo Y e comprimento C sobre o eixo Z. As dimensões A , B e C devem ser não negativas. Até duas dimensões podem ser nulas simultaneamente.
# cubos camera -g cam1 100 30 40 0 0 0 4 1 3 0 0 cube a 10 10 10 clear -a display cam1 a wait 10 cube b 20 20 1 clear -a display cam1 b wait 10 cube c 5 10 15 clear -a display cam1 c
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Exibe o plano x=
**## coordemo clear -a camera -g cam1 100 50 40 0 0 0 5 1 1 1 1 camera -g cam2 100 50 40 0 0 0 5 1 3 1 0 camera -g cam3 100 50 40 0 0 0 5 1 3 0 0 camera -g cam4 100 50 40 0 0 0 5 3 3 0 1 monitor cam monitor off
clear -g print Criaremos um cubo com todos os lados iguais a 10.\n dispcoor -m z=0 30 5 6 3 dispcoor -a 30 6 cube a 10 10 10 disp cam1 a wait 2
move a -10 -10 - clear -a dispcoor -a 30 3 disp cam1 a wait 2
copy a b move b 12 0 0 disp cam1 b copy a c move c 0 12 0 disp cam1 c copy a d move d 0 0 12 disp cam1 d wait 2 ##**
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
**## exibe os elementos com processamento completo
clear -g dispcoor -m z=0 30 5 6 3 disp cam3 a b c d wait 2
move a 6 6 6 clear -g dispcoor -m z=0 30 5 6 3 disp cam3 a b c d # projecao axonometrica wait 2 clear -g disp cam4 a b c d # tres vistas wait 2
rotate a 0 0 0 1 1 1 30 clear -g dispcoor -m z=0 30 5 6 3 disp cam3 a b c d # projecao axonometrica wait 2 clear -g disp cam4 a b c d # tres vistas**
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Display
Função: exibir na tela um conjunto de objetos por uma câmera Forma de Chamada: display
A câmera deve ser definida pelo seu nome, caso a câmera não exista este comando não terá nenhum efeito. O parâmetro
Este comando exibirá os elementos definidos sobre a tela atual. Caso seja necessário apagar a tela atual, faça uso do comando Clear.
End
Função: termina o sistema Forma de Chamada: end
Este comando termina o sistema.
File
Função: processamento batch Forma de Chamada: file
Este comando executará em modo batch o arquivo de nome nome. Caso a terminação do arquivo não seja especificada, será assumida a terminação *.CAD. O arquivo deve estar no formato ASCII, e deve ser criado por meio de um editor de textos. Caso o arquivo referencie o comando END , o processamento será interrompido e o sistema retornará ao estado de entrada de dados pelo teclado. O arquivo pode referenciar outro arquivo pelo comando FILE. Neste caso o processamento do arquivo inicial será encerrado e o processamento do arquivo referenciado será iniciado. Ao se iniciar o sistema, o processamento do arquivo AUTODEMO.CAD , caso exista, será automaticamente iniciado.
Group
Função: operações sobre grupos Forma de Chamada: group -cdegGmp
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Esta função permite realizar operações sobre grupos. Os grupos estão estruturados em forma de árvore, aonde possuímos o grupo pai e o grupo filho. Possuímos dois conceitos importantes: grupo raiz e grupo corrente. O grupo raiz é o pai de todos os grupos e o grupo corrente define o grupo pai dos objetos que estão sendo definidos neste momento.
Help
Função: função de auxílio Forma de Chamada: help
Todos os possíveis comandos serão listados na tela.
Intesect
Função: determinar a intersecção entre dois sólidos
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Esta função recupera um sólido que está salvo no arquivo de nome nome2 , o sólido recuperado é associado ao nome nome.
Minus
Função: determinar a diferença entre dois sólidos Forma de Chamada: minus
Esta função determina o sólido resultado da diferença entre os sólidos de nome nome1 e nome2. O resultado é associado ao sólido de nome nome.
Monitor
Função: define uma câmera monitora Forma de Chamada: monitor
Esta função define uma câmera monitora, que permitirá verificar a criação e edição dos objetos. Pode ser definida apenas uma câmera monitora por vez. Caso a câmera monitora esteja presente o resultado do acionamento das seguintes funções será exibido na tela:
Cube Cylinder Cone Prism Pyramid Sphere Torus Revolve Input Move Rotate Affine Axis
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
OBS: É necessário que uma câmera monitora esteja definida para ativar a função DISPCOOR. A função DISPCOOR deverá funcionar mesmo que a câmera monitora esteja desligada.
Move
Função: translaciona um objeto/grupo Forma de Chamada: move
Esta função deslocará o objeto/grupo de nome nome relativamente pelo valor definido pelo vetor X Y Z. Ao realizar a translação de um grupo, todas as entidades associadas a este grupo e aos seus descendentes sofrerão a mesma translação: eixos, grupos filhos e objetos filhos.
Ncopy
Função: copia um objeto em vários outros objetos Forma de Chamada: ncopy -ls
Esta função copia um objeto transformando-o para outra posição.
New
Função: reinicia o sistema Forma de Chamada: new
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
sua posição sobre o plano XY. O valor de n deve ser maior que 2, o valor de R deve ser positivo e H deve ser positivo.
Rename
Função: modifica o nome de uma entidade Forma de Chamada: rename
Esta função permite alterar o nome de várias entidades: câmeras, grupos, eixos e objetos. A entidade de nome Vnome possuirá o seu nome alterado para Nnome.
Revolve
Função: definir um sólido de revolução Forma de Chamada: revolve
Esta função define um sólido de revolução de nome nome cuja revolução será aproximada por um polígono de n lados. A superfície a ser revolucionada é definida por polígono de N lados posicionado sobre o plano RZ (coordenadas cilíndricas). O centro do eixo de revolução é o eixo Z. Para definir o polígono que deve ser revolucionado o usuário deve fornecer um par de valores de coordenadas por linha e em sentido horário. O valor das coordenadas de cada vértice definirá a sua posição sobre o plano RZ. Existem dois modo de revolução:
O valor de n deve ser maior que 2 e o valor de N também deve ser maior que 2.
Rotate
Função: rotaciona um objeto/grupo Forma de Chamada: rotate
Esta função rotacionará o objeto/grupo de nome nome em torno do eixo definido pelo ponto Xe Ye Ze e pelo vetor Xv Yv Zv, de um ângulo definido por ang. Ao realizar a rotação de um grupo, todas as entidades associadas a este grupo e aos seus descendentes sofrerão a mesma rotação: eixos, grupos filhos e objetos filhos. Ao se realizar a rotação assume-se que o eixo está direcionado pelo sentido do vetor, e rotaciona-se de um ângulo ang no sentido horário.
Avenida Professor Mello Moraes, nº2231 CEP05508-900 São Paulo SP
Save
Função: salva um sólido em arquivo Forma de Chamada: save
Esta função salva um sólido de nome nome1 no arquivo de nome nome.
Show
Função: exibe informações sobre o modelo Forma de Chamada: show -acdefgov