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

Asteroides vermelhos são detectados em cinturão em que 'não deveriam estar'

Concepção artística de um asteroide no cinturão de Kuiper, no limite do nosso Sistema Solar - Nasa
Concepção artística de um asteroide no cinturão de Kuiper, no limite do nosso Sistema Solar Imagem: Nasa

Colaboração para TILT, em São Paulo

03/08/2021 10h16

Dois asteroides de cor avermelhada foram identificados, ando por um cinturão entre Júpiter e Marte, a partir de observações astronômicas realizadas Universidade Nacional de Seul, na Córeia do Sul. Ambas as rochas espaciais chamam a atenção não só por sua composição complexa— que indica presença de matéria orgânica— mas, porque também, em teoria, não deveriam estar ali.

Assim sendo, o astrônomo Sunao Hasegawa liderou um estudo junto a sua equipe, da Agência de Exploração Aeroespacial do Japão, para documentar os asteroides de cor vermelha, batizados de 203 Pompeja, que apresenta 110 km de diâmetro, e 69 Justitia, com cerca de 55 km de diâmetro.

Além de se destacar pela cor avermelhada, diferentemente da maioria dos asteroides, que refletem luz azul, 203 Pompeja e 69 Justitia têm um aspecto espectral ainda mais nítido do que os asteroides do tipo D, anteriormente considerados os objetos mais vermelhos do cinturão entre Marte e Júpiter.

Conforme apontado pelo estudo, publicado na The Astrophysical Journal Letters, a luz vermelha dos asteroides é importante, pois indica a presença de matéria orgânica neles. Entretanto, as condições para uma formação de tal tipo não são encontradas na região do cinturão em que estão.

"Para ter esses orgânicos, é necessário inicialmente ter muito gelo na superfície", explicou Michaël Marsset, do Instituto de Tecnologia de Massachusetts (MIT), um dos coautores da pesquisa, ao jornal inglês Daily Star.

"Portanto, eles devem ter se formado em um ambiente muito frio", acrescentou. "Então, a irradiação solar do gelo cria esses compostos orgânicos complexos."

Investigando onde poderia estar esse "ambiente muito frio", citado pelo cientista, os pesquisadores da Agência Japonesa perceberam que os asteroides são parecidos com rochas trans-netunianas, ou seja, rochas localizadas mais longe do que Netuno, em relação ao Sol.

Por conterem compostos orgânicos complexos, produzidos a partir de compostos como metano e gelo de metanol, os asteroides trans-netunianos obtém uma aparência avermelhada quando observados por um espectrógrafo, assim como o ocorrido com 203 Pompeja e 69 Justitia. Por outro lado, as rochas entre Marte e Júpiter não têm tanta matéria orgânica e, portanto, refletem mais luz azul.

Então para os autores do estudo, 203 Pompeja e 69 Justitia poderiam ter se formado além de Netuno, provavelmente dentro do cinturão de Kuiper, há vários bilhões de anos, quando o sistema solar apresentava um ambiente caótico.

Segundo o site Science Post FR, o próximo o do estudo liderado por Hasegawa é determinar se há mais asteroides como 203 Pompeja e 69 Justitia no cinturão entre Marte e Júpitar e enumerar qual a proporção exata de asteroides como eles na região.

Caso a hipótese seja confirmada e novos asteroides sejam detectados, a descoberta pode implicar mudanças para futuras missões aeroespaciais, pois, ao invés de enviar uma sonda até o cinturão de Kuiper, na borda extrema do Sistema Solar, bastaria enviá-la para o cinturão principal para um exame mais preciso das rochas com indícios de matéria orgânica.