;(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

Equipe cria 'tinta mais branca do mundo' para reduzir aquecimento global

Tinta ultrabranca tem capacidade de refletir até 97,9% da luz solar - Reprodução/Purdue University/John Underwood
Tinta ultrabranca tem capacidade de refletir até 97,9% da luz solar Imagem: Reprodução/Purdue University/John Underwood

Colaboração para Tilt

18/10/2022 20h14

Uma tinta leve e ultrabranca, que pode refletir até 97,9% da energia solar é a grande novidade pensada pela indústria para ajudar a resfriar o exterior de aviões, carros, trens e até naves espaciais. À medida que o planeta aquece devido às mudanças climáticas, a tinta pode ser uma maneira inovadora de manter os espaços e as pessoas protegidos do calor intenso.

Ao mesmo tempo, essa tecnologia pode ajudar a reduzir nossa dependência de condicionadores de ar, que consomem muita energia, emitem calor e contribuem para o aquecimento global.

A tinta, na verdade, é uma melhoria em uma fórmula anterior, que era muito espessa para ser aplicada a qualquer coisa. Agora, os pesquisadores dizem que a refinaram com uma fórmula segura para revestir veículos. Em artigo publicado na segunda-feira (17), na revista Cell Reports Physical Science, a equipe de cientistas compartilhou os detalhes do novo produto.

"Esse peso leve abre as portas para todos os tipos de aplicações", explica George Chiu, engenheiro mecânico da Purdue University, em comunicado.

Para comparação, as tintas disponíveis comercialmente no mercado hoje só podem refletir de 80 a 90 porcento da luz solar, o que significa que absorvem muito mais luz e calor. A tinta ultrabranca, por sua vez, resfria as superfícies emitindo mais calor do que retém — e não usa eletricidade.

"Os aparelhos de ar condicionado podem resfriar sua casa, mas transferem o calor de dentro para fora — o calor ainda está na cidade, ainda está na Terra", disse Xiulin Ruan, engenheiro mecânico que ajudou a desenvolver a pintura, para a revista Smithsonian.

"Nossa tinta não usa energia, mas, mais importante, envia o calor para o espaço. O calor não fica na Terra, então isso realmente ajuda a Terra a esfriar e pode parar a tendência de aquecimento."

O novo produto usa nitreto de boro hexagonal, uma substância frequentemente usada em lubrificantes, para dar uma tonalidade branca ofuscante. A substância dispersa a luz do sol para refletir até 97,9% dos raios solares.

A adoção generalizada deve, em teoria, torná-lo uma ferramenta ainda mais viável para combater as mudanças climáticas a longo prazo, dizem os pesquisadores. "A tinta tem os benefícios de economizar nas contas de eletricidade e, ao mesmo tempo, contribuir para salvar a Terra", disse Xiangyu Li, engenheiro mecânico da Universidade Knoxville, do Tennessee.