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

Espiral azul misteriosa aparece no céu do Havaí; o que pode ser? Veja vídeo

Marcella Duarte

De Tilt, em São Paulo

30/01/2023 19h20

Uma curiosa espiral de luz azul voadora, com aspecto de galáxia, foi vista no céu no Havaí, no último dia 18. Ela brilhou e girou por alguns minutos — e desapareceu na escuridão, misteriosamente como surgiu.

O fenômeno foi registrado por uma câmera do telescópio japonês Subaru — um dos 13 grandes observatórios, de diversos países, que ficam no topo do vulcão Mauna Kea, de 4.200 metros de altura.

A equipe explica que, no início, era apenas um ponto no espaço; depois, virou uma imagem que lembrava um arco. E foi aumentando até se transformar em uma espiral.

Veja um vídeo acelerado (time lapse):

O que pode ser?

  • Astrônomos acreditam que a espiral esteja relacionada a um foguete da SpaceX
  • Combustível congelado, ejetado durante o lançamento, pode causar este efeito
  • Foguete Falcon 9 foi lançado da Flórida, no dia 18, carregando um satélite de GPS para a Força Aérea dos Estados Unidos
  • Não foi a primeira vez que uma forma de galáxia foi associada a um Falcon 9
  • Fenômeno já está sendo apelidado de "espirais da SpaceX" por especialistas

Por que acontece?

O primeiro estágio do foguete, que gera o maior impulso para decolagem, se separou cerca de três minutos após o lançamento (e foi recuperado por uma balsa autônoma da empresa). O segundo estágio, então, usou seu pequeno motor para se mover até o local onde soltaria o satélite.

Depois de deixar sua carga, qualquer combustível remanescente é ejetado, para que o segundo estágio volte à Terra com mais segurança. Este processo, provavelmente, fez com que ele girasse por alguns minutos até cair sobre o Oceano Pacífico (ele queima e se desintegra ao ar pela atmosfera em alta velocidade).

O resultado é uma nuvem, em forma de espiral, de cristais congelados de combustível, iluminados pela luz do Sol.

Não é a primeira vez

Em abril de 2022, a mesma câmera Subaru-Asahi Star no Havaí captou uma cena parecida, também após um lançamento de Falcon 9. Em junho do mesmo ano, uma espiral também foi vista da Nova Zelândia. Não é coincidência: em geral, os estágios do foguete da SpaceX caem no Pacífico, por isso a região é privilegiado na observação destes estranhos fenômenos.

Combustível congelado também já criou anomalias visuais impressionantes em outras partes do mundo. Em março do ano ado, um foguete chinês criou uma grande esfera giratória de luz que atingiu uma aurora boreal no Alasca. Em outubro de 2017, uma esfera azul ainda maior foi vista sobre a Sibéria, gerada por testes de foguetes militares russos.

Logo após os lançamentos, o Falcon 9 também costuma deixar estranhos padrões nos céus da Flórida, como "águas vivas espaciais".

Com informações de Space, Space Weather e Live Science.