Animer le remplissage du cercle à l’aide d’une onde sinusoïdale

J’essaie de créer un cercle animé à l’aide d’une sinusoïde. Voici un exemple d’image que j’ai créé:

Exemple d'image.

Ainsi, le noir est le cercle et, comme vous pouvez le constater, il est coupé en sinusoïde. Pouvez-vous faire cela pendant que l’onde sinusoïdale “voyage” horizontalement et décider où la vague doit être placée par une valeur Y de la hauteur des cercles? (pour faire croire qu’il y a de l’eau dans le cercle, créer des vagues sur le dessus et pouvoir décider de la quantité d’eau dans le cercle)

Y a-t-il un moyen de faire ça? Peut-être qu’il ya un endroit pour lire ce genre d’animations?

Une chose à noter est que le fond gris représente la transparence, de sorte que la partie “coupée” du cercle doit être transparente.

La principale fonctionnalité permettant de faire quelque chose comme ceci est un masque d’ opacité . L’exemple ci-dessous utilise un ensemble VisualBrush en mosaïque pour le masque et utilise la propriété de transformation du pinceau pour effectuer le mouvement que vous avez décrit.

                                       

Pour masquer le masque, vous pouvez le placer directement dans VisualBrush au lieu d’une liaison comme ci-dessus. Vous voudrez peut-être aussi examiner d’autres types de brosses et leurs transformations et viewport / viewbox.

Mise à jour : Le masque est maintenant en deux morceaux afin que l’amplitude de l’onde puisse être ajustée séparément. Vous pouvez également ajuster ScaleTransform.ScaleX pour modifier la fréquence, mais vous devez vous assurer d’obtenir l’ensemble de la vague ou les 0.5,0.25,0.1 l’animation, par exemple, essayez 0.5,0.25,0.1