Como criar um cursor personalizado no React — Parte 2 [Explicação matemática]

Se você está procurando o código-fonte, ele está disponível no vídeo.

Por favor, apoie assistindo a este vídeo.

Este artigo está focado principalmente na parte matemática da animação do cursor (contorno do cursor). A parte 1 do artigo foi completamente relacionada à parte do código, se você quiser ver como está funcionando, pode segui-la.

A parte principal gira em torno dessa função —

O requestAnimationFrame também nos fornece uma variável timestamp que podemos usar para ver depois de qual intervalo de tempo nossa função recursiva está sendo chamada.

Também precisamos armazenar os pontos x e y toda vez que essa função é chamada. Então, para isso, podemos criar uma função que pode armazenar todas essas 3 propriedades.

Precisamos ajustar nossa função animateOutline também para obter a saída desejada.

Estamos empurrando o objeto de coordenadas dentro do array de coordenadas .

Novas condições foram adicionadas para impedir que a função requestAnimationFrame a chame novamente. De acordo com a condição, vamos chamá-lo recursivamente apenas até que as coordenadas do contorno do cursor de tempo não sejam iguais às coordenadas do ponto do cursor .

Consolaremos o log quando as coordenadas se tornarem iguais. Estaremos usando a console.tablefunção porque fornece uma boa visão tabular da saída.

O chefe dos dados
A cauda dos dados

Há poucas coisas que podemos concluir a partir desses dados -

  • A diferença entre os timestamps é quase constante, ou seja, 16–17ms. Se você ler este artigo, saberá que está simulando 60FPS (1000/60). Esses 1000ms divididos por 60 é igual a 16,67ms.
  • Os pontos de dados têm uma grande diferença na fase inicial da animação, mas a diferença diminui à medida que o tempo aumenta.
Os dados principais da diferença entre ponto e contorno
Os dados da cauda da diferença entre ponto e contorno

Se traçarmos x pontos em relação ao timestamp, obteremos um gráfico como este

Um pouco se parece com um gráfico logarítmico e uma função de bezier cúbica fácil. Aumenta rapidamente na fase inicial e então a taxa de incremento diminui.

E é isso, é assim que conseguimos alcançar esse tipo de transição suave e fácil com a ajuda do JavaScript.

Mais conteúdo em plainenglish.io

Suggested posts

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.

Coletando OSINT para caçar ameaças

Coletando OSINT para caçar ameaças

Olá, entusiastas cibernéticos! Bem-vindo de volta ao OSINT para a série de caça a ameaças. No primeiro artigo, apresentei uma visão geral do OSINT e sua importância na caça às ameaças.

Related posts

Por que alguns freelancers estão fingindo suas vidas

Por que alguns freelancers estão fingindo suas vidas

Estive recentemente no Linkedin, a maior rede social profissional do mundo, e encontrei postagens de designers freelancers que sigo que me chamaram a atenção. Todos postaram fotos de aviões, na praia com seus laptops, de piscinas e escritórios com vistas incríveis.

3 maneiras comprovadas de melhorar sua habilidade de escrita

Os benefícios de escrever e estratégias para ajudá-lo a fazê-lo

3 maneiras comprovadas de melhorar sua habilidade de escrita

Em 2022, com o lançamento do GPT-3, a habilidade de escrita parece se tornar menos importante. Com a IA, pessoas com redação ruim também podem gerar funcionários de qualidade.

A performance solo da garota ruiva

A pedido de Hayden, Katie se filma se masturbando.

A performance solo da garota ruiva

Passava da meia-noite quando Hayden levou Katie de volta ao dormitório da faculdade depois da noite juntos. Ela tinha aula cedo de manhã e não tinha outra troca de roupa depois de ter ficado com ele na noite anterior.

O que torna um podcast influente?

O que torna um podcast influente?

Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.