Le plan consiste à tracer la phase d'une fonction complexe 2D à l'aide de la carte pm3d et d'une palette de couleurs répétée d'une manière continue. Pour être plus précis, la palette n'est définie que sur [-pi, pi], alors que la phase elle-même pourrait sortir de cette plage. La palette de couleurs doit répéter pour ces valeurs.Gnuplot: Répétition de la palette pm3d en dehors de la plage
Ma tentative actuelle consistait à forcer la fonction à rester à l'intérieur de la plage et à recommencer depuis l'autre côté lorsque l'on franchissait une frontière en soustrayant ou en ajoutant des multiples de 2 * pi. Cela a cependant entraîné des artefacts chaque fois qu'un tel saut de phase s'est produit dans la fonction. Notez les pixels anneaux bleu-ish dans la parcelle:
Ce fut le code utilisé pour générer cette parcelle:
set pm3d map
set palette model HSV defined (0 0 1 1, 1 1 1 1)
set samples 100; set isosamples 100
set xrange [-4:4]
set yrange [-4:4]
set cbrange [-pi:pi]
set cblabel "Phase"
phaseCont(u,v) = 2*pi* ((u/4)**2 + (v/4)**2)
phaseClip(u,v) = phaseCont(u,v) - (floor(phaseCont(u,v)/(2*pi) + 0.5) * 2*pi)
set terminal png
set output "phaseplot.png"
splot phaseClip(x,y) with pm3d
unset output
Il est logique les artefacts apparaissent comme interpolation arrive, mais il est pas ce que je vais faire, bien sûr.
Existe-t-il un moyen de créer de superbes diagrammes 2D avec des motifs de couleur répétés?
Les artefacts apparaissent car par défaut pm3d interpole entre les quatre coins d'un quadrilatère. Vous pouvez supprimer ceci avec, par exemple, 'set pm3d corners2color c1'. Je ne saurais pas comment faire autrement. – Christoph
Oui, c'est ce que je pensais que ça venait. Et merci pour le conseil génial avec corners2color, qui a eu l'effet désiré! Pourriez-vous s'il vous plaît signaler ce commentaire comme une réponse afin que je puisse marquer comme réponse correcte? – JCh3ss