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

Fim da novela: lixo espacial descontrolado de 3 toneladas atinge a Lua

Lua é vista durante eclipse parcial em Xangai - Aly Song/Reuters
Lua é vista durante eclipse parcial em Xangai Imagem: Aly Song/Reuters

Guilherme Tagiaroli

De Tilt*, em São Paulo

04/03/2022 15h07

Um pedaço de propulsor de foguete, que pesa três toneladas, finalmente atingiu a Lua nesta sexta-feira (4) por volta das 9h25 (horário de Brasília). O impacto marca a primeira colisão lunar não intencional envolvendo restos de uma espaçonave. Antes disso, apenas sondas de missões que pousaram em solo lunar.

Desde fevereiro especula-se que poderiam ser restos de um foguete da SpaceX. Posteriormente, especialistas aram a considerar que os detritos eram parte de uma missão chinesa, que nega a autoria. Até o momento, ninguém sabe quem é o dono do material que atingiu a Lua.

Segundo especialistas, o lixo espacial foi parar no lado oculto da Lua (região do satélite que não conseguimos ver da Terra por conta da rotação sincronizada com nosso planeta), impossibilitando que telescópios terrestres conseguissem observar o impacto. Estima-se que o pedaço de foguete atingiu uma área próxima à cratera Hertzsrpung, que tem 570 km de diâmetro.

Imagem mostra possível local de impacto de lixo espacial no lado oculto da Lua - Nasa/LROC/ASU/Scott Sutherland via Space.com - Nasa/LROC/ASU/Scott Sutherland via Space.com
Imagem mostra possível local de impacto de lixo espacial no lado oculto da Lua
Imagem: Nasa/LROC/ASU/Scott Sutherland via Space.com

Devemos apenas ter detalhes sobre o impacto nas próximas semanas. Segundo o site Space.com, o LRO (Orbitador de Reconhecimento Lunar), uma espaçonave da Nasa que fica na órbita da Lua, provavelmente não estava em posição para captar informações sobre o local.

Outra possibilidade é a sonda indiana Chandrayaan-2, que também orbita nosso satélite, tirar fotos do local para, assim, sabermos sobre o impacto e, talvez, a origem desses detritos.

Quem é o dono?

Num primeiro momento, o astrônomo Bill Gray achou que eram restos de um foguete Falcon 9, da SpaceX, disparado em 2015 para levar ao espaço satélites do governo dos Estados Unidos.

Após alguns dias, Gray refez cálculos e emitiu uma errata no site Project Pluto, projeto que desenvolve focado em observações espaciais de elementos ao redor da Terra. Ele concluiu que o lixo espacial pertencia a um foguete chinês lançado em 2014 como parte da missão Chang'e 5-T1.

O governo chinês, por sua vez, negou que o lixo espacial era parte de uma missão conduzida pelo país. Um porta-voz disse que o equipamento espacial já teria caído na atmosfera da Terra e entrado em combustão.

Na última terça-feira (1º), o Comando Espacial dos Estados Unidos, que detecta lixo espacial informou que o detrito pode ser de origem chinesa. Segundo a organização, o "estágio superior" - uma das partes do lançador espacial - do foguete chinês, lançado em 2014, nunca saiu de órbita. No entanto, eles não afirmam categoricamente a origem do equipamento ou país responsável pelos destroços.

*Com informações de colaboração de Bárbara Mannara e Space.com