Posição de X (dúvida básica)
Bom dia!
Tava buscando pela internet algum fórum com programadores / desenvolvedores e achei esse aqui. Ainda não comecei o curso de desenvolvedor, mas estou usando a plataforma Khan academy para não entrar do zero totalmente e saber alguns conceitos. Lá tem alguns desafios para treinar com códigos e até que estou curtindo e desenvolvendo bem tudo. Porém em um desafio de consertar o código de um desenho eu realmente não entendi... me refiro à ellipse que corresponde ao olho de um urso...
[A dúvida]
Inicialmente, o valor da primeira ellipse, corrspondente ao olho esquerdo era 160, mas depois de consertada ela se torna: 160 por''x-faceSize/4. Alguém pode me explicar o porquê? para mim seria x - 40. Eu tentei desde ontem entender e não entendi o motivo dessa resposta nem com a explicação do site. Desde já, agradeço a quem explicar. Aqui está o desafio:
https://pt.khanacademy.org/computing/computer-programming/programming/resizing-with-variables/pc/challenge-brown-bear-eyes
ou
Desafio: Os olhos do urso pardo
Faça o olho esquerdo seguir a face para a esquerda e para a direita
No momento, quando você muda a variável x, o rosto se move para a esquerda e para a direita, mas o olho esquerdo continua no mesmo lugar. Nessa etapa, você vai consertar o código para que quando o rosto se mover para a esquerda, o olho esquerdo também se mova para a esquerda, e quando o rosto se mover para a direita, o olho esquerdo também se mova para a direita (vamos consertar o olho direito na próxima etapa).
Se você examinar as instruções ellipse do olho esquerdo, poderá ver que a coordenada x (primeiro parâmetro), é 160. Originalmente, antes de você começar a mexer no código, o x do rosto era 200 e faceSize era 160. Então, para manter a distância original entre o olho esquerdo e o centro do rosto, a coordenada x do olho esquerdo deve ser (200-160)/160 ou 1/4 do tamanho do rosto à esquerda de x.
Para fazer com que o olho esquerdo esteja sempre posicionado a 1/4 do tamanho do rosto à esquerda de x, faça o seguinte:
-Na elipse declarada para o olho esquerdo, substitua o valor de 160 por''x-faceSize / 4
noStroke();
var x = 200;
var y = 200;
var faceSize = 160;
var widthHeight = faceSize/8;
// ears
var earSize=faceSize*1/2;
fill(89, 52, 17);
ellipse(x-faceSize*2/5, y-faceSize*2/5, earSize, earSize);
ellipse(x+faceSize*2/5, y-faceSize*2/5, earSize, earSize);
// face
fill(163, 113, 5);
ellipse(x, y, faceSize, faceSize);
//eyes
fill(0, 0, 0);
ellipse (160 , 180, widthHeight,widthHeight);
ellipse(240, 180, widthHeight, widthHeight);
//nose
fill(89, 52, 20);
ellipse(x, y+faceSize/8, faceSize*4/15, faceSize/5);
Tava buscando pela internet algum fórum com programadores / desenvolvedores e achei esse aqui. Ainda não comecei o curso de desenvolvedor, mas estou usando a plataforma Khan academy para não entrar do zero totalmente e saber alguns conceitos. Lá tem alguns desafios para treinar com códigos e até que estou curtindo e desenvolvendo bem tudo. Porém em um desafio de consertar o código de um desenho eu realmente não entendi... me refiro à ellipse que corresponde ao olho de um urso...
[A dúvida]
Inicialmente, o valor da primeira ellipse, corrspondente ao olho esquerdo era 160, mas depois de consertada ela se torna: 160 por''x-faceSize/4. Alguém pode me explicar o porquê? para mim seria x - 40. Eu tentei desde ontem entender e não entendi o motivo dessa resposta nem com a explicação do site. Desde já, agradeço a quem explicar. Aqui está o desafio:
https://pt.khanacademy.org/computing/computer-programming/programming/resizing-with-variables/pc/challenge-brown-bear-eyes
ou
Desafio: Os olhos do urso pardo
Faça o olho esquerdo seguir a face para a esquerda e para a direita
No momento, quando você muda a variável x, o rosto se move para a esquerda e para a direita, mas o olho esquerdo continua no mesmo lugar. Nessa etapa, você vai consertar o código para que quando o rosto se mover para a esquerda, o olho esquerdo também se mova para a esquerda, e quando o rosto se mover para a direita, o olho esquerdo também se mova para a direita (vamos consertar o olho direito na próxima etapa).
Se você examinar as instruções ellipse do olho esquerdo, poderá ver que a coordenada x (primeiro parâmetro), é 160. Originalmente, antes de você começar a mexer no código, o x do rosto era 200 e faceSize era 160. Então, para manter a distância original entre o olho esquerdo e o centro do rosto, a coordenada x do olho esquerdo deve ser (200-160)/160 ou 1/4 do tamanho do rosto à esquerda de x.
Para fazer com que o olho esquerdo esteja sempre posicionado a 1/4 do tamanho do rosto à esquerda de x, faça o seguinte:
-Na elipse declarada para o olho esquerdo, substitua o valor de 160 por''x-faceSize / 4
noStroke();
var x = 200;
var y = 200;
var faceSize = 160;
var widthHeight = faceSize/8;
// ears
var earSize=faceSize*1/2;
fill(89, 52, 17);
ellipse(x-faceSize*2/5, y-faceSize*2/5, earSize, earSize);
ellipse(x+faceSize*2/5, y-faceSize*2/5, earSize, earSize);
// face
fill(163, 113, 5);
ellipse(x, y, faceSize, faceSize);
//eyes
fill(0, 0, 0);
ellipse (160 , 180, widthHeight,widthHeight);
ellipse(240, 180, widthHeight, widthHeight);
//nose
fill(89, 52, 20);
ellipse(x, y+faceSize/8, faceSize*4/15, faceSize/5);
Matheus
Curtidas 0