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

Thiago Gonçalves

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

James Webb descobre poeira que desafia nossa ideia sobre início do Universo

Poeira envolve a galáxia elíptica NGC 1316 nesta imagem feita pelo telescópio espacial Hubble - NASA/ ESA/ The Hubble Heritage Team (STScI/AURA)
Poeira envolve a galáxia elíptica NGC 1316 nesta imagem feita pelo telescópio espacial Hubble Imagem: NASA/ ESA/ The Hubble Heritage Team (STScI/AURA)

23/02/2023 04h00

O Telescópio Espacial James Webb continua fascinando e surpreendendo. Em trabalho recente anunciado por uma grande equipe internacional, cientistas anunciaram a possível detecção de grãos de poeira em uma galáxia distante. Se confirmada, a descoberta é a mais longínqua do tipo já observada, e desafia nosso entendimento atual de como esses grãos devem se formar.

A luz da galáxia JADES-GS-z6-0 levou quase 13 bilhões de anos para chegar até nós, o que significa que o universo tinha apenas 800 milhões de anos quando a luz foi emitida. A surpresa da descoberta seria justamente o pouco tempo de formação da poeira observada.

Para inferir a presença da poeira, a equipe liderada por Joris Witstok, da Universidade de Cambridge, utilizou a chamada técnica de espectroscopia para dividir a luz recebida da galáxia em diversas cores. Os dados mostraram que parecia faltar luz em uma determinada cor ultravioleta.

As observações são possíveis apenas graças ao poder observacional do telescópio espacial James Webb. Ao atravessar o universo, a luz ultravioleta emitida é transformada em radiação infravermelha, à qual esse telescópio é muito sensível.

A deficiência vista é um sinal claro da presença de poeira em galáxias próximas. Esses grãos, formados tipicamente por átomos de carbono, absorvem preferencialmente essa cor, deixando uma clara nas observações.

O mistério está na origem do carbono.

Nossos modelos preveem que ele é formado preferencialmente no interior estrelas que levam mais de 1 bilhão de anos para morrer, soltando os elementos na sua vizinhança. No entanto, se o universo tinha apenas 800 milhões de anos nessa época, não deveria haver tempo suficiente para que o carbono seja formado.

Outro problema é entender como a poeira poderia ter sobrevivido nesses ambientes. Mesmo se houver outro caminho para a formação dos grãos, também sabemos que as galáxias no começo do universo eram lugares hostis, com uma enorme produção de radiação por suas estrelas jovens.

Os modelos preveem que essa radiação rapidamente destruiria os grãos de poeira ali, mas as novas observações parecem colocar essa ideia em cheque.

É interessante notar que o James Webb não apenas nos permite ver mais longe, mas também está desafiando o que achávamos que sabíamos sobre o nascimento das primeiras estrelas e galáxias do universo.

Fico imaginando como será refletir sobre esses primeiros resultados do observatório daqui a 20 ou 30 anos, e pensar como estávamos tão enganados.