Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Proporção

Gostaria de entender matematicamente quais foram os cálculos realizados pelo professor para chegar nesses números(parte do código comentada) para que a proporção dos triângulos fosse mantida.

<script>

    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');

    function desenhaEsquadro(xa, ya, xc, yc, cor) {
        pincel.fillStyle = cor
        pincel.beginPath();
        pincel.moveTo(xa, ya);
        pincel.lineTo(xa, yc);
        pincel.lineTo(xc, yc);
        pincel.fill();

        pincel.fillStyle = 'white'
        pincel.beginPath();
    //pincel.moveTo((6*xa + xc)/7, (9*ya + 5*yc)/14);
        //pincel.lineTo((6*xa + xc)/7, (ya + 6*yc)/7);
        //pincel.lineTo((5*xa + 9*xc)/14, (ya + 6*yc)/7);
        pincel.fill();

}

    desenhaEsquadro(50, 50, 400, 400, 'black');

</script>
2 respostas
solução!

Tive a mesma dúvida. Mas não pesquisei pela resposta. No meu caso, quando estava fazendo o método, antes de olhar a resposta, resolvi incluir mais um parametro, no caso a "largura" do esquadro (a diferença entre o esquadro menor e o maior)

O meu método ficou assim:

function desenhaEsquadro (xa, ya, xc, yc, cor, largura) {

    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d'); 

    pincel.fillStyle = cor; 
    pincel.beginPath();
    pincel.moveTo(xa, ya); 
    pincel.lineTo(xa,yc); 
    pincel.lineTo(xc,yc); 
    pincel.fill(); 

    pincel.fillStyle = 'white'; 
    pincel.beginPath();
    pincel.moveTo(xa + largura, ya + (largura * 2.5)); 
    pincel.lineTo(xa + largura,yc - largura ); 
    pincel.lineTo(xc - (largura * 2.5),yc - largura); 
    pincel.fill(); 

}
desenhaEsquadro(01, 01, 250, 250, 'blue', 50); 

No exercício, a "largura" do esquadro era de 50 (A diferença entre valor do eixo X do ponto A do triangulo preto e o ponto A do triangula branco), assim como o eixo Y do ponto C tem diferença de 50 entre os triangulos.

Notei que a os valores de Y em A e de X em C eram acrescido e decrescido, respectivamente, na proporção da largura * 2.5)

No caso do meu método, a largura ficou flexível de acordo com a entrada do parâmetro.

Mas para o exercício, ou cada um se vira e acha uma proporção, ou fica sem esse cuidado.

Para o nível do exercício, sendo "início" do curso, acho que a lógica do cálculo não era o importante. Mas talvez tivesse sido bom se houvesse a informação/orientação por parta do professor para o cálculo dos pontos A e C do triângulo menor.

Enfim ..

Relaxa e estuda. :D

Hehehe, obrigado Marcus.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software