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

Veja o foguete que vai se chocar com a Lua em último 'rolê' pela Terra

Lucas Carvalho

De Tilt, em São Paulo

07/02/2022 14h56Atualizada em 14/02/2022 09h42

Posteriormente descobriu-se que em vez de restos de um foguete Falcon 9, da SpaceX, o que colidirá com a Lua serão restos de uma missão chinesa. Abaixo, o texto na íntegra:

Um foguete da empresa norte-americana SpaceX, comandada pelo bilionário Elon Musk, está em rota de colisão com a Lua. O alerta foi dado por astrônomos, que preveem que uma das partes do modelo Falcon 9 vai cair no satélite natural da Terra em 4 de março.

No entanto, você pode acompanhar pela internet a trajetória do foguete descontrolado a caminho da Lua. A equipe colaborativa do Virtual Telescope Project (Projeto Telescópio Virtual) vai transmitir ao vivo a viagem do Falcon 9 nesta semana.

Serão duas transmissões ao vivo, realizadas entre hoje (7) e amanhã (8). Ambas começam às 15h (horário de Brasília). Segundo os realizadores do projeto, estes são os últimos momentos em que será possível observar o foguete vagando pelo espaço antes do impacto com o lado distante da Lua.

Para assistir, basta ar o site do Virtual Telescope ou o canal do projeto no YouTube, às 15h desta segunda ou de terça. Mas não espere uma transmissão muito clara: condições meteorológicas, como nuvens ou chuvas, podem atrapalhar a observação.

É bom lembrar também que, a essa altura, o Falcon 9 já se encontra a mais de 1 milhão de km de distância da Terra. Portanto, ele provavelmente se parecerá com um risco, como se fosse uma estrela cadente, durante a observação.

Que foguete é esse?

O Falcon 9 em questão foi lançado em 2015 para colocar na órbita da Terra um satélite do Observatório Climático do Espaço Profundo dos EUA (DSCOVR, sigla em inglês).

Mas como acontece com outros pedaços de lixo espacial, um estágio do foguete largado pelo caminho ficou rodopiando ao redor da Terra por todos esses anos. Agora, o objeto está se distanciando o bastante do planeta e vai acabar caindo na Lua em março.

Desde a descoberta, perguntas sobre a legalidade de despejar um pedaço de lixo espacial na Lua e se a empresa do homem mais rico do mundo pode ser responsabilizada e multada por isso começaram a circular nas redes sociais. Entenda a treta aqui.