1
resposta

duvida em relação ao triangulo no html usando lineTo ?

<meta charset="UTF-8">
<canvas width="600" height="400"></canvas>
<script>

var tela = document.querySelector("canvas");

var pincel = tela.getContext("2d");

pincel.fillStyle = "yellow";
pincel.beginPath();
pincel.moveTo(300,200);
pincel.lineTo(200,400)
pincel.lineTo(400,400)
pincel.fill()

</script>

eu não entendo como lineTo faz um triangulo? entendi mais ou menos que moveTo pede para o pincel começar a desenhar naquela determinada coordenada mais o lineTo não o que entendi e que faça uma linha da cordenada 200 para 400 uma linha reta agora 400 para 400 não entendi?

1 resposta

Olá Petrus, tudo bem? Espero que sim!

O método lineTo não cria um triângulo diretamente, mas sim desenha uma linha a partir da posição atual do pincel (ou seja, a posição em que ele foi movido por moveTo) até a coordenada especificada por lineTo.

No seu exemplo, o código desenha um polígono com três lados, que forma um triângulo.

  • pincel.moveTo(300, 200); define a posição inicial do pincel no ponto (300, 200).

  • pincel.lineTo(200, 400); desenha uma linha do ponto atual (300, 200) até o ponto (200, 400).

  • pincel.lineTo(400, 400); desenha uma linha do ponto atual (200, 400) até o ponto (400, 400).

Essas duas chamadas de lineTo criam duas linhas, uma inclinada e outra horizontal, formando assim os três lados de um triângulo. A última linha fecha o triângulo, conectando o último ponto ao primeiro ponto.

Quando você chama lineTo(200, 400), você move o lápis até o ponto (200, 400) sem desenhar uma linha. Em seguida, quando você chama lineTo(400, 400), você move o lápis até o ponto (400, 400), desenhando uma linha reta a partir do ponto anterior (200, 400).

Dessa forma, você cria um triângulo com os três pontos: (300, 200), (200, 400) e (400, 400). A chamada pincel.fill() preenche o triângulo com a cor amarela definida anteriormente, criando um triângulo amarelo no canvas.

Espero ter sanado suas dúvidas!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!