2013-01-25 1 views
1

Je suis un débutant dans ce type d'approche de la programmation, car je ne me soucie pas vraiment de la génération de graphiques hardcore. Je conçois, écris, exécute et étudie des modèles climatiques paramétrés avec python. Mais, enfin, je me suis retrouvé avec un problème de visualisation. Je cherchais quelque chose dans la bibliothèque du Caire qui me permet de mapper un dégradé linéaire sur une courbe arbitraire (pas nécessairement une circonférence) de sorte qu'il y ait une variation de couleur (ou de nuance) plus ou moins lisse sur mon chemin. Ensuite, j'ai cherché un motif et j'ai finalement trouvé que les dégradés de mailles au Caire sont la solution.Utilisation de dégradés de maillage au Caire pour colorier un tracé

Cependant, je ne peux pas créer un nouveau dégradé de maillage à partir de mon script python avec cairo.pattern_create_mesh()! Par conséquent, mes questions sont: Comment j'utilise des dégradés de mailles au Caire? Existe-t-il un autre moyen simple de faire ce que je veux avec Cairo (je ne sais pas, comme un simple mappage d'un segment de ligne à une courbe via la paramétrisation, je sais que je demande trop)?

Répondre

0

Les motifs de maillage ont été ajoutés dans le cairo 1.12 qui est la dernière version. Ainsi, la plupart des liaisons linguistiques ne les supportent probablement pas encore. Je ne connais rien à la combinaison de python et de cairo et je ne connais donc aucune solution de contournement.

Je ne connais aucun moyen simple de simuler ce dont vous avez besoin avec d'autres modèles, désolé. (Bien que je ne sois pas vraiment sûr de la façon dont vous voulez faire votre mapping via les dégradés de maillage soit ...)

+0

Pour ce que j'ai lu, en gros Inkscape wiki et Illustrator aident, pour les circonférences, on peut utiliser un dégradé conique pour obtenir ce que Je veux. J'ai vu le Caire, dans sa dernière version, peut le faire. Je me demandais s'il y avait une généralisation de cela pour une courbe lisse arbitraire. Comme vous l'avez dit, il se peut que je doive attendre que les liaisons python soient mises à jour pour utiliser des gradients de maillage, dont les coniques sont, si je comprends bien, un cas particulier de gradients de maillage. – elessartelkontar

+0

Le truc bon marché que je pense est, pour l'instant, le meilleur, est la courbe de division dans un grand nombre de segments individuels et à chaque segment assigner un gradient linéaire sur lequel le premier arrêt est le dernier arrêt du gradient de segment précédent . Évidemment, les segments de courbe doivent être petits puisque vous allez approximer, localement, la direction du gradient à travers la ligne tangente de la courbe. Alors cela pourrait être un problème pour une courbe qui a un très petit rayon de courbure dans certaines de ses sections. – elessartelkontar

+0

Le problème avec ceci est: Un gradient linéaire n'a qu'une seule ligne. Donc je ne pense pas que vous puissiez approcher votre gradient conique de cette façon. Vous auriez besoin de magie pour dessiner directement ceci dans une surface d'image ... –

Questions connexes