Modelação Geométrica e Visualização de Edifícios 2007/2008

Documentos relacionados
Programação e Computação para Arquitectura 2007/2008

AutoLISP Programas Exemplo. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP Programas Exemplo

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Introdução à Programação com AutoLisp. António Menezes Leitão

Inteligência Artificial Alameda e Taguspark

Inteligência Artificial Alameda e Taguspark

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

Inteligência Artificial Taguspark

AutoLISP - II Cálculos, Variáveis e Listas. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

AutoLISP -II Cálculos, Variáveis e Listas

AutoLISP -VII Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

Funções Geométricas, de Strings, de Listas e de Manipulação de Arquivos

Curso de AutoCAD 2D. Instrutor : Mauro Pio Dos Santos Junior Monitor : Thainá Souza

Inteligência Artificial

Função condicional - if. AutoLISP - III Funções de repetição e condicionais, Obter e converter informação

Curso de AutoCAD Fundação Gorceix 30/05/2017. Curso de AutoCAD 2D. Instrutor : Mauro Pio Dos Santos Junior Monitor : Brenda Mara Marques

Introdução à Programação com AutoLisp. António Menezes Leitão

Prof: Heni Mirna Cruz Santos

Prova final de MATEMÁTICA - 3o ciclo Época especial

Ano: 2º ano Ensino Médio Data: / /2017 Disciplina: Matemática Professor: Sergio Monachesi ROTEIRO DE ESTUDO REGULAÇÃO CONTEÚDO DO 2º BIMESTRE

AutoLISP - III Funções de repetição e condicionais, Obter e converter informação. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

PROCURA E PLANEAMENTO

EXAME NACIONAL DO ENSINO SECUNDÁRIO MATEMÁTICA A PROVA MODELO N.º 3 12.º ANO DE ESCOLARIDADE

REVISÃO DOS CONTEÚDOS

Nome do aluno: N.º: Para responder aos itens de escolha múltipla, não apresente cálculos nem justificações e escreva, na folha de respostas:

Programação Funcional. Programação Funcional LISP. Paradigma de programação baseado em Funções Matemáticas

Exemplo: ; ver exemplo de aplicação abaixo com mapcar. ; retorna uma lista formada pelos elementos indicados. ; retorna o número de elementos na lista

IMPLEMENTAÇÃO D0 DESENHO AUTOMÁTICO DE CILINDROS DE DUPLO EFEITO AUTOLISP CONCEPÇÃO E FABRICO ASSISTIDOS POR COMPUTADOR ANO LECTIVO

CICLO TRIGONOMÉTRICO

CFAC: Introdução ao AutoCAD - I. Capitulo I: Iniciação ao AutoCAD

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

P R O P O S T A D E R E S O L U Ç Ã O D O E X A M E T I P O 1

UNIVERSIDADE FEDERAL DE OURO PRETO - DEMAT 3 a Lista de Exercícios

Figura 9.1: Corpo que pode ser simplificado pelo estado plano de tensões (a), estado de tensões no interior do corpo (b).

Escola Secundária com 3º ciclo D. Dinis 11º Ano de Matemática A Tema I Geometria no Plano e no Espaço II. 2º Teste de avaliação.

PET-FÍSICA TRIGONOMETRIA NATÁLIA ALVES MACHADO TATIANA DE MIRANDA SOUZA FREDERICO ALAN DE OLIVEIRA CRUZ

1. Com o auxílio de régua graduada e transferidor, calcular sen 42, cos 42 e tg 42. Resolução Traçamos uma perpendicular a um dos lados desse ângulo:

Introdução ao AutoCAD Capitulo V: Construções geométricas. João Manuel R. S. Tavares Joaquim O. Fonseca

AutoLISP -V Manipulação de entidades

T E S T E D E A V A L I A Ç Ã O GRUPO I VERSÃO 1

Preliminares de Cálculo

MATEMÁTICA A - 12o Ano N o s Complexos - Conjuntos e condições Propostas de resolução

EBS DA GRACIOSA - ENSINO SECUNDÁRIO 11.º ANO

COLÉGIO SHALOM Ensino Fundamental 8 Ano Prof.º: Wesley Disciplina Geometria Aluno (a):. No.

Exemplo Aplicando a proporcionalidade existente no Teorema de Tales, determine o valor dos segmentos AB e BC na ilustração a seguir:

Comandos básicos do AutoCAD

Observação: Todos os cálculos e desenvolvimentos deverão acompanhar a Lista. MF R: 3 MF R: 3 MF R: 5 F R:? M R:? M R:? D R:? D R:? MF R:? F R:?

NOTAÇÕES. R : conjunto dos números reais C : conjunto dos números complexos

AutoLISP -I Introdução

Provas de Acesso ao Ensino Superior Para Maiores de 23 anos PROVA MODELO DE MATEMÁTICA

CFAC: AutoLISP (I) - Introdução

AutoLISP - I Introdução. João Manuel R. S. Tavares Joaquim Oliveira Fonseca

MATEMÁTICA A - 12o Ano N o s Complexos - Conjuntos e condições Propostas de resolução

Geometria Analítica. Geometria Analítica 28/08/2012

AutoLISP - VI Conjuntos de seleção

Novo Espaço Matemática A 11.º ano Proposta de Teste Intermédio [janeiro 2015]

Proposta de correcção

TRABALHO DE RECUPERAÇÃO 3º TRIMESTRE 2012

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 4

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

Prova final de MATEMÁTICA - 3o ciclo a Chamada

TÉCNICAS DE CAD PARA ENGENHARIA CIVIL AULA 12

Planificação Anual Matemática 9º Ano Ano lectivo 2014/2015

MATEMÁTICA A - 12o Ano N o s Complexos - Operações e simplificação de expressões

PROVA 135/8 Págs. EXAME NACIONAL DO ENSINO SECUNDÁRIO

DESENHO TÉCNICO II EXERCÍCIOS

PROPOSTA DE RESOLUÇÃO DA PROVA DE MATEMÁTICA A DO ENSINO SECUNDÁRIO (CÓDIGO DA PROVA 635) 2ª FASE 20 DE JULHO 2018 CADERNO 1

Nome do aluno: N.º: Para responder aos itens de escolha múltipla, não apresente cálculos nem justificações e escreva, na folha de respostas:

Transcrição:

Instituto Superior Técnico Modelação Geométrica e Visualização de Edifícios 2007/2008 Segundo Teste/Primeiro Exame 3/07/2008 Nome: Número: Escreva o seu número em todas as folhas da prova. O tamanho das respostas deve ser limitado ao espaço fornecido para cada pergunta. Pode usar os versos das folhas para rascunho. A prova tem 7 páginas e a duração é de 60/120 minutos. A cotação de cada questão encontra-se indicada entre parêntesis. Boa sorte. Se tenciona fazer o Segundo Teste, comece a responder a partir da pergunta 8, inclusive. Em todos os exercícios, considere como pré-definidas as funções +, *, -, /, xy, +xy, pol, +pol, xyz, +xyz, cil, +cil, cx, cy, cz, sqrt, max, min, random e random-[]. 1. (1.0) Calcule o valor das seguintes expressões Auto Lisp: (a) (- 1) -1 (b) (- 1 1) 0 (c) (- 1 1 1) -1 (d) (/ 1 1) 1 (e) (/ 1 2) 0 (f) (/ (* 3 2) 2) 3 (g) (* (/ 3 2) 2) 2 (h) (/ (/ (/ 8 2) 2) 2) 1 (i) (/ 8 (/ 2 (/ 2 2))) 4 (j) (+ (/ 1 2) (/ 1 2)) 0 2. (1.0) Do conjunto das funções trigonométricas inversas, o Auto Lisp apenas providencia o arco tangente (atan). Defina também a função arco-cosseno (acos), cuja definição matemática é: 1 x 2 acos x = atan x (defun acos (x) (atan (sqrt (- 1 (* x x))) x))

Número: 2 3. (3.0) Considere o seguinte triângulo com lados de comprimento a, b e c: b c P α a (a) (1.0) Sendo s o semi-perímetro do triângulo: s = a + b + c 2 a área A do triângulo apresentado pode ser calculada pela fórmula de Heron: A = s (s a) (s b) (s c) Defina uma função Auto Lisp que calcule essa área a partir dos comprimentos a, b e c. Tenha o cuidado de evitar cálculos repetidos. (defun area-triangulo (a b c / s) (setq s (/ (+ a b c) 2)) (sqrt (* s (- s a) (- s b) (- s c)))) (b) (1.0) O ângulo α (em radianos) que o lado de comprimento b faz com o lado de comprimento a pode ser determinado a partir da fórmula α = acos a2 + b 2 c 2 2ab Defina a função angulo-a-b que, recebendo os comprimentos a, b e c, devolve o ângulo α. Note que acos é a função arco-cosseno que definiu na pergunta 2. (defun angulo-a-b (a b c) (acos (/ (+ (* a a) (* b b) (- (* c c))) (* 2 a b)))) (c) (1.0) Tendo em conta que o lado do triângulo de comprimento a é horizontal, defina uma função Auto Lisp que, dado um ponto P e os comprimentos a, b e c, constrói o triângulo em AutoCad. (defun constroi-triangulo (p a b c / alfa p1 p2) (setq alfa (angulo-a-b a b c) p1 (+pol p b alfa) p2 (+xy p a 0)) (command "_.line" p p1 p2 "_close"))

Número: 3 4. (2.0) Considere a seguinte escada: Defina uma função denominada escada cujos parâmetros são o ponto P do canto inferior direito (para quem sobe a escada), o comprimento do cobertor c, a largura do degrau l, a altura do espelho e e o número de cobertores n e que constrói a escada através da utilização de paralelipípedos de altura progressivamente crescente. Para a criação de um paralelipípedo pode utilizar o comando AutoCad box que recebe dois pontos, o primeiro representando o canto inferior direito e o segundo o canto oposto. (defun escadas-blocos (p c l e h n) (if (= n 0) nil (progn (command "_.box" p (+xyz p c l h)) (escadas-blocos (+xyz p c 0 0) c l e (+ h e) (- n 1))))) (defun escadas (p c l e n) (escadas-blocos p c l e e n)) (escadas (xyz 0 0 0) 0.25 2.00 0.16 10) 5. (1.0) O que é um valor lógico? Quais são os valores lógicos empregues em Auto Lisp? Um valor lógico é um valor que é interpretado como verdade ou falso. Auto Lisp interpreta como falso o valor nil e como verdade tudo o resto. 6. (1.0) O que é um operador lógico? Quais são os operadores lógicos que conhece em Auto Lisp? Um operador lógico é um operador que combina valores lógicos. As funções and, or e not são exemplos de operadores lógicos.

Número: 4 7. (1.0) Traduza para Lisp as seguintes expressões matemáticas: (a) x y (<= x y) (b) x < y y < z (< x y z) (c) x y z (<= x y z) (d) x < y z (and (< x y) (<= y z)) (e) x < y x < z (and (< x y) (< x z)) 8. (2.0) (O Segundo Teste começa aqui!) Utilizando o operador foreach, defina a função denominada rectangulo-envolvente que, dada uma lista de coordenadas bi-dimensionais, devolve uma lista com as coordenadas dos cantos inferior esquerdo e superior direito do menor rectângulo capaz de incluir todas as coordenadas dadas. Por exemplo, _$ (rectangulo-envolvente (list (xy 0 0) (xy 3 4) (xy -1 0) (xy 2-3))) ((-1-3) (3 4)) (defun rectangulo-envolvente (coords / c min-x min-y max-x max-y) (setq c (car coords) min-x (cx c) min-y (cy c) max-x (cx c) max-y (cy c)) (foreach c (cdr coords) (setq min-x (min min-x (cx c)) min-y (min min-y (cy c)) max-x (max max-x (cx c)) max-y (max max-y (cy c)))) (list (xy min-x min-y) (xy max-x max-y))) 9. (1.0) Defina a função limita-ordenada que, dada uma ordenada máxima e uma lista de coordenadas bi-dimensionais, devolve uma lista com o mesmo número de elementos mas em que todas as coordenadas cuja ordenada seja superior ao valor máximo dado passam a ter esse valor máximo. Por exemplo: _$ (limita-ordenada 2 (list (xy 0 2) (xy 3 4) (xy -1 1) (xy 2-3))) ((0 2) (3 2) (-1 1) (2-3)) (defun limita-ordenada (max-y coords) (if (null coords) (list) (cons (xy (cx (car coords)) (min (cy (car coords)) max-y)) (limita-ordenada max-y (cdr coords)))))

Número: 5 10. (3.0) Considere a urbanização representada na figura seguinte: Cada edifício está modelado como um paralelipípedo com uma base de 20 20m 2 e uma altura de 40m. As avenidas estão modeladas com paralelipípedos de 0.5m de espessura e 10m de largura. A avenida maior tem 500m de comprimento até ao primeiro cruzamento e cada um dos restantes troços que se juntam num cruzamento tem metade do comprimento do troço maior. Para se modelar a urbanização, considerou-se um algoritmo controlado por um determinado número n de invocações recursivas pretendidas. O algoritmo começa por desenhar a avenida maior e, se já fez recursão suficiente, deverá colocar um prédio na extremidade da avenida; caso contrário, deverá invocar-se recursivamente para cada uma das restantes três direcções. A seguinte imagem mostra a execução do algoritmo para n = 2, n = 3 e n = 4. Defina uma função Auto Lisp urbe que implementa o algoritmo anterior. Assuma a existência da função (paralelipipedo P 0 l e P 1 ) que constroi a seguinte entidade: P 0 l e P 1

Número: 6 (defun urbe (p a c n / p1) (setq p1 (+pol p c a)) (paralelipipedo p 10 0.5 p1) (if (= n 0) (paralelipipedo (+cil p1 10 a 0) 20 20 (+cil p1 10 a 40)) (progn (urbe p1 (- a pi/2) (/ c 2.0) (- n 1)) (urbe p1 a (/ c 2.0) (- n 1)) (urbe p1 (+ a pi/2) (/ c 2.0) (- n 1))))) (urbe (xyz 0 0 0) 0 500.0 4) 11. (1.0) Considere a seguinte interacção com o AutoCad para a criação de um tronco de cone onde apresentamos a negrito os dados fornecidos pelo utilizador: Command: cone Specify center point of base or [3P/2P/Ttr/Elliptical]: 1,1,1 Specify base radius or [Diameter] <5.0000>: 3 Specify height or [2Point/Axis endpoint/top radius] <10.0000>: Top Specify top radius <0.0000>: 2 Specify height or [2Point/Axis endpoint] <10.0000>: 4 Tendo em conta a interacção anterior, defina uma função Auto Lisp denominada tronco-cone cujos parâmetros são o ponto P do centro da base do sólido, a altura h do sólido e os raios r b e r t da base e do topo do sólido e que cria o tronco de cone correspondente em AutoCad. (defun tronco-cone (p h rb rt) (command "_.cone" p rb "_Top" rt h)) 12. (2.0) Considere as colunas doidas que se apresentam em seguida:

Número: 7 Cada coluna caracteriza-se por ter a sua base centrada num ponto P e ser formada por n blocos em forma de tronco de cone, todos da mesma altura h mas cujos raios variam aleatoriamente, com excepção do raio da base do bloco inferior r b, que é dado. Para evitar problemas estruturais, o raio do topo de um bloco está compreendido entre 50% e 150% do raio da base desse bloco. Note que o raio do topo de um bloco coincide com o raio da base do bloco que lhe está por cima. Utilizando a função tronco-cone apresentada na pergunta anterior, defina a função coluna-doida que constroi uma coluna doida. (defun coluna-aleatoria (p n h rb r0 / r1) (if (= n 0) nil (progn (setq r1 (* (random-[] 0.5 1.5) rb)) (tronco-cone p h r0 r1) (coluna-aleatoria (+xyz p 0 0 h) (- n 1) h rb r1)))) (defun coluna (p n h r) (coluna-aleatoria p n h r r)) (coluna (xy 0 0) 8 0.5 0.3) 13. (1.0) Defina um comando AutoCad que permite ao utilizador de AutoCad criar uma coluna doida simplesmente escrevendo coluna-doida na prompt do AutoCad. Naturalmente, o seu comando deverá pedir ao utilizador toda a informação que for necessária. (defun c:coluna-doida (/ p n h r) (setq p (getpoint "\ncentro da base") n (getint "\nnumero de blocos") h (getreal "\naltura de cada bloco") r (getreal "\nraio da base")) (coluna-doida p n h r))