Problème de compilation avec gm_graphes

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Problème de compilation avec gm_graphes

Messagepar gourdan » Mercredi 16 Novembre 2011, 23:21

Bonsoir,
j'ai essayé de compiler le code asymptote suivant de GMaths,
Code: Tout sélectionner
import gm_graphes;
size(7cm,0);
real[][] matadj={{1,1,0,0,0},
{0,0,0,1,1},
{0,3,0,1,0},
{0,2,0,0,4}};
GRAPHE gr=GRAPHE(matadj,configuration="cercle");
draw(gr);

ça ne passe pas, je ne comprends pas pourquoi, je trouve :
Code: Tout sélectionner
CD: C:\GOURD\Asymptote\Graphes
Current directory: C:\GOURD\Asymptote\Graphes
asy -f png -render 4  Graphe0.asy
Process started >>>
Graphe0.asy: 7.17: no matching function 'GRAPHE(real[][], string configuration)'
<<< Process finished.
================ READY ================
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: gm_graphes

Messagepar maurice » Jeudi 17 Novembre 2011, 00:02

Bonsoir, ton code marche chez moi (sous linux).
Le problème est ailleurs...
maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 00:03

As-tu récupéré au moins mon fichier gm_graphes.asy ? il n'est pas fourni avec asymptote !
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 00:05

oui, mais je pense qu'il est vieux.
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 00:09

@ maurice,
J'ai compilé sous Windows 7.
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 00:10

Essaye avec cela :
gm_graphes.zip
(3.8 Kio) Téléchargé 88 fois
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 00:11

En fait je voudrais juste dessiner un graphe simple pondéré.
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar maurice » Jeudi 17 Novembre 2011, 00:12

gourdan a écrit:@ maurice,
J'ai compilé sous Windows 7.


Il n'y a aucune raison que ca ne marche pas sous seven !
Avec les fichiers de Gaétan ca doit fonctionner.

maurice
Asymptote :
----> Démarrage rapide : http://cgmaths.fr/Atelier/Asymptote/Asymptote.html
----> Documentation 3D : http://www.mathco.tuxfamily.org et si ça ne marche pas, essayez la version pdf
maurice
Méga-utilisateur
 
Messages: 399
Inscription: Jeudi 25 Mars 2010, 13:49
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 00:18

C'est bon, ça marche avec ce que Gaëtan vient de me donner.
Merci merci à tous les deux.
Il me reste juste à régler les problèmes des flèches (graphe non orienté).
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 00:34

gourdan a écrit:Il me reste juste à régler les problèmes des flèches (graphe non orienté).

Si tu utilises le style par défaut... tu peux le redéfinir pour le paramètre flèche :
Code: Tout sélectionner
stylepardefaut.a_arrow=None;

(à placer après import gm_graphes)

----------

Ou alors, tu te crées ton propre style de graphe :

Code: Tout sélectionner
stylegraphe gourdanstyle=stylegraphe(s_env     = ellipse,
                                       s_penlab  = currentpen,
                                       s_penenv  = currentpen,
                                       s_fill    = NoFill,
                                       a_ang     = -20,
                                       a_labpos  = 0.55,
                                       a_labdir  = Relative(E),
                                       a_pen     = currentpen,
                                       a_penbelow= nullpen,
                                       a_penlab  = currentpen,
                                       a_arrow   = None,
                                       a_labfill = UnFill);


et tu indiques de l'utiliser en définissant gr.

Code: Tout sélectionner
GRAPHE gr=GRAPHE(matadj,configuration="cercle",stylegraphe=gourdanstyle);
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 19:00

Précision (puisque la doc est très limitée) sur les paramètres d'un style :
  • ceux qui commencent par "s_" sont relatifs aux sommets ;
  • ceux qui commencent par "a_" sont relatifs aux arêtes (graphe non-orienté)/arcs(graphe orienté).

L'idée est de définir un style général qui convient à une majorité de sommets et d'arêtes... puis de modifier quelques cas particuliers qui ne seraient pas satisfaisants avec les commandes modif_s et modif_a.

Code: Tout sélectionner
import gm_graphes;
import gm_graphes_styles;
size(7cm,0);
string[] noms={"$A$","$B$","$C$","$D$","$E$"};
real[][] matadj={{1,1,0,0,0,1},
                 {0,0,0,1,0,0},
                 {1,3,0,0,0,1},
                 {0,2,0,0,1,0}};
GRAPHE gr=GRAPHE(noms,matadj,configuration="cercle",style_boule_2);
// On a adopté le style "style_boule_2" mais on modifie le style d’un sommet et d’une arête avant traçage.
modif_s(gr,2,s_penlab=blue,s_penenv=2bp+red,s_fill=FillDraw(yellow));
modif_a(gr,2,5,a_ang=0,a_labpos=.65,a_pen=1.5bp+.5blue,a_penbelow=2.5bp+paleblue);
draw(gr,aff_a_lab=false);


Image
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 19:32

Génial !!!
Quelle souplesse !!
Du coup j'ai créé plusieurs styles, selon les besoins.
Merci beaucoup.
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 19:54

Tant mieux si cela te convient... et que cela sert à quelqu'un.

------------------

Je viens de m'apercevoir d'un petit problème si on souhaite ne pas mettre la pondération sur tous les arcs : je reverrai cela ce weekend... si ce n'est pas nécessaire avant.

Edition (quelques minutes après) pour une solution temporaire


On peut y arriver en mettant "invisible" par défaut... et en mettant ensuite de la couleur à un arc spécifique.

Cette façon de faire ne me satisfait pas : je la reverrai plus tard.

Code: Tout sélectionner
import gm_graphes;
stylepardefaut.a_penlab=invisible;
stylepardefaut.a_labfill = Fill(invisible);
size(7cm,0);
real[][] matadj={{1,1,0,0,0},
                 {0,0,0,1,1},
                 {0,3,0,1,0},
                 {0,2,0,0,4}};
GRAPHE gr=GRAPHE(matadj,configuration="cercle");

modif_a(gr,1,3,a_penlab=red);

draw(gr,aff_a_lab=true);


Image
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 21:27

Pour ne pas mettre les étiquettes, j'utilisais
Code: Tout sélectionner
draw(gr,aff_a_lab=false);
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 21:43

Est-ce possible que les étiquettes soit affichées sur les arêtes ?
Par exemple dans le code suivant qu'est-ce que je dois modifier ?
Code: Tout sélectionner
import gm_graphes;
size(7cm,0);
stylegraphe gourdanstyle=stylegraphe(s_env     = ellipse,
                                       s_penlab  = currentpen,
                                       s_penenv  = currentpen,
                                       s_fill    = NoFill,
                                       a_ang     = 0,
                                       a_labpos  = 0.55,
                                       a_labdir  = Relative(E),
                                       a_pen     = currentpen,
                                       a_penbelow= nullpen,
                                       a_penlab  = currentpen,
                                       a_arrow   = None,
                                       a_labfill = UnFill);
string[] noms={"$A$","$B$","$C$","$D$","$E$","$F$"};
real[][] matadj={{0,1,0,0,0,1},
{0,0,0,0,1,0},
{1,3,0,0,0,1},
{0,2,0,0,1,0}};

GRAPHE gr=GRAPHE(noms,matadj,
configuration="cercle",
gourdanstyle
);
draw(gr,aff_a_lab=true);
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 22:33

J'ai trouvé comment afficher les étiquettes sur les arcs :
Code: Tout sélectionner
 a_labdir  = Relative(N),

Est-ce prévu pour cela ?
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 23:20

gourdan a écrit:Pour ne pas mettre les étiquettes, j'utilisais
Code: Tout sélectionner
draw(gr,aff_a_lab=false);

C'est ce qu'il faut pour ne rien afficher du tout... mais je parlais de la possibilité de n'en afficher que certaines.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 23:31

gourdan a écrit:Est-ce possible que les étiquettes soit affichées sur les arêtes ?


Code: Tout sélectionner
a_labpos  = 0.55

signifie qu'il faut placer les étiquettes au point situé à 55% de la longueur de chaque arc, dans le sens de son orientation.

Code: Tout sélectionner
a_labdir  = Relative(E)

signifie qu'il faut placer chaque étiquette au point précédent dans la direction indiquée... sachant que cette direction est relative : c'est comme si on se déplace sur un arc en regardant toujours le nord et donc l'Est désigne la droite de l'arc quand on le parcourt.


Tu peux donc mettre :
Code: Tout sélectionner
a_labpos  = 0.5
a_labdir  = (0,0)

pour centrer les étiquettes sur chaque arc

mais il faudra peut-être tenter

Code: Tout sélectionner
a_labpos  = 0.6

avec tout ou partie des arcs, si tu as des problèmes avec des arcs qui se croisent en leur milieu (le cas de l'exemple que tu proposes).
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar GMaths » Jeudi 17 Novembre 2011, 23:37

J'avais écrit "gauche" au lieu de "droite" : message précédent rectifié.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: gm_graphes

Messagepar gourdan » Jeudi 17 Novembre 2011, 23:40

Est-ce qu'on peut modifier juste sur un arc ? où il y a le problème de croisement.
gourdan
Kilo-utilisateur
 
Messages: 162
Inscription: Samedi 15 Octobre 2011, 14:22
Statut actuel: Actif et salarié | Enseignant

Suivante

Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités