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

Novo mapa da Via Láctea revela 3,3 bilhões de objetos cósmicos; explore

Divulgação/DECaPS2/DOE/FNAL/DECam/CTIO/NOIR
Imagem: Divulgação/DECaPS2/DOE/FNAL/DECam/CTIO/NOIR

Abinoan Santiago

Colaboração para Tilt, em Florianópolis

19/01/2023 16h52Atualizada em 20/01/2023 14h12

Uma imagem com "detalhes sem precedentes" da Via Láctea revelou 3,32 bilhões de objetos cósmicos contidos em nossa galáxia. Divulgado nesta semana, é considerado o maior catálogo deste tipo até agora.

O mapa é resultado de um levantamento da NSF (Fundação Nacional de Ciências dos Estados Unidos), utilizando dados do Observatório Interamericano Cerro Tololo (CTIO), no Chile.

Para chegar ao resultado, os pesquisadores catalogaram 10 terabytes de dados de 21.400 exposições individuais, registradas em um período de dois anos.

"Imagine uma foto de um grupo de mais de três bilhões de pessoas, em que cada indivíduo é reconhecível" compara Debra Fischer, diretora da divisão de Ciências Astronômicas da NSF, em um comunicado publicado no site da fundação.

Veja que impressionante:

Outra novidade apresentada é a possibilidade de que o publico em geral também explore o mapa. Basta entrar no site e navegar pela imensidão de objetos cósmicos.

O mapa foi abastecido pela Decam (Câmera de Energia Escura, na tradução livre em português), que opera em um agrupamento de telescópios superpotentes no CTIO, sendo capaz de gerar imagens espaciais em um campo amplo, em comprimentos de luz visíveis e de infravermelho próximo.

Devido à sua localização, a Via Láctea foi avistada no céu do hemisfério Sul, a uma altitude de 2.200 metros. Todas estas condições, segundo o NSF, permitiram "capturar o plano galáctico com tantos detalhes".

"Uma das principais razões para o sucesso é que apontamos para uma região com uma densidade extraordinariamente alta de estrelas e tivemos o cuidado de identificar fontes que aparecem quase umas sobre as outras", disse Andrew Saydjari , aluno de pós-graduação da Universidade de Harvard e principal autor do estudo.

"Fazer isso nos permitiu produzir o maior catálogo de todos os tempos a partir de uma única câmera, em termos do número de objetos observados", disse Andrew Saydjari, pesquisador de Harvard e co-autor.

Os detalhes revelados pelo novo mapa da Via Láctea poderão potencializar os estudos astronômicos que antes enfrentavam dificuldades pela falta de imagens, por ser um catálogo tão amplo e público.

"Os astrônomos vão se debruçar sobre este retrato detalhado de mais de três bilhões de estrelas na Via Láctea nas próximas décadas. Este é um exemplo fantástico do que as parcerias entre agências federais podem alcançar", comentou Debra Fisher, do NSF.

Além disso, a nova catalogação é um avanço em relação à anterior, divulgada em 2017 pelo mesmo grupo de pesquisadores. Na ocasião, foram mapeados 2 bilhões de objetos. Agora, os cientistas disseram que conseguiram cobrir 6,5% do céu noturno sul. Em termos comparativos, este percentual é equivalente a 13 mil vezes a área angular da Lula cheia.

"Com esta nova pesquisa, podemos mapear a estrutura tridimensional das estrelas e poeira da Via Láctea com detalhes sem precedentes", explicou Edward Schlafly, pesquisador do STScI (Instituto de Ciências Espaciais e Telescópio, em tradução para português).