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

Companheiro para o James Webb: telescópio Euclid é lançado com sucesso

Marcella Duarte

De Tilt, em São Paulo (SP)

01/07/2023 12h24Atualizada em 04/07/2023 08h41

O telescópio Euclid, da ESA (Agência Espacial Europeia), foi lançado com sucesso na manhã de hoje (1). Ele decolou rumo ao espaço em um foguete Falcon 9, da SpaceX, da base do Cabo Canaveral, na Flórida (EUA).

Agora, segue em uma viagem de 1,5 milhão de quilômetros, que deve durar um mês, até o Ponto de Lagrange 2 (L2), onde fica o poderoso James Webb.

O Euclid é um verdadeiro caçador de energia escura e matéria escura, um dos grandes enigmas da ciência, que acreditamos compor 95% do universo. Ele também vai buscar buracos negros.

Sua principal missão é responder à pergunta: do que o universo é feito?

A Nasa transmitiu todo o processo de lançamento ao vivo, com comentários:

Cerca de oito minutos após a decolagem, o primeiro estágio do Falcon 9 pousou na balsa A Short Fall of Gravitas, no Oceano Atlântico, para ser reutilizado.

O custo do projeto gira em torno de 1 bilhão de euros (R$ 8,6 bilhões, na conversão direta e sem impostos). Mais de 2 mil cientistas europeus, de 16 países, estão envolvidos.

O Euclid

O telescópio foi batizado em homenagem a Euclides de Alexandria, grego criador da geometria.

Ele tem 1,2 m de diâmetro, 4,7 metros de altura e 3,5 de comprimento e é equipado com dois instrumentos científicos, com poderes infravermelhos:

Uma câmera óptica (Vis), desenvolvida pela Universidade College London. Será responsável por gerar as imagens do cosmo.

Espectrômetro e fotômetro de infravermelho próximo (Nisp).

Concepção artística do telescópio Euclid, da ESA (Agência Espacial Europeia) - ESA/ATG medialab - ESA/ATG medialab
Concepção artística do telescópio Euclid, da ESA (Agência Espacial Europeia)
Imagem: ESA/ATG medialab

Mistérios da expansão

O novo telescópio vai criar o maior e mais preciso mapa 3D do universo, com pelo menos 1,5 bilhão de galáxias muito distantes. Ele deve cobrir mais de um terço da abóbada celeste, o que é inédito.

A partir dessas informações, os cientistas querem desvendar os mistérios da expansão do universo, que está acelerando e não sabemos por quê.

A resposta pode estar em seus componentes invisíveis:

Matéria escura. Funcionaria como a "cola" dentro das galáxias, para mantê-las juntas. Tem ligação com partículas que não emitem, refletem ou absorvem luz — por isso o seu nome. Astrônomos acreditam que ela existe a partir da atração gravitacional que ela exerce sobre as galáxias.

Energia escura. Teria ação direta na expansão acelerada do Universo a partir de uma força antigravitacional.

Como a matéria escura não pode ser vista a olho nu, o Euclid usará a técnica de lente gravitacional, que usa a distorção gerada pelas próprias galáxias. Seu trabalho deve durar pelo menos até 2029.