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

"Asteroide" que se aproxima da Terra pode ser resto de foguete de 1966

Foguete Centaur, lançado em 1966 pela Nasa rumo à Lua - Reprodução/Nasa
Foguete Centaur, lançado em 1966 pela Nasa rumo à Lua Imagem: Reprodução/Nasa

Felipe Oliveira

Colaboração para Tilt

14/10/2020 11h28

Um asteroide descoberto recentemente em rota de aproximação à Terra pode na verdade ser o resto de um foguete lançado em direção à Lua há 54 anos. Especialistas da Nasa, agência espacial norte-americana, acreditam que o objeto fazia parte da missão, que falhou na época.

Em entrevista à agência de notícias AP, Paulo Chodas, diretor do Centro de Estudos da Nasa para Objetos Próximos da Terra, afirmou que o asteroide 2020 SO, como é conhecido, pode ser a parte superior do foguete Centaur, que em 1966 lançou o módulo da Nasa Surveyor 2 em direção à Lua.

Mas ao chegar no satélite, o módulo acabou se chocando porque um de seus propulsores não acendeu. Já o foguete teria ado pela Lua e entrado em órbita ao redor do Sol, tornando-se lixo espacial.

De acordo com a AP, os cientistas nunca mais tinham avistado o Centaur —provavelmente até o mês ado, quando um satélite no Havaí descobriu um objeto misterioso vindo em nossa direção. A suspeita de Chodas se dá devido a alguns fatores, como o tamanho estimado do objeto observado, que teria menos de dez metros (o foguete possuía oito metros).

Além disso, o que chamou atenção foi a órbita circular em torno do Sol, bastante semelhante à da Terra, algo muito incomum para um asteroide. Outro sinal de alerta é que o objeto também está no mesmo plano de nosso planeta, não inclinando acima ou abaixo— os asteroides normalmente surgem em ângulos irregulares.

Por fim, o objeto estaria se aproximando da Terra a uma velocidade de 2.400 km/h, uma velocidade considerada baixa para um asteroide. Quando o objeto se aproximar mais, os astrônomos poderão mapear melhor sua órbita e determinar o quanto ele é empurrado pela radiação e efeitos térmicos da luz solar.

Caso seja de fato o velho Centaur, essencialmente uma lata leve e vazia, ele se moverá de maneira diferente de uma rocha espacial, normalmente pesada e menos suscetível a forças externas.

De acordo com a AP, é assim que os cientistas normalmente diferenciam asteroides de lixo espacial, como partes de foguetes abandonadas. As dificuldades para essa diferenciação está no fato de ambos aparecerem apenas como pontos em movimento no céu.

"Eu posso estar errado nisso. Não quero parecer muito confiante. Mas é a primeira vez, na minha opinião, que todas as peças se encaixam em um lançamento conhecido de verdade", afirmou Chodas à Associated Press.