Strange Gravity pt-br Explainer

Explicação de Gravidade estranha

Objetivo deste desafio: Fazer o objeto azul regular cair como o estranho objeto verde.
Passo a passo da solução: Se você tiver 1 minuto para mover seu telefone de um lado da sala para o outro, há muitas maneiras de fazê-lo: levá-lo até lá muito rapidamente e depois esperar, deslocar-se uniforme e lentamente, começar devagar e acelerar à medida que o tempo se esgota ou mesmo dois passos à frente um passo atrás em todo o caminho. Todas essas diferentes maneiras de se mover pela sala são como a aceleração de sua transição. A chamada de aceleração leva um argumento: uma função da biblioteca d3. d3.easeQuadIn começa devagar e acelera como a gravidade funciona na Terra, enquanto d3.easeCubicOut começa rápido e depois desacelera. Para resolver o desafio, é preciso substituir a função de aceleração do blueCircle pela mesma função de aceleração do greenCircle.
Solução do código de exemplo:
(Toque abaixo para revelar)

function drop() {
  blueCircle.transition()
    .duration(1000)
    .attr('cy', 180)
    .ease(d3.easeCubicOut);
  greenCircle.transition()
    .duration(1000)
    .attr('cy', 180)
    .ease(d3.easeCubicOut);
}
d3.selectAll('circle')
  .on('click',drop);

Conceitos de JavaScript: Bloco de Código (função), Expressão de Membro, Identificadores
Conceitos de D3: .transition(), .duration(), .attr(‘cy’,), .ease()
Código Adicional (código oculto executado antes do código do desafio):
[detalhes]

var floor = svg.append('rect').attr('fill','slategrey').attr('x',0).attr('y',205).attr('width',300).attr('height',50);
var blueCircle = svg.append('circle').attr('fill','aqua').attr('r',25).attr('cx',100).attr('cy',30);
var greenCircle = svg.append('circle').attr('fill','limegreen').attr('stroke','lime').attr('stroke-width',3).attr('r',25).attr('cx',175).attr('cy',30);

[/details]