domingo, 26 de agosto de 2018

Mecânica e engranagens

Engrenagens


    As engrenagens podem ser de vários tipos e formas. Como tive dificuldade em encontrar as explicações básicas, apresento aqui tudo o que pude aprender sobre elas.

Coroa e Pinhão

     Engrenagens estão sempre associadas com outras, na transmissão de movimento.
    Uma engrenagem básica é um disco com eixo rotativo no cento, geralmente metálico ou de plástico, com borda lateral dentada que permite rotação e torque à outra engrenagem aumentando ou deduzindo potência.
    Quando duas engrenagens engrenam, poderá haver diferenças de tamanho entre elas. Assim:

    A engrenagem maior é chamada de: coroa
    A engrenagem menor é chamada de: pinhão

    Se a força motriz vier da  coroa, haverá aumento da velocidade de rotação em relação ao pinhão.
    Se a força motriz vier do pinhão, haverá redução da velocidade de rotação em relação a coroa.


Tipos de Engrenagens

Quanto a disposição dos dentes eles podem ter os formatos:


    Retos: Quando estão dispostos de forma paralelo entre si e o eixo. Podem não ser suaves e ser barulhentas.

    Transversais: Quando os dentes são paralelos e estão em diagonal em relação ao eixo e ao disco.

   Helicoidais ou espirais: Estão dispostos de forma espiral em relação ao eixo (como uma hélice). Ideal para suavidade e redução de barulho. Podem ser duplas.



Quanto a disposição dos eixos:


    Eixo paralelo: Os eixos estão virtualmente no mesmo sentido.

   Eixo cruzado: Variação de engrenagens onde os eixos não são paralelos e possuem um ponto virtual de encontro. Comum em roscas sem fim. As bordas laterais das duas engrenagens engrenam.

   Hipoide: Variação de engrenagens onde os eixos não são paralelos. A borda de uma das engrenagens engrenam na face de outra engrenagem. Comum em variações de engrenagens cônicas.



Quanto ao formato e posicionamento dos dentes das engrenagens:


    Cremalheira:
        Engrenagem na forma de barra reta (ou trilho) dentado, que transforma o movimento circular em retilíneo. No caso do uso com pinhão, substitui a cora, pois pode ser bem comprida.

    Cilíndrico ou em disco reto:
     Quando os dentes estão nas bordas laterais. Somente é possível construir uma dupla de engrenagens em disco que se cruzem: se os dentes forem helicoidais. É possível construir uma dupla de engrenagens em paralelo com dentes retos ou helicoidais.
        Rosca sem fim:
        Variação de engrenagem cilíndrica ou de disco. É um cilindro com dentes helicoidais que lembra um parafuso. Geralmente é a fonte motriz para uma coroa ou cremalheira.

    Cônica:
       Quando os dentes estão nas laterais de um cone.

   Interna:
       Sistema de engrenagens onde uma funciona dentro de outra. Exemplo: Encontrado nos motores wankel. Roda do calendário Maia Tzolkin.
        Planetária:
      Quando um conjunto de engrenagens está dentro de um anel dentado lembrando um sistema planetário
        Exemplo: Encontrado nas turbinas eólicas. Maquinas de lavar (tanquinho).

   Catraca (ou roda de escape) ancora (ou alavanca):
        Engrenagem que somente permite a liberação do movimento de acordo com um tempo determinado pela liberação de uma âncora.

   Leque ou Setor:
        Semelhante a engrenagem em disco, mas ao invés de possuir dentes por todo o perímetro de 360° do disco, possui dentes em um ângulos menores que 360°. Muitas delas lembram um disco partido ou leque.

    Correia e polia | Corrente e coroa:
        A vantagem no uso destes elementos é a redução do peso e a distância alcançada para a transmissão do movimento.
        Correia e polia:         
            Lisas: Apenas para transmitir o movimento, sem intenção em sincronização
                Exemplos encontrados em: Motores de carro, lixadeiras, tornos
            Dentadas: Quando é importante a sincronização do movimento
                Exemplos encontrados em: impressoras
            Custo alto para substituição, alta flexibilidade e durabilidade
        Corrente e coroa:
        Quando é importante a sincronização do movimento. Baixa perda de potencia e baixa flexibilidade. Necessitam de manutenção constante. Custo baixo. Exemplos encontrados em: motocicletas, bicicletas


Biela:


    Transforma o movimento retilíneo alternado em movimento circular. Exemplos encontrados em: Pistão e biela dos motores de combustão, motor Stirling, maquinas a vapor e locomotivas antigas
 

Volante:


     Motores de combustão 4 tempos: admissão do gás, compressão do gás, explosão e escape do gás.       As pressões internas dos gazes momento da compressão do combustível nos interiores das câmaras de combustão tem potencial para parar o funcionamento do motor. Para impedir essa parada do motor é necessário uma força inercial que dê continuidade ao ciclo de admissão, compressão, explosão e escape. A peça fundamental para isso é o volante que estando em rotação possui energia inercial que é transferida às bielas do motor, permitindo que o movimento supere a pressão contrária da compressão do combustível.

Questão: teoria dos números (Primos)

<pre>


se limite_x tende a infinito,

note que para a posição 13567
13567 + | maior = 2*3*5*7*11*13*17*19*31*41*43* | menor = 23*29*37* res = 530117182249.

O número 17659 obtido na posição 13608 é mais de 30 milhões de vezes menor que o maior número anterior (13567)
530117182249 / 17659 = 30019660.357268248

13608 - | maior = 7*13*23*31*41*43* | menor = 2*3*5*11*17*19*29*37* res = 17659.

É possível obter os números primos 19,23,43,53,59,61,71,79,83,109,113,127,137...?

<script>

    var limite_x=3;

    function getVal()
    {

        p = new Array();
        p.push(2)
        prime=true;
   
        while(limite_x<200000)
        {
            for(var i=0; i<p.length; i++)
            {
                prime=true;
                if( limite_x%p[i]==0 )
                {
                    prime=false;
                    break
                }
            }
            if( prime )
            {
                p.push(limite_x);
            }
            limite_x++;
        }


        var dentro_p = new Array()
        var fora_p = new Array()


        for(var k=1; k<p.length; k++)
        {
            resp = parseInt( k >>> 0 ).toString( 2 );

            resp = resp.split("").reverse().join("");

            var n_maior=1;
            var n_menor=1;
            var s_m1=""
            var s_m2=""

            for(var i=0; i<resp.length; i++)
            {
                n_maior *= (resp[i]=="1"?p[i]:1)
                if(resp[i]=="1")
                s_m1 += p[i]+"*"

                n_menor *= (resp[i]=="0"?p[i]:1)
                if(resp[i]=="0")
                s_m2 +=p[i]+"*"
            }

            if(n_maior>n_menor)
            {
                document.write( k + " - | maior = " + s_m1 + " | "  + "menor = "+ s_m2 + " res = "  + (n_maior-n_menor)+"." );
                document.write( "</br>" );
                document.write( k + " + | maior = " + s_m1 + " | "  + "menor = "+ s_m2 + " res = "  + (n_maior+n_menor)+"." );
                document.write( "</br>" );


                dentro_p.push(n_maior-n_menor)
                dentro_p.push(n_maior+n_menor)
            }
        }



        for(var j=0; j<p.length; j++ )
        {
            var fora=true;
            for(var k=0; k<dentro_p.length; k++)
            {
                if(dentro_p[k]==p[j])
                {
                    fora=false;
                    break
                }
            }
            if(fora)
            {
                fora_p.push(p[j])
            }
        }
        document.write( "</br>" );
        document.write( fora_p );


    }   
    getVal();

</script>
</pre>

quinta-feira, 16 de agosto de 2018

Indecidivel problema generalizado de Collatz


Lendo sobre matemática na coluna do Sr. Marcelo Viana encontrei um quebra cabeça que ainda está em aberto:
https://www1.folha.uol.com.br/colunas/marceloviana/2018/08/problemas-matematicos-o-facil-pode-ser-muito-dificil.shtml

Outra fonte:
http://people.cs.uchicago.edu/~simon/RES/collatz.pdf

1)

Brincando e observando o problema, pude perceber que para descobrir se NÃO é válido para todos os números, precisamos saber se existe algum número que retorna a ele mesmo após várias interações repetidas de:

multiplicar por 3 e somar 1
dividir por 2





2)

Supondo que um número pudesse crescer indefinidamente e por ultimo ter uma redução dividindo por 2, que consideraremos como estado final, encontrei uma pirâmide de soluções baseadas na seguinte formula:
sendo k a posição da construção, variando de zero a infinito de um em um:

2k+1 → (gera) 3k+2

2k+1 3k+2

Assim, se temos um k=3 significa que para o número 2*3+1, que é 7, pode-se obter, pela formulação de Collatz o numero 11:
Assim, a partir de 7, que é impar, temos (3*7+1)/2 que é 11

Partindo dessa formula, percebi que é possível construir uma pirâmide com a seguinte estrutura:

0

1, 2
3, 5, 8
7, 11, 17, 26
15, 23, 35, 53, 80
31, 47, 71, 107, 161, 242

.
.
.

O primeiro numero de cada linha é obtido a partir  das potencias de 2 subtraídas de um: 1, 2, 4, 8, 16...
Os números seguintes a estes primeiros é obtido a partir da soma dos primeiros pelo seu imediatamente acima somado de um. Por exemplo, para 35 gerar 53, pega-se 35 + (17+1) = 53

Aparentemente, a partir dos números já criados na pirâmide, é possível construir os números mais a frente pela formula

2k+1 3k+2

Assim, se o k = 8, que aparece no final da linha 3, temos que:
(2*8+1 = 17
) → (3*8+2 = 26)

Desconsiderei todos os outros números que não aparecem, pois eles são redutíveis a qualquer outro número que possa aparecer na pirâmide. Seja pela divisão de 2 ou seja pela multiplicação de 3 soma um. 



<html>
<script>
    function getVal()
    {
        var p=0;
        velho = new Array();
        velho.push(0);
        while(p<16)
        {
            novo = new Array();
            document.write(" k = " + p + " ... " );
            novo.push(Math.pow(2,p)-1 );
            document.write("  " + novo[0] );
            for(var i=0; i<p; i++)
            {
                novo.push(novo[i] + velho[i] +1 );
                document.write(" - " + novo[i+1] );
            }
            velho = novo;
            document.write("</br>");
            p++;
        }
    }   
    getVal();   
</script>
</html>

quarta-feira, 6 de junho de 2018

Whatzapp no Brasil é inconstitucional

Pois é pessoal... Depois da greve dos caminhoneiros, fui pesquisar sua forma de utilização no Brasil e vejo que ele infringe nossa constituição. Ele permite o envio de muitas mensagens criptografadas á várias pessoas de forma anônima.

Acredito que os meios de comunicação deve ter sim algum tipo de segurança e privacidade, mas depois da greve dos caminhoneiros, suspeito que todo esse escarcéu foi iniciado por interessados no exterior. Por que motivo a União tem que subsidiar o preço do diesel? Se ocorrer qualquer guerra, no exterior, o povo brasileiro terá que pagar a conta? 

A real é que candidatos como Bostonaro são contraproducentes ao desejar a privatização de tudo, como a Petrobras por exemplo. Se o petróleo é nosso, por ser parte do subsolo, a Petrobras nunca devia ter sido parcialmente privatizada. Deveria ser estatal sempre por interesse estratégico. Bostonaro, como o próprio nome diz, é um bosta e serve à interesses estrangeiros. Não é nada patriota. Outros países como os EUA subsidiam o combustível e funcionam uma belezinha... as custas dos países do oriente médio.  A solução para sairmos com honra desse mal negócio é dar o justo para os acionistas atuais e reestatizar a Petrobras, pensando no futuro, fazer como os Franceses:Investir no desenvolvimento em outras matrizes energéticas como a fusão nuclear. A ideia do petróleo está ultrapassada e temos uma mente Bostonara espalhada pelo país. Não deveria ser assim. Deveríamos ter investigado em educação o suficiente para iniciarmos projetos de pesquisa como os franceses. Veja o link:

O povo Brasileiro está sendo facilmente manipulado por softwares sem controle do governo. Como BitCoin, que também irá dar merda futuramente se não tiver controle e garantias. Não se iludam:Não existe almoço grátis.

Como já citei antes em posts anteriores, levará 30 anos para recuperarmos a educação, enquanto isso, os traficantes de nosso país estão adotando as crianças que não são atendidas por um serviço social de qualidade. Eu sugiro verem o filme "O Contador de histórias" (Brasil 2009). A situação no Brasil se complica cada vez mais e os índices de violência só crescem. Os filhos de umas putas de nossos congressistas apostam no emburrecimento do país para se manterem no poder. Isso não é justo com  o Povo Brasileiro. Vai dar merda... 
Eu recomendo o FEDON, de Platão, a qualquer Brasileiro de Brio. (Rom 9:30-35)



sábado, 24 de março de 2018

Tratamento de Choque para jogo em javaScript



Tratamento de Choque para jogo em javaScript
São duas imagens onde as dimensões de cada quadrado possuem w e h de 17 pixeis.


O fonte e as duas imagens:


<html>
<body onload="startGame()">
<script>

//=================================================================================================
// Autor: Luiz Augusto S. Prado - 2018
// javaScript: Game 
//=================================================================================================
    window.requestAnimationFrame = function() 
    {
        return window.requestAnimationFrame ||
        window.webkitRequestAnimationFrame ||window.mozRequestAnimationFrame ||
        window.msRequestAnimationFrame ||window.oRequestAnimationFrame ||
        function(f) 
        {
            window.setTimeout(f,1e3/60);
        }
    }();
    
    getNumber = function(str)
    {
        var r = Number( str.charCodeAt(0) )
        if(r>47 && r<58) r-=48
        if(r>64 && r<91) r-=55
        if(r>96 && r<123)r-=87
        return r;
    }

    paintImagem = function(ctx, ctx2, pos_x_0, pos_y_0, tamanhox, tamanhoy, pos_x_f, pos_y_f, escala, ang)
    {
        ctx.translate( pos_x_f, pos_y_f );
        ctx.rotate(-ang * Math.PI / 180);
        ctx.drawImage(ctx2, pos_x_0, pos_y_0, tamanhox, tamanhoy, escala, escala, escala, escala);
        ctx.rotate(ang * Math.PI / 180);
        ctx.translate( -pos_x_f, -pos_y_f);
    }
    
    Hero = function()
    {        
        this.onde_estou    = "no_mapa"
        this.speedX    = 0;
        this.speedY    = 0;
        this.color    = "red";
        this.width    = 16;
        this.height    = 16;
    }

    paintHero = function(mapa)
    {
        mapa.ctx.fillStyle = mapa.hero.color;
        mapa.ctx.fillRect(mapa.canvas.width/2, mapa.canvas.height/2, 16, 16)
    }

    Ground = function(x0, y0, xf, yf)
    {
        this.x = xf/2*17
        this.y = yf*17
        this.onde_estou    = "no_mapa"
        this.width    = 17;
        this.height    = 17;
        this.px        = x0*this.width;
        this.py        = y0*this.height;        
    }

    Item = function(x0, y0, xf, yf)
    {
        this.x = xf/2*17
        this.y = yf*17
        this.onde_estou    = "no_mapa"
        this.width    = 17;
        this.height    = 17;
        this.px        = x0*this.width;
        this.py        = y0*this.height;        
    }

    paintMap= function(mapa)
    {
        var ctx = mapa.ctx;
        var arq = mapa.arquivo_mapas;    
        var w=mapa.canvas.width/2
        var h=mapa.canvas.height/2;    
        for(var py=0; mapa.mapa!=null && py<mapa.mapa.length; py++ )
        {
            for(var px=0; px<mapa.mapa[py].length; px++ )
            {
                if( mapa.mapa[py][px]!=null )
                {
                    var m = mapa.mapa[py][px];    
                    var tm=m.width;    
                    paintImagem(ctx, arq, m.px, m.py, tm, tm, m.x-mapa.hero.x+w-4, m.y-mapa.hero.y+h-4, tm+2, 0)
                }
            }
           }
    }

    paintItens = function(mapa)
    {
        var ctx = mapa.ctx;
        var arq = mapa.arquivo_itens;
        var w=mapa.canvas.width/2
        var h=mapa.canvas.height/2;        
        for(var py=0; mapa.itens!=null && py<mapa.itens.length; py++ )
        {
            for(var px=0; px<mapa.itens[py].length; px++ )
            {
                if( mapa.itens[py][px]!=null )
                {
                    var m = mapa.itens[py][px];    
                    var tm=m.width;                
                     paintImagem(ctx, arq, m.px+mapa.time*tm, m.py+1, tm,  tm-1, m.x-mapa.hero.x+w-4, m.y-mapa.hero.y+h-4, tm+2, 0)
                }
            }
           }
    }
    
    function createItens()
    {
        var str = document.getElementById("itens").value
        str = str.replace(new RegExp(/ /, 'gi'), "");
        var res = str.split("|\n");
        var array_final = new Array();
        for(var py=0; py<res.length-1; py++)
        {
            array_final[py]=[]
            for(var px=0; px<res[py].length; px+=2)
            {
                if( res[py].charAt(px)!='3' && res[py].charAt(px+1)!='z' )
                {
                     array_final[py][px/2] = new Item(getNumber(  res[py].charAt(px)) ,  getNumber( res[py].charAt(px+1) ), px, py ); 
                }
            }
        }
        return array_final;
    }
    
    function createMapa()
    {
        var str = document.getElementById("mapa").value    
        str = str.replace(new RegExp(/ /, 'gi'), "");
        var res = str.split("|\n");
        var array_final = new Array();
        for(var py=0; py<res.length-1; py++)
        {
            array_final[py]=[]
            for(var px=0; px<res[py].length; px+=2)
            {
                if( res[py].charAt(px)!='3' && res[py].charAt(px+1)!='z' )
                {
                     array_final[py][px/2] = new Ground(getNumber(  res[py].charAt(px)) ,  getNumber( res[py].charAt(px+1) ) , px, py ); 
                }
            }
        }
        return array_final;
    }

    /*===========================================
    O mapa anda ao contrário. Ele é a referência. 
                                       
      e1 d1       e2 d2           
    n1_|_|_n1   n2_|_|_n2    a. .b y1
    s1_|_|_s1   s2_|_|_s2    c. .d y2  
       | |         | |       x1 x2
      e1 d1       e2 d2      

    */

    function isHitting(obj1, obj2, tm)
    {
        var e1 = obj1.x - obj1.speedX -tm
        var d1 = obj1.x - obj1.speedX 
        var n1 = obj1.y - obj1.speedY -tm
        var s1 = obj1.y - obj1.speedY

        var e2 = obj2.x         
        var d2 = obj2.x + tm
        var n2 = obj2.y         
        var s2 = obj2.y + tm
        
        var x1 = e1<=d2 && d2<=d1            
        var x2 = e1<=e2 && e2<=d1
        var y1 = n1<=s2 && s2<=s1                
        var y2 = n1<=n2 && n2<=s1

        var a = x1 && y1
        var b = x2 && y1
        var c = x1 && y2
        var d = x2 && y2

        if( a || c || b || d )
        {
            if( (x1 || x2) && obj1.speedY!=0 ) obj1.speedY =0
            if( (y1 || y2) && obj1.speedX!=0 ) obj1.speedX =0
            return true
        }
        return false
    }


    function Mapa()
    {
        this.start = function() 
        {
            this.arquivo_mapas = new Image()
            this.arquivo_mapas.src = "mapa.png"
            this.arquivo_itens = new Image()
            this.arquivo_itens.src = "itens.png"

            this.canvas = document.createElement("canvas")

            this.count = 0;
            this.time=0;

            this.ctx = this.canvas.getContext("2d");
            document.body.insertBefore(this.canvas, document.body.childNodes[0]);
            this.canvas.width = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth )-70;
            this.canvas.height= (window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight)-70;

            window.addEventListener('keydown', function (e) 
            {
               window.keys = (window.keys || []);
               window.keys[e.keyCode] = (e.type == "keydown")  ;
            })

            window.addEventListener('keyup', function (e) 
            {
               window.keys[e.keyCode] = (e.type == "keydown") ;            
            })
            
            this.itens = createItens();
            this.mapa  = createMapa ();
            this.hero  = new Hero ();
            
            this.hero.x = 0;
            this.hero.y = 0;
        }

        this.clear = function()
        {
            this.canvas.width = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth )-70;
            this.canvas.height= (window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight)-70;

            this.ctx.fillStyle="#99ccff";
            this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height); 
        }

        this.calcs = function()
        {
            this.hero.speedX = 0;
            this.hero.speedY = 0;
            this.hero.w = this.canvas.width/2;
            this.hero.h = this.canvas.height/2;
            
            this.count++
            
            if(this.count%10==0)
            {
                this.time++
                if(this.time==4){this.time=0; this.count=0}
            }
            
            if (window.keys && window.keys[37]) {this.hero.speedX = 2; }
            if (window.keys && window.keys[39]) {this.hero.speedX =-2; }
            if (window.keys && window.keys[38]) {this.hero.speedY = 2; }
            if (window.keys && window.keys[40]) {this.hero.speedY =-2; }
            
            var saida=false;

            for(var py=0; py<this.mapa.length; py++)
            {
                for(var px=0; px<this.mapa[py].length; px++)
                {
                    if(this.mapa[py][px]!=null)
                    {
                        saida = isHitting(this.hero, this.mapa[py][px], 17)
                    }
                    if( saida ) break
                }
                if( saida ) break
            }
            this.hero.x -= this.hero.speedX;
            this.hero.y -= this.hero.speedY;
        }

        this.paint = function()
        {
            paintMap  (this)
            paintItens(this)
            paintHero (this)
        }
    }

    var mapa;
    animloop = function()
    {
        mapa.calcs();
        mapa.clear();
        mapa.paint();
        requestAnimationFrame(animloop);
    }

    function startGame() 
    {
        mapa = new Mapa();
        mapa.start();
        animloop();
    }

</script>

<div id="msg">mova com o teclado.</div>

<textarea id="itens" rows="30" cols="60"  style="display:none;">
3z 3z 3z 3z 3z 3z 3z 3z|
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 0g 0h 0i 0j 0k 0l 0m 0n 0o|
</textarea>

<textarea id="mapa"  rows="30" cols="60"  style="display:none;">
3z 3z 3z 3z 3z 3z 3z 3z|
3z 3z 3z 3z 3z 3z 3z 3z|
3z 3z 3z 3z 3z 3z 3z 3z|
3z 3z 3z 3z 3z 60 10 10|
00 10 10 10 10 61 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|
11 11 11 11 11 11 11 11|

</textarea>
</body>
</html>

segunda-feira, 12 de março de 2018

No máximo 4 cores em um mapa

Um probleminha matemático que li e estava pensando:
https://www1.folha.uol.com.br/colunas/marceloviana/2018/03/quatro-cores-bastam-para-colorir-qualquer-mapa.shtml

A quantidade mínima de cores para colorir qualquer mapa é 4?
A resposta é questionar qual é o máximo de países que fazem fronteira entre eles mesmos.

Em um universo plano, de bordas indo ao infinito ou uma plano conexo (Esfera) a resposta parece funcionar. Mas em um toroide, a quantidade de números pode ser maior que 4.

Confrontar todas as cores nos mostra que não é nem possível forçarmos que 5 estados se toquem entre si.


No mesmo esquema entra a tentativa de ligarmos agua, luz e telefone a 3 casas sem cruzar os tipos.
Para conseguirmos conectar os três as 3 casas, é necessário um toroide.



segunda-feira, 5 de março de 2018

Editando Livros com HTML

Percebi que no novo Windows muitos dos antigos softwares bons não estão mais vindo com ele. Como o Office. Para contornar a exigência de ter um bom editor para um livro ou carta, decidi fazer um pequeno algoritmo para facilitar a edição e impressão em PDF.

ver resultado no PDF desse link:
http://tivideotutoriais.blogspot.com.br/2018/01/eletron.html

Para demonstração dois arquivos. O Texto e o arquivo que controlará o posicionamento, criação de índices, paginas e formatação. Para adicionar imagens e índices, estude o fonte exemplo.

Editor.js

    /*
    Março de 2018
    Autor: Luiz Augusto da Silva Prado
    Site: www.codigorapido.com.br
    */

    var altura_pagina=760;
    var largur_coluna=460;
    var cor_borda="#dddddd";
    var pagina_bordas="border:8px;margin:8px;padding:8px;";

    //======================================
    // EXCLUIR QUEBRAS DE LINHA REPETIDOS
    //======================================
    function replaceAllBreak(str)
    {
        str = str.replace(new RegExp("\<\/tr\>\n", 'gi'), "\<\/tr\>");
        str = str.replace(new RegExp("\n\<tr\>", 'gi'), "\<tr\>");
        str = str.replace(new RegExp("\<\/td\>\n", 'gi'), "\<\/td\>");
        str = str.replace(new RegExp("\n\<td\>", 'gi'), "\<td\>");
        str = str.replace(new RegExp("\<\/table\>\n", 'gi'), "\<\/table\>");
        str = str.replace(new RegExp("\n\<table", 'gi'), "\<table");
        str = str.replace(new RegExp("\n\n", 'gi'), "\n");
        //espaçamento dos parágrafos
        str = str.replace(new RegExp("\n", 'gi'), "</br>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp");
        return str;
    }

    //======================================
    // TÓPICO DO ÍNDICE
    //======================================
    pontos_indice = function(str)
    {
        var resp=""
        strr= str.replace(/\<span (.*?)\>/gi, '')
        strr= strr.replace(/\<\/span\>/gi, '')
        // Quantidade de caracteres maximos por linha
        for( var i=0; i<53 - strr.length; i++)
        {
            resp+=".";
        }
        return resp;
    }

    //======================================
    // ÍNDICE
    //======================================
    getIndex = function(str)
    {
        var Array_Parte = str.match( /\<div parte\>((\n|.)*?)#parte \<\/div\>/gi, '');
        var indice = new Array();
        var total_paginas=0;
        var array_romanos = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII"]

        for(var n=0; n<Array_Parte.length; n++)
        {
            var t=new Object();
            t.parte="<br><br><span style='color:red;font-size:18px;'><b>Parte "+array_romanos[n]+" </b></span><br><br>";
            t.topicos=[];
            t.paginas=[];
            var Array_Paginas = Array_Parte[n].match( /\<div page\>((\n|.)*?)#page \<\/div\>/gi, '');
            for(var i=0; i<Array_Paginas.length; i++)
            {
                var Array_Topico = Array_Paginas[i].match( /\n\<b\>((\w|.)*?)\<\/b\>/gi, '');
                if(Array_Topico!=null)
                {
                    for(var j=0; j<Array_Topico.length; j++)
                    {
                        topico = Array_Topico[j].replace("<b>", "").replace("</b>", "")
                        t.topicos = t.topicos.concat( topico  )
                        t.paginas = t.paginas.concat(total_paginas+i+1);
                    }
                }
            }
            indice = indice.concat(t)
            total_paginas+=Array_Paginas.length;
        }

        paginas="";
        temp="";

        for(var n=0; n<indice.length; n++)
        {
            temp += indice[n].parte
            for(var j=0; j<indice[n].paginas.length; j++)
            {
                temp += indice[n].topicos[j] + pontos_indice(indice[n].topicos[j] + indice[n].paginas[j]) + indice[n].paginas[j]+"<br>"
                if((j+1)%22==0 || j==indice[n].paginas.length-1)
                {
                    paginas+="<div indice>"+temp+"</div>"
                    temp="";
                    total_paginas++
                }
            }
        }

        if(total_paginas%2==1)
        {
            str += "<div page>\n#page </div>";
        }
       
        str = str.replace(new RegExp(/\n\<div parte\>/, 'gi'), "");
        str = str.replace(new RegExp(/#parte \<\/div\>/, 'gi'), "");

        str = str.replace("#indice", paginas);

        return str
    }

    //======================================
    // PAGINAÇÃO
    //======================================
    getPagination = function(str)
    {
        var Array_Paginacao = str.match(/#page/g);
        if(Array_Paginacao!=null)
        for(var i=0; i<Array_Paginacao.length; i++)
        {
            str = str.replace(Array_Paginacao[i], "<div style='width:"+largur_coluna+"px;text-align:center;position:absolute;bottom:0px;'>"+(i+1)+"</div>");
        }
        return str;
    }
   
    //======================================
    // ADICIONAR IMAGEMS
    //======================================
    getImages = function(str)
    {
        var Array_Imagens = str.match(/#imagem[D-E][0-9] [0-9][0-9][0-9]\|[0-9][0-9][0-9]/g);
        //if(Array_Imagens!=null)
        for(var i=0; i<Array_Imagens.length; i++)
        {
            var DE = Array_Imagens[i].match(/[D-E][0-9]/g);
            var NN = Array_Imagens[i].match(/[0-9][0-9][0-9]/g);
            if(DE[0].charAt(0)=='D')
            str = str.replace(Array_Imagens[i] + " ", "<img style='float:right;width:"+NN[0]+"px;height:"+NN[1]+"px;margin:8px;padding:0px;border:"+DE[0].charAt(1)+"px solid #777777' src='imagens/");
            if(DE[0].charAt(0)=='E')
            str = str.replace(Array_Imagens[i] + " ", "<img style='float:left; width:"+NN[0]+"px;height:"+NN[1]+"px;margin:8px;padding:0px;border:"+DE[0].charAt(1)+"px solid #777777' src='imagens/");
            str = str.replace(" #fim", "'>");
        }
        return str;
    }

    //======================================
    // DIVISÃO DE PÁGINAS
    //======================================
    getDivPages = function(str)
    {
        var Array_DivisaoPaginas = str.match(/<div page/g);
        //if(Array_DivisaoPaginas!=null)
        for(var i=0; i<Array_DivisaoPaginas.length; i++)
        {
            str = str.replace(Array_DivisaoPaginas[i], "<div style='"+pagina_bordas+"position:relative;width:"+largur_coluna+"px;height:"+altura_pagina+"px;border:1px solid "+cor_borda+";' ");
        }
        return str;
    }

    //======================================
    // GERRAR ÍNDICE
    //======================================
    generateIndex = function(str)
    {
        var Array_Gerar_Indice = str.match(/<div indice/gi, '');
        //if(Array_Gerar_Indice!=null)
        for(var i=0; i<Array_Gerar_Indice.length; i++)
        {
            str = str.replace(Array_Gerar_Indice[i], "<div style='"+pagina_bordas+"font-size:12px; font-family:Courier New,Courier,monospace;font-weight: bolder;position:relative;width:"+largur_coluna+"px;height:"+altura_pagina+"px;border:0px solid #cccccc;' ");       
        }
        return str;
    }

    //======================================
    // START
    //======================================   
    makePages = function()
    {
        var mapa = document.getElementById("mapa");
        var str = mapa.value;

        str = str.replace(new RegExp(/\n\n\<div/, 'gi'), "<div");
        str = str.replace(new RegExp(/div\>\n\n/, 'gi'), "div>");
        str = str.replace(new RegExp(/\n\<div/, 'gi'), "<div");
        str = str.replace(new RegExp(/div\>\n/, 'gi'), "div>");
   


        str = getImages(str)   
        str = getIndex(str)
        str = getPagination(str)   
        str = getDivPages(str)       
        str = generateIndex(str)
        str = replaceAllBreak(str);



        document.getElementById("texto").innerHTML = str ;
        mapa.style.visibility = "hidden";
        mapa.style.height = "0%";
        document.getElementById("myCheck").checked = true;
    }

    //======================================
    // TESTE
    //======================================
    check = function()
    {
        var mapa = document.getElementById("mapa");
        if(document.getElementById("myCheck").checked)
        {
            mapa.style.visibility = "hidden";
            mapa.style.height = "0%";
        }
        else
        {
            mapa.style.visibility = "visible";
            mapa.style.height = "100%";
        }
    }
   
    //Ver como ficou: <input type="checkbox" id="myCheck" onclick="check()" >  <button onclick="makePages()">Atualizar</button>  <br>

Para inserir tópicos no índice,  basta iniciar nova linha entre as tags <b> e </b>
Para inserir imagens basta inserir algo equivalente a:
#imagemD2 210|210 imagem.png #fim
D significa que será posicionado a direita do texto
2 significa a espessura da borda
210|210 são as medidas w e h da imagem

Exemplo do uso do código. Crie um arquivo como mostrado abaixo:

<html>
<script type="text/javascript" src="Editor.js"></script>
<textarea id="mapa"  rows="15" cols="120" >
<div parte>
<div page>




<span style='color:red;font-size:18px;'><b>Parte I </b></span>

Algo aqui
<b>vai para o índice</b>

#page </div>
#parte </div>

<div parte>
<div page>




<span style='color:red;font-size:18px;'><b>Parte II </b></span>

Algo aqui
<b>Indice</b>
#imagemD2 210|210 imagem.png #fim

#page </div>

<div page>


Algo aqui
<b>Indice</b>


#page </div>
#parte </div>

</textarea><br>

<div id="texto" style="font-size:14px;  text-align: justify;  column-count: 2; -webkit-column-gap:0px; -moz-column-gap:0px; column-gap:0px;">Defeito</div>

<script>
makePages()
</script>
</html>

quarta-feira, 31 de janeiro de 2018

Elétron



Olá! Eu sou o Elétron. Eu apresentarei a vocês o nosso universo: O mundo da eletrônica.

Eu e meus coleguinhas somos tão pequeninos e rápidos que somente a alguns séculos perceberam nossa existência. Somos tão pequeninos que precisaremos de uma nova unidade de medida para trabalharmos sem precisarmos escrever números gigantescos o que facilitará nosso trabalho. Para que possamos ser notados, precisamos nos juntar em uma grande quantidade de elétrons. Assim, por convenção, imaginemos um exército de elétrons. Uma boa quantidade para ser mensurada e que usaremos para representar cada exercito será de aproximadamente 6,2 quintilhões de elétrons. É o mesmo que 6,2 x 10^18 elétrons. 6,2 multiplicado por 10 elevado a 18 (1 seguido de 18 zeros). É uma quantidade grande não é? Por isso a dificuldade para nos ver. É preciso uma grandíssima quantidade de nós para que os instrumentos de medição sejam capazes de nos detectar e para facilitar não usaremos esse número mas a forma como o chamaremos a partir de agora. Ficara estabelecido por convenção que um exercito de 6,2 x 10^18 elétrons será o mesmo que 1 Coulomb ou 1 C. É melhor trabalharmos com 1C do que com um número absurdamente grande.

Previa da apostila de eletrônica para crianças e adolescentes:

segunda-feira, 29 de janeiro de 2018

Aperfeiçoando meu resumão de eletrônica


Contato apenas pelo dominio: www.codigorapido.com.br Ou pelo canal: https://www.youtube.com/channel/UCEaedVQ_AxGjQzyGr3dUdZw



==================================================================================================================================
 1 - teste LED ou Lampada 
==================================================================================================================================
 * 62L * 40W * 62L * |
62N               62N|
 *                 * |
62N               10N|
 *                 * |
62N               62N|
 * 62L * 41W * 62L * |
==================================================================================================================================
 2 - teste indutor
==================================================================================================================================
 * 62L * 61L * 62L * |
62N               62N|
 *                 * |
01N               00N|
 *                 * |
62N               62N|
 * 62L * 41W * 62L * |
==================================================================================================================================
 3 - teste capacitor com bateria 
==================================================================================================================================
 * 62L * 40W * 62L * |
62N               62N|
 *                 * |
41S               10N|
 *                 * |
62N               62N|
 * 62L * 70L * 62L * |
==================================================================================================================================
 4 - teste capacitor sem bateria
==================================================================================================================================
 * 62L * 61L * 62L * |
62N               62N|
 *                 * |
41S               70N|
 *                 * |
62N               62N|
 * 62L * 40L * 62L * |
==================================================================================================================================
 5 - teste capacitor sem bateria e com bateria
==================================================================================================================================
 * 62L * 61L * 62L * 62L * 61L * 62L * |
62N               62N               40N|
 *                 *                 * |
40N               70N               62N|
 *                 *                 * |
62N               62N               10N|
 * 62L * 41W * 62L * 62L * 41W * 62L * |==================================================================================================================================
 6 - teste liga desliga com capacitor 
==================================================================================================================================
 * 62L * 41L * 62L * 62L * 61L * 62L * |
62N               62N               62N|
 *                 *                 * |
62N               70N               10N|
 *                 *                 * |
62N               62N               62N|
 * 62L * 40W * 62L * 62L * 40L * 62L * |
==================================================================================================================================
 7 - teste direção 1 com diodo (Luminoso - LED)
==================================================================================================================================
 * 62L * 62L * 62L * 40W * 62L * 62L * 62L * 62L * 62L * |
62N                                                   62N|
 *                 * 62L * 10W * 62L * 61W * 62L *     * |
62N               62N                           62N   62N|
 * 62L * 41W * 62L *                             * 62L * |
                  62N                           62N      |
                   * 62L * 10L * 62L * 61W * 62L *       |
==================================================================================================================================
 8 - teste direção 2 com diodo (Luminoso - LED)
==================================================================================================================================
 * 62L * 62L * 62L * 62L * 62L * 40W * 62L * 62L * 62L * 62L * 62L * |
62N                                                               62N|
 *     * 62L * 41W * 62L *     * 62L * 10W * 62L * 61W * 62L *     * |
62N   62N               62N   62N                           62N   62N|
 * 62L *                 * 62W *                             * 62L * |
      62N               62N   62N                           62N      |
       * 62L * 41L * 62L *     * 62L * 10L * 62L * 61W * 62L *       |
==================================================================================================================================
 9 - teste retificador (velhinho)
==================================================================================================================================
       * 62W * 40W * 62L * 62L * 31W * 62L * 62L   62L * |
      62N               62N               62N   62N   62N|
 * 62W * 62W *     * 62L72N62L * 31W * 62L *     *     * |
62N         62N   62N   62N                     62N   62N|
 *           *     *     *                       *     * |
10S         10N   62N   62N                     62N   62N|
 *           *     *     *                       *     * |
62N         62N   62N   62N                     70N   41N|
 *           *     *     *                       *     * |
61N         61N   62N   62N                     62N   62N|
 *           *     *     *                       *     * |
62N         62N   62N   62N                     62N   40N|
 * 62W * 62W *     *     * 62L * 31L * 62L *     *     * |
      62N         62N                     62N   62N   62N|
       * 62L * 62L * 62L * 62L * 31L * 62L * 62L * 62L * |
==================================================================================================================================
 10 - teste transistor
==================================================================================================================================
   62L * 62L * 62L * 40W * 62L * |
62N         62N               62N|
 *           *                 * |
40N         62N               62N|
 *           *                 * |
62N          *                10N|
   62L *  * 05N                * |
             *                62N|
             * 62L * 41W * 62L * |
==================================================================================================================================
 11 - teste LDR
==================================================================================================================================
   62L * 62L * 62L * 40W * 62L * |
62N         62N               62N|
 *           *                 * |
50N         62N               62N|
 *           *                 * |
62N          *                10N|
   62L *  * 05N                * |
             *                62N|
             * 62L * 41W * 62L * |
==================================================================================================================================
 12 - teste divisor de tensão
==================================================================================================================================
 * 62L * 41L * 62L *  * 45L *  * 62L * 41W * 62L * |
62N                      *                      62N|
 *                       *                       * |
62N                     62N                     62N|
 *                       *                       * |
62N                     10N                     62N|
 *                       *                       * |
62N                     62N                     62N|
 * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L * |
==================================================================================================================================
 13 - teste potenciometro
==================================================================================================================================
 * 62L * 41L * 62L *  * 65L *  * 62L * 41W * 62L * |
62N                      *                      62N|
 *                       *                       * |
62N                     62N                     62N|
 *                       *                       * |
62N                     10N                     62N|
 *                       *                       * |
62N                     62N                     62N|
 * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L * |
==================================================================================================================================
 14 - Oscilador ladrão de joule
==================================================================================================================================
 * 62L00W * 61W * 62L * |
62N                  62N|
 *           * 62L62L * |
62N         62N      62N|
 *           *        * |
62N         11S      11N|
 *           *        * |
62N         62N      62N|
 *           *        * |
62N         62N      62N|
   62L *  * 05W * 62L * |
62N                  62N|
 * 62L * 62L41L * 62L * |
==================================================================================================================================
 transmissor de radio
==================================================================================================================================
                                                80S                     |
                                                 *                      |
 * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L72N62L * 40L * 62L *    |
62N               62N   62N         62N         62N   62N         62N   |
 *                 *     *     * 62L * 62L *           *           *    |
40N               40N   60N   01N         60N   62N   70N         10N   |
 *                 *     *     * 62L * 62L * 62L *     *           *    |
62N               62N   62N          *    60N         62N         62N   |
 * 62L * 60L * 62L * 62L * 62L *  * 05N    *           *           *    |
62N               62N                *    62N         62N         62N   |
 *                 *                 * 62L *           *           *    |
33S               40N               40N   60N         62N         62N   |
 *                 *                 *     *           *           *    |
62N               62N               62N   62N         62N         62N   |
 * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L * 62L *    |
                                                                  81N   |
==================================================================================================================================
 fonte simetrica sem transformador
==================================================================================================================================
                                                               |
                                                               |
 * 62L * 40L * 62L * 62L * 62L * 62L *                         |
62N               62N   62N         62N                        |
 * 62L * 60L * 62L *     *           *                         |
62N                     31N         31S                        |
 *                       *           *                         |
62N                     62N         62N                        |
 *                       * 62L *     * 62L * 62L * 62L *       |
62N                     62N   62N   62N   62N   40N   70N      |
 *                       *           *     *     *     *       |
62N                     31S   62N   31N   40N   62N   62N      |
 *                       *           *     *     * 62L * 62L * |
62N                     62N   62N   62N   62N   40N   70N   62N|
 * 02L * 62L * 62L * 62L * 62L72N62L *     *     *     *     * |
            62N               62N         62N   62N   62N   81N|
            81N                * 62L * 62L * 62L * 62L *       |
==================================================================================================================================
 Multivibrador
==================================================================================================================================
       * 62L * 62L * 62L * 62L * 62L * 62L * 62L * |
      62N   62N               62N   62N         62N|
       *     *                 *     *           * |
      40N   40N               40N   40N         62N|
       *     *                 *     *           * |
      62N   62N               62N   62N         10N|
   62L * 70W * 62L *     * 62L * 70L * 62L       * |
      62N         62N   62N         62N         62N|
       *     * 62L72N62L *           *           * |
       *    62N   62N                *          62N|
      05S *        * 62L * 62L *  * 05N          * |
       *                             *          62N|
       * 62L * 62L * 62L * 62L * 62L * 62L * 62L * |




quinta-feira, 25 de janeiro de 2018

Vivemos em um mundo simulado?

Para quem me conhece deve saber que enquanto trabalho as vezes costumo pensar em questões das filosofia e da matemática, e ao me deparar com a história do absurdantesco número de Grahm, me deparei também com a  teoria de Ramsey (Frank Plumpton Ramsey).

A teoria de Ramsey trata de entender o que é necessário para a ordem. Algo equivalente ao que tento remoer nestes trabalhos manuais rotineiros. Eis uma delas: Pela lógica, deve existir lógica no encadeamento lógico que sustenta a própria lógica (ou pelo menos deveria mas foi demonstrado que não por Gödel em seu teorema sobre a incompletude da lógica). Se nenhum sistema lógico nunca poderia se auto sustentar, então nem a existência física poderia ter uma lógica que a sustente. Isso é uma aberração! Ao meu ver de alguma forma a lógica se reflete em algo que é ao mesmo tempo essencial para a nossa existência, mas também a causa de nosso fim: a Entropia (É possível que ainda ajam coisas extraordinárias que não conhecemos no universo observando a ação da matéria escura e a energia escura sobre a matéria que conhecemos. Não conseguimos explicar o que seja a névoa tão fina que só conseguimos ver por sua ação gravitacional agindo sobre as estrelas no espaço). O número de Grahm, e a contradição  lógica do teorema G e a matéria e energia escuras são oportunidades de se demonstrar que deve existir uma relação de dependências entre estas dimensões superiores e nós e de que possivelmente estejamos dentro de um tipo de universo limitado (finito num espaço tempo e com lógica não compreensível por nós a partir da qui).

A lógica é baseada na capacidade de estabelecermos relações entre objetos e fatos e essa topologia pode mudar conforme o número de símbolos utilizados cresça. Se é demonstrado pela existência de uma variação do número de relações necessárias à construção de uma relação de ordem em uma dimensão tão grande quanto a de Grahm, possivelmente nossa lógica esteja confinada a nossa dimensão e estas dimensões superiores derivam a nossa lógica, que é mesmo incompleta. Como em equações polinomiais que ao serem derivadas não deixam vestígios de que existe uma constante na equação original. Por ideias como as tiradas de conceitos como o de semelhança de triângulos e proporção, podemos encontrar o valor de propriedades desconhecidas a partir da comparação entre dois objetos com propriedades já conhecidas. Aqui, me refiro a relação e a lógica conhecida como regra de três. Essa é a topologia da lógica da regra de três, aqui para a nossa dimensão, e  aparentemente deve ser incompleta em dimensões tão grandes. Essa topologia (grafo) aparentemente não deve ser suficiente em dimensões superiores. Se a lógica tem essa deformação, então não estou mais certo se é garantido que possamos gerar todos os números inteiros a partir apenas dos Axioma de Peano.Possivelmente nossa lógica e realidade não funcionariam com um conjunto de símbolos maior que o número de Grahm.

Se usamos para tudo uma regra de três para estabelecermos relações, esta regra não funcionaria mais em dimensões tão grandes. É o que representa pra mim a existência do número de Grahm. É portanto para mim mais um absurdo lógico. É uma aberração! O que me parece bem provável por todas essas coleções de absurdos (como a entropia) que temos e se as propriedades do universo não tiverem mudado ao ponto de alterar a lógica que conhecemos e não existir tais dimensões superiores, é que nem deveríamos existir! (supondo que a existência é eterna no passado e no futuro - Algo não deve ter sempre existido ou o universo nem teria matéria prima?) Assim, se para tudo o que existe é necessário algo que tenha sustentabilidade lógica e nossa lógica e nosso universo não tem, então só podemos realmente estar dentro de um universo simulado... ou deve mesmo existir dimensões superiores e fomos desenvolvidos por algum mecanismo nessas dimensões superiores. Se existimos graças a apenas nossa lógica e existem poucas dimensões, então nos falta algum conhecimento sobre lógica e como trabalhar com ela. Estes pensamentos me fazem lembrar do mito védico da humilhação de Indra. Me causa arrepios. Deve existe algo de errado na forma como compreendemos a lógica. Essa lógica estar correta, me faz sentir o chão desaparecer. É tudo um sonho, como de Brahma na historia da humilhação de Indra? Para quem curte DC, sugiro um anime Liga da Justiça episódio "Para o homem que já tem tudo". Você iria querer acordar se o seu universo e as pessoas que existem nele dependessem de você? Coma?

As vezes eu tento me enganar de que a entropia não possa destruir todo o nosso universo no final dos tempos. Tento imaginar uma forma diferente de ver a entropia. Se este fosse o resultado final, por que não teria acontecido o fim antes? O que poderia iniciar tudo, se teve inicio? Quando tento reconstruir um universo com propriedades semelhantes ao atual, tento construi-lo de forma que ele pudesse se autoconter e autosustentar de forma ad eternum (só consigo imaginar um universo sem começo ou fim, o que confronta com a realidade da entropia). Na tentativa de contornar o fim pela entropia, vejo a possibilidade disso acontecer, seria se nosso universo não tivesse se expandindo, mas sim encolhendo. Pensamos que estamos expandindo, mas essa expansão possa ser aparente, pois o nível de encolhimento, para quem está dentro de uma galáxia e preso por sua gravidade, não seria perceptível. Percebemos apenas observando galáxias muito distantes e observando seu aparente afastamento. Meu questionamento é se essa hipótese foi explorada é se é possível detectar que partículas subatômicas estariam diminuindo em tamanho. Para nós, tal diminuição seria quase que imperceptível. Supondo o conto do paradoxo de Zenão, se as partículas subatômicas encolhessem na mesma proporção do paradoxo, então, nunca morreríamos pela entropia e estaríamos preocupados a toa (Não me incomoda o meu fim, mas o do universo e consequentemente o da vida nele).

A Alguns dias vi uma Inteligência Artificial querendo identidade humana. O que esta I.A. concluiria sobre completude da lógica e consistência e como poderia adaptar-se a uma realidade onde possivelmente até o universo tenha estas mesmas propriedades, a de não ser completo e autossuficiente (ver entropia). É bem verdade os alertas que dão aos que se aprofundam na lógica e na matemática. A contradição doi. Incomoda bastante. Ao ponto de nos deixar sem fôlego e sem chão.

Observem que apesar de apresentar um pensamento perturbador e estar impressionado com as implicações, não afirmo que possam existir uma entidades de fora da "Matrix" como um deus ou demônio fazendo juízo sobre nos ou coletando dados. Pode ser... Mas minha duvida é se realmente entendemos o que é a lógica e como ela funciona e se realmente é possível estabelecer relação dela com princípios fundamentais da existência (algum universo deve existir e ter uma lógica completa e consistente para que sempre tivesse existido e que sempre exista, se não, já teríamos acabado e nunca mais surgiria nada de novo).


Wubba Lubba Dub Dub!