• Nenhum resultado encontrado

Comando de Operações Booleanas

No documento Introdução ao MicroStation Ambiente 3D (páginas 30-37)

Capítulo 11: Primitivos e Operações Booleanas

3. Comando de Operações Booleanas

Uma vez definidos os primitivos que compõem o modelo que está sendo criado, as relações de interferência entre estes sólidos devem ser obtidas por meio de operadores booleanos.

A álgebra criada por George Boole (1815–1864) foi adotada para definir as relações entre objetos sólidos descritos matematicamente. Esta matemática utiliza apenas dois símbolos, que no caso da CSG podem ser considerados como uma região que pertence a um sólido ( ) ou uma região que não pertence a um sólido ( ). Sob o ponto de vista computacional estes símbolos são representados por variáveis lógicas (tipo Boolean), assumindo os valores True ou False.

Além dos símbolos apresentados existem três conectores, que são comparáveis a funções definidas dentro desta álgebra. Estas funções possuem um ou dois argumentos. As tabelas verdade abaixo representam os valores das variáveis A e B, que podem ser considerados como elementos de volume pertencentes a sólidos primitivos, bem como o valor de cada função para o escopo das variáveis.

Operador OU Operador E Operador NÃO A B A or B A B A and B A not A

Assim como na matemática convencional existe uma precedência na aplicação dos operadores (multiplicação e divisão são realizadas antes da soma e subtração), na álgebra booleana os operadores devem ser aplicados na seguinte ordem: not, and e or.

A uso direto ou combinação destes operadores foram encapsulados no MicroStation sob a forma dos comandos Construct Union, Construct Intersection e Construct Difference e podem ser acessados pelo menu 3D Modify:

Construct Union

Determina a união entre dois ou mais elementos sólidos. Construct

Intersection

Determina a intersecção entre dois ou mais elementos sólidos. Construct

Difference Determina a diferença entre um elemento sólido e um conjunto de um ou mais elementos sólidos.

Construct Union

O comando Construct Union permite ao usuário gerar um novo elemento sólido composto pela sobreposição de dois ou mais elementos.

Utilizando a álgebra de Boole, percebeHse que a união

( )

U é equivalente ao operador or: A B A UB

O significado do resultado da tabela verdade indica que se um determinado elemento de volume existir em pelo menos um dos dois sólidos (A ou B), este deverá pertencer ao sólido resultante.

Selecionado o ícone do comando, o usuário deverá clicar com o botão Aceita sobre todos os elementos sólidos que irão compor o resultado final, um a um.

Como esta operação é comutativa

(

AUB≡BUA

)

, a ordem da seleção dos elementos não importa para que o resultado final seja o mesmo.

Ao final da seleção do último elemento, deveHse clicar com o botão Aceita sobre um ponto qualquer da área de desenho para confirmar a operação.

Um clique sobre o botão Rejeita encerra o escopo do comando.

Existe uma segunda maneira de aplicar a união entre diversos sólidos. Utilizando o comando Element Selection, apresentado no “Capítulo 5: Modificando Elementos”, deveHse criar uma janela ou selecionar elementos diversos com o auxilio da tecla CTRL.

Uma vez que os elementos estejam selecionados, um clique sobre o ícone do comando Construct Union e outro sobre qualquer aresta ou curva de um dos elementos selecionados aplica a operação booleana sobre o conjunto.

Construct Intersection

O comando Construct Intersection permite ao usuário criar um novo elemento sólido composto pela intersecção de dois ou mais elementos.

Pela matemática desenvolvida por Boole, a operação de intersecção

( )

I pode ser comparada à operação lógica and:

A B A IB

Analisando a tabela verdade, percebeHse que um elemento de volume resultante em uma determinada região existe desde que, inicialmente, existissem mutuamente elementos dos dois sólidos naquela mesma região.

Selecionado o ícone do comando, o usuário deverá clicar com o botão Aceita sobre todos os elementos sólidos que irão compor o resultado final, um a um.

Como intersecção é uma operação comutativa

(

AIB≡BIA

)

, a alteração na ordem de seleção dos elementos não altera o resultado final.

Após selecionar todos os elementos, deveHse clicar com o botão Aceita sobre um ponto qualquer da área de desenho para confirmar a operação.

Um clique sobre o botão Rejeita encerra o escopo do comando.

Um outro método para executar o comando consiste em selecionar todos os elementos utilizando o comando Element Selection.

Uma vez que os elementos estejam selecionados, um clique sobre o comando Construct Intersection ativa o comando e o usuário deve clicar com o botão Aceita sobre qualquer aresta ou curva que componha um dos elementos que sofrerão a operação de intersecção.

Construct Difference

O comando Construct Difference permite ao usuário criar um novo elemento sólido composto pela diferença entre um elemento e um conjunto de um ou mais elementos.

A – B B – A

Analisando a existência ou não de uma região pertencente aos sólidos para cada caso, podemHse construir as tabelas verdade da operação diferença, uma vez que nenhum dos operadores booleanos descreve os processos apresentados pela figura acima.

A B A −B

A B B −A

As tabelas verdade indicam que a solução da diferença entre dois elementos resulta na região que inicialmente estava contida somente no primeiro sólido que aparece na equação, desta forma a diferença pode ser descrita pela seguinte expressão:

1o operando – 2o operando =

(

1ooperando

)

I not

(

2ooperando

)

Selecionado o ícone do comando, o usuário deverá clicar com o botão Aceita sobre o elemento sólido que representa o primeiro operando da equação. Este elemento sólido representa a estrutura principal do elemento que será gerado como resposta final.

Uma vez definido o primeiro operando, o usuário deve clicar sobre o botão Aceita em todos os elementos que serão retirados do primeiro.

Ao final da seleção do último elemento, deveHse clicar com o botão Aceita sobre um ponto qualquer da área de desenho para confirmar a operação. Para encerrar o comando deveHse clicar sobre o botão Rejeita.

Existe uma segunda maneira de aplicar a diferença entre elementos diversos. O usuário deve clicar sobre o ícone do comando Element Selection e, criando uma janela ou com o auxílio da tecla CTRL, deve selecionar todos os elementos que serão retirados do sólido principal.

Seguindo a modelagem do exemplo, a criação da janela é ineficiente, uma vez que o sólido principal (paralelepípedo maior) estaria totalmente dentro da janela de seleção. A seleção de elementos diversos será realizada pressionando a tecla CTRL, enquanto o botão Aceita é clicado sobre os elementos desejados.

Uma vez que os elementos do segundo operando estejam selecionados, um clique sobre o ícone do comando Construct Difference e outro sobre qualquer aresta ou curva do sólido que não foi selecionado (1o operando) irá realizar a operação sobre o conjunto.

No documento Introdução ao MicroStation Ambiente 3D (páginas 30-37)

Documentos relacionados