;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Geometria molecular - Distribuição espacial dos átomos em uma molécula

Carlos Roberto de Lana

Para entender o conceito básico da geometria molecular, podemos partir de uma analogia bastante simples, com algumas observações do mundo macroscópico. Sempre que tentamos agrupar aleatoriamente objetos materiais sólidos de determinado formato, notamos que há uma relação direta entre o formato do objeto e o formato final do agrupamento.

Assim, quando jogamos esferas em uma caixa, por exemplo, elas tendem a deslizar umas sobre as outras e assumir uma configuração final organizada, adequada ao formato da caixa.

Se na mesma caixa jogarmos palitos de fósforo, teremos no final um empilhamento caótico, possivelmente uma pirâmide deformada, sem contornos definidos. Com as moléculas acontece coisa semelhante, só que acrescida de um fator que falta às esferas e fósforos do exemplo.

Elétrons e zonas de repulsão

Quando dois ou mais átomos se unem para formar uma molécula, suas eletrosferas entram em contato e o formato de seus orbitais (esféricos ou elípticos) influenciará o formato final da ligação. Só que, neste caso, o formato não é o único fator de influência, já que, ao contrário de nossas esferas e fósforos, as eletrosferas são compostas de elétrons, partículas eletricamente carregadas.

Como os elétrons têm carga negativa, se repelem entre si. Esta repulsão eletrostática influencia de modo definitivo a geometria molecular, ou seja, o formato do agrupamento de átomos que constitui a molécula. Este fator de influência das cargas elétricas negativas dos elétrons na disposição geométrica da molécula é chamado de zonas de repulsão.

Uma zona de repulsão se cria em torno de uma ligação molecular, ou seja, nas vizinhanças dos elétrons compartilhados pelos átomos que formam a molécula.

O efeito das zonas de repulsão tende a formar três disposições geométricas básicas em um molécula apolar (aquela na qual os elétrons não se concentram em pólos): a linear, a triangular plana e a tetraédrica, conforme as três figuras a seguir:

  • Disposição geométrica linear. Os átomos se posicionam em linha.

  • Disposição geométrica triangular plana. Os átomos formam um triângulo eqüilátero.

 

  • Disposição geométrica tetraédrica. Formato de tetraedro (pirâmide triangular).

Para se determinar a disposição geométrica de uma molécula, basta seguir duas regras simples:

1) Escrever a fórmula estrutural;

2) Identificar o número de ligações atômicas, que é o mesmo número de zonas de repulsão;

Se a molécula tiver até duas zonas de repulsão, a geometria será linear. Se tiver três, será triangular plana e se tiver quatro será tetraédrica.

Vejamos alguns exemplos:

1) Molécula de Dióxido de Carbono (CO2)

Fórmula estrutural:

 

Note que o átomo de carbono estabelece duas duplas ligações, uma dupla ligação com cada átomo de oxigênio. A molécula de CO2 também pode ser representada conforme abaixo:

Se a molécula possui duas duplas ligações, possui também duas zonas de repulsão, que tendem a se afastar uma da outra, fazendo com que a molécula assuma a disposição geométrica linear, conforme a seguinte figura:

  • Representação esquemática da molécula de dióxido de carbono, que apresenta geometria linear.

2) Molécula de Trifluoreto de Boro (BF3)

Fórmula estrutural:

Como vemos, o átomo de boro forma três ligações simples, uma com cada átomo de flúor. Assim temos três zonas de repulsão e a geometria molecular é triangular plana, conforme a figura:

  • Representação esquemática da geometria triangular plana do Trifluoreto de Boro (BF3)

3): Molécula de Metano (CH4)

Fórmula estrutural:

O carbono estabelece quatro ligações simples, uma com cada átomo de hidrogênio, logo temos quatro zonas de repulsão e a geometria molecular é tetraédrica, conforme figura abaixo:

  • Representação esquemática da molécula de Metano, de geometria tetraédrica.

A geometria é uma ferramenta preciosa para entendermos o universo. Ela nos ajuda tanto a descrever a grandeza cósmica das órbitas planetárias quanto nos auxilia na visão do inimaginavelmente pequeno das formas das moléculas.

Um excelente lembrete de que as disciplinas do conhecimento podem ser separadas para melhor istração de currículos escolares, mas que todas devem ser integradas na construção individual do conhecimento.