Lien coord. image et coord. script

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.

Lien coord. image et coord. script

Messagepar projetmbc » Samedi 26 Décembre 2009, 16:51

Bonjour,
prenons le script suivant :

Code: Tout sélectionner
// Source : http://www.marris.org/asymptote/Points/index.html

// Définition de la taille de l'image
size(5cm,0);

// Définition et tracé du segment [AB]
pair A=(0,0), B=(4,0);
draw(A--B);

// Définition de styles de points
marker croix1=marker(scale(2)*cross(4),
                     1bp+gray);
marker croix2=marker(scale(2)*rotate(45)*cross(4),
                     1bp+red);

// Placement des points dans un style particulier
draw("$A$",A,W,croix1);
draw("$B$",B,E,croix1);

// Construction du milieu
draw("$I$",midpoint(A--B),S,croix2);


Comment peut-on connaître les coordonnées en pixel des points dans l'image de la figure ? Mon idée serait de faire une interface graphique des scripts Asymptote pour une gestion via la souris des labels dans les rares cas de conflit avec le tracé.

Toute info. est la bienvenue.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Asymptote-Lien coord. image et coord. script

Messagepar GMaths » Samedi 26 Décembre 2009, 17:09

projetmbc a écrit:Comment peut-on connaître les coordonnées en pixel des points dans l'image de la figure ?[/quote

]Pour ne mettre jamais posé la question, il faut comme toi que je cherche pour connaitre la réponse...

Quand c'est un peu technique, songe aussi à poser tes questions en anglais ici : http://sourceforge.net/projects/asympto ... rum/409349
S'il a une réponse immédiate à te donner, John Bowman (le grand manitou d'Asymptote) te répondra...
S'il tarde à répondre, c'est qu'il n'a pas de solution rapide...
Parfois, il ajoute des fonctionnalités rapidement suite à une demande... et parfois, j'imagine qu'il note la question dans un coin (s'il l'a trouvée intéressante) car cela lui arrive de déterrer certaines demandes x semaines après, quand il a créé quelque chose pour apporter une solution à un problème posé.

projetmbc a écrit:Mon idée serait de faire une interface graphique des scripts Asymptote pour une gestion via la souris des labels dans les rares cas de conflit avec le tracé.


Sauf que là... je ne comprends pas du tout... ou du moins, ce que j'en comprends, ne justifie pas, il me semble, le développement d'une interface : quand un label est placé lors d'une première compilation, il me semble simple d'apporter une modification pour que cela soit rectifié à la compilation suivante.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Asymptote-Lien coord. image et coord. script

Messagepar projetmbc » Samedi 26 Décembre 2009, 17:35

GMaths a écrit:Quand c'est un peu technique, songe aussi à poser tes questions en anglais ici : http://sourceforge.net/projects/asympto ... rum/409349

Merci. Je m'en vais poser my question in english...

GMaths a écrit:
projetmbc a écrit:Mon idée serait de faire une interface graphique des scripts Asymptote pour une gestion via la souris des labels dans les rares cas de conflit avec le tracé.

Sauf que là... je ne comprends pas du tout... ou du moins, ce que j'en comprends, ne justifie pas, il me semble, le développement d'une interface : quand un label est placé lors d'une première compilation, il me semble simple d'apporter une modification pour que cela soit rectifié à la compilation suivante.

Par "cas rares", j'entends les cas pénibles où pas mal de traits se superposent et dans ces cas, trouver au jugé les bonnes valeurs peut vite devenir pénible.

De même, si tu places un label à l'intérieur d'une aire, il arrivera des fois où le placement à la souris se fait très rapidement.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Asymptote-Lien coord. image et coord. script

Messagepar OG » Samedi 26 Décembre 2009, 22:41

Bonsoir

je n'avais pas tout lu. Concernant une interface graphique d'Asymptote, il faut savoir
que dans la distribution il y a/avait un tout début, écrit en Python : xasy.
Pour info donc.

O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Asymptote-Lien coord. image et coord. script

Messagepar projetmbc » Samedi 26 Décembre 2009, 23:12

Merci.

Je vais essayer de regarder cela. Mais le temps de trouver la formule qu'il me faut, je ne suis pas sûr que cela vaille le coup.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Asymptote-Lien coord. image et coord. script

Messagepar OG » Dimanche 27 Décembre 2009, 19:02

Bonsoir

J'ai vu le fil sur Amitex et la question sur le forum d'Asymptote : impressionnant !

Je ne sais pas si une telle fonction existe, le problème est que si tu définis la taille de ton image au départ, la coordonnées-image de ton point dépend de tout ce que tu mets dans l'image. C'est donc à la fin, quand tu connais les deux extrèmes (la bounding box et les coordonnées asymptote de ces deux extrèmes) que tu peux faire tous les calculs.

O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: Asymptote-Lien coord. image et coord. script

Messagepar GMaths » Dimanche 27 Décembre 2009, 19:41

OG a écrit:J'ai vu le fil sur Amitex et la question sur le forum d'Asymptote : impressionnant !


Surtout compliqué.

OG a écrit:Je ne sais pas si une telle fonction existe, le problème est que si tu définis la taille de ton image au départ, la coordonnées-image de ton point dépend de tout ce que tu mets dans l'image. C'est donc à la fin, quand tu connais les deux extrèmes (la bounding box et les coordonnées asymptote de ces deux extrèmes) que tu peux faire tous les calculs.


J'ai modifié les exemples pour tenter d'expliquer cela, en montrant que ce que renvoient point et truepoint est susceptible d'évoluer :

http://www.marris.org/asymptote/Points/ ... _truepoint

Et j'ajouterai plus tard des commentaires.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Asymptote-Lien coord. image et coord. script

Messagepar projetmbc » Lundi 28 Décembre 2009, 09:05

OG a écrit:C'est donc à la fin, quand tu connais les deux extrèmes (la
bounding box et les coordonnées asymptote de ces deux extrèmes) que tu peux
faire tous les calculs.

Un tel fonctionnement me va très bien. Pour l'interface graphique que j'aimerais faire, il y aurait en premier une image avec les points, les courbes... sans aucun label, puis ensuite, une fois cette image produite l'interface graphique ajouterait les labels, et c'est à ce moment là qu'il me faudrait les coordonnées "image".

GMaths a écrit:J'ai modifié les exemples pour tenter d'expliquer cela, en montrant que ce que renvoient point et truepoint est susceptible d'évoluer :
http://www.marris.org/asymptote/Points/ ... _truepoint
Et j'ajouterai plus tard des commentaires.

Pour le moment cela reste du chinois pour moi mais j'attendrais tes commentaires.

PS : dans le cadre de mon projet, comme je vais utiliser Asymptote et que je n'y connais rien, je vais peut-être taper en parallèle un tuto. sur Asymptote qui utiliserait tes exemples. Si cela se fait, cela te dérangerait-il ? Bien entendu, je citerais ton site.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Asymptote-Lien coord. image et coord. script

Messagepar GMaths » Lundi 28 Décembre 2009, 12:06

projetmbc a écrit:je vais peut-être taper en parallèle un tuto. sur Asymptote...


Bon courage...
... car rien que pour expliquer le fonctionnement de point et truepoint, on pourrait en écrire 5 pages. :lol:

A mes débuts, j'avais le projet d'expliquer Asymptote sur mon wiki et quand j'ai vu le temps que cela me prenait pour comprendre et expliquer les subtilités d'une seule fonction telle que "dir"
http://wiki.noordover.org/doku.php/latex:asymptote:notions:fonction_dir
j'ai été un peu découragé, et je me suis alors contenté de faire des galeries d'exemples : c'est plus plaisant à faire.

projetmbc a écrit:... qui utiliserait tes exemples. Si cela se fait, cela te dérangerait-il ? Bien entendu, je citerais ton site.


Ce ne sont pas MES exemples : ils sont à tout le monde... donc tu en fais ce que tu veux... et il est vraiment inutile de me citer... d'autant plus que les premiers exemples (au moins un tiers des exemples à ce jour), je les ai tous réalisés en étant très très inspiré par ceux de la galerie de Philippe.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: Asymptote-Lien coord. image et coord. script

Messagepar projetmbc » Mardi 29 Décembre 2009, 15:23

GMaths a écrit:
projetmbc a écrit:je vais peut-être taper en parallèle un tuto. sur Asymptote...

Bon courage...
... car rien que pour expliquer le fonctionnement de point et truepoint, on pourrait en écrire 5 pages. :lol:

Un tuto. n'a pas forcément vocation à être une bible. Si je fais un truc cela restera au raz des pâquerettes et correspondra à une utilisation concrète d'Asymptote.

GMaths a écrit:Ce ne sont pas MES exemples : ils sont à tout le monde... donc tu en fais ce que tu veux... et il est vraiment inutile de me citer... d'autant plus que les premiers exemples (au moins un tiers des exemples à ce jour), je les ai tous réalisés en étant très très inspiré par ceux de la galerie de Philippe.

Je préfère poser la question. Il me parait normal d'indiquer le boulot fait par d'autres. C'est la moindre des choses.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar OG » Mardi 29 Décembre 2009, 23:03

Bonsoir

Cela n'a rien à voir avec le sujet, mais plutôt celui de Tikz et des intervalles.
Histoire d'avoir un exemple supplémentaire pour qui veut et pour une fois
que je fais une figure avec Asymptote. Ici la fonction est décroissante, ce qui
oblige à utiliser une portion du graphe de la fonction.

Grosso modo j'ai ajouté le crochet extérieur au tracé de tout de chemin
(début, fin, les deux) avec deux options (taille, ratio), où taille est la hauteur
du crochet et ratio le ratio du trait qui fait que c'est un crochet par rapport à la hauteur
(c'est clair uniquement pour moi et encore). C'est copié sur Bar.
Code pas très propre non plus.
Code: Tout sélectionner
void bracket(picture pic, pair a, pair d, real s,pen p=currentpen)
{
  picture opic;
  pair ortd=s*(-d.y,d.x);
  Draw(opic,(ortd-.5d)--(-0.5d)--0.5d--(.5d+ortd),p+solid);
  add(pic,opic,a);
}
/*
picture bracket(pair a, pair d, real s, pen p=currentpen)
{
  picture pic;
  bracket(pic,a,d,s,p);
  return pic;
}
*/

arrowbar BeginBra(real size=0, real ratiob=.3)
{
  return new bool(picture pic, path g, pen p, margin margin) {
    real size=size == 0 ? barsize(p) : size;
    bracket(pic,point(g,0),size*dir(g,0)*I,ratiob,p);
    return true;
  };
}

arrowbar Bra(real size=0, real ratiob=.3)
{
  return new bool(picture pic, path g, pen p, margin margin) {
    int L=length(g);
    real size=size == 0 ? barsize(p) : size;
    bracket(pic,point(g,L),size*dir(g,L)*I,-ratiob,p);
    return true;
  };
}

arrowbar EndBra(real size=0, real ratiob=.3)= Bra;

arrowbar Bras(real size=0,real ratiob=.3)
{
  return new bool(picture pic, path g, pen p, margin margin) {
    real size=size == 0 ? barsize(p) : size;
    BeginBra(size,ratiob)(pic,g,p,margin);
    EndBra(size,ratiob)(pic,g,p,margin);
    return true;
  };
}
arrowbar BeginBra=BeginBra(),
Bra=Bra(),
EndBra=Bra(),
Bras=Bras();

import graph;

size(200,0);

//draw((2,1)--(1,1),BeginBra);
draw((0,0)..(1,1)..(-1,1),Bras);

real f (real x)
{
  return cos(x);
}

ylimits(-.3,1.5);
xaxis("$x$",EndArrow);
yaxis("$y$",EndArrow);

draw(graph(f,-.5,2,operator ..));

real x0=1;
real delta=.4;

// f décroissante

path hline1=(0,f(x0-delta))--graph(f,x0-delta,x0+delta)--(x0+delta,0)--(x0-delta,0)--(x0-delta,f(x0+delta))--(0,f(x0+delta))--cycle;
fill(hline1,gray+opacity(.5));
draw(hline1,blue);
draw((x0-delta,0)--(x0+delta,0),blue+bp,Bras);
draw((0,f(x0+delta))--(0,f(x0-delta)),blue+bp,Bras);
draw(graph(f,x0-delta,x0+delta),blue+bp);

Fichiers joints
intervalle.png
intervalle.png (3.41 Kio) Vu 1182 fois
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: [Asymptote] Lien coord. image et coord. script

Messagepar GMaths » Mercredi 30 Décembre 2009, 00:58

OG a écrit:Histoire d'avoir un exemple supplémentaire pour qui veut et pour une fois
que je fais une figure avec Asymptote.

Je testerai... et, sauf si tu t'y opposes, je mettrai les fonctions que tu as créées dans un fichier (MerciOG.asy :-))
puis je ferai quelques exemples pour montrer leur utilisation. Exemple (celui que tu as proposé mais avec des traits supplémentaires) :

Code: Tout sélectionner
import graph;
import MerciOG;
   
size(200,0);

real f (real x)
  {
  return cos(x);
  }

ylimits(-.3,1.5);
xaxis("$x$",EndArrow);
yaxis("$y$",EndArrow);

draw(graph(f,-.5,2,operator ..));

real x0=1;
real delta=.4;

path hline1=(x0-delta,0)--graph(f,x0-delta,x0+delta)--(x0+delta,0)--cycle,
     hline2=(0,f(x0-delta))--graph(f,x0-delta,x0+delta)--(0,f(x0+delta))--cycle;

fill(hline1^^hline2,gray+opacity(.5));
draw(hline1^^hline2,blue);

draw((x0-delta,0)--(x0+delta,0),blue+bp,Bras);
draw((0,f(x0+delta))--(0,f(x0-delta)),blue+bp,Bras);
draw(graph(f,x0-delta,x0+delta),blue+bp);
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar projetmbc » Mercredi 30 Décembre 2009, 12:04

GMaths a écrit:MerciOG.asy

On ne se moque pas... D'autant plus que c'est très facile...
Dernière édition par projetmbc le Mercredi 30 Décembre 2009, 12:18, édité 1 fois.
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar projetmbc » Mercredi 30 Décembre 2009, 12:16

Chez moi quand je teste l'exemple de OG, j'obtiens les messages d'erreur suivants :
Code: Tout sélectionner
/Users/test: 3.1: invalid token '?'
/Users/test: 4.1: invalid token '?'
/Users/test: 5.1: invalid token '?'
/Users/test: 6.1: invalid token '?'
...

D'où cela vient-il et a-t-on un mode "verbose" d'Asymptote ?
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar GMaths » Mercredi 30 Décembre 2009, 13:05

projetmbc a écrit:
GMaths a écrit:MerciOG.asy

On ne se moque pas... D'autant plus que c'est très facile...
:shock: :shock:
Vraiment aucun moquerie de ma part car Olivier est bien plus fort que moi en matière de programmation et de maths... donc c'est un vrai merci.
Sur le moment, je ne savais pas quoi inventer comme nom, donc j'ai écrit ce qui me passait par la tête et je vais trouver un autre nom pour le fichier au moment de la création des fichiers.

Ce qui était très facile, c'était de mal interpréter mon message. ;-)
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar projetmbc » Mercredi 30 Décembre 2009, 13:12

Au temps pour moi, I beg your pardon... :oops:

Sinon une idée pour le message d'erreur ?
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar GMaths » Mercredi 30 Décembre 2009, 13:23

projetmbc a écrit:Au temps pour moi, I beg your pardon... :oops:

Sinon une idée pour le message d'erreur ?

Comment as-tu compilé ?

Une idée en l'air : un problème d'encodage lors du copier-coller. Par exemple le é de décroissante.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar projetmbc » Mercredi 30 Décembre 2009, 13:44

C'est bien ce que je craignais... J'ai pas mal de soucis en ce moment avec les encodages de fichiers... J'ai un projet PHP qui m'indiquait des messages d'erreur et au final le problème venait "juste" de l'encodage. Une journée passée à chercher des erreurs de programmation pour rien. Vive les changements d'OS.. :evil:

Sinon pour l'excellente solution de OG, l'encodage était bien le souci. Il faudrait juste que je comprenne le code, mais ce sera pour plus tard.

Une question relative aux "import" : peut-on importer un package localement en le plaçant dans le même dossier du fichier qui demande "l'import", ou doit-on placer le package dans le dossier d'Asymptote ?

MerciOG.asy :mrgreen:
projetmbc
Péta-utilisateur
 
Messages: 1897
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar GMaths » Mercredi 30 Décembre 2009, 14:58

projetmbc a écrit:Une question relative aux "import" : peut-on importer un package localement en le plaçant dans le même dossier du fichier qui demande "l'import", ou doit-on placer le package dans le dossier d'Asymptote ?
avoue que là... pour y répondre toi-même, il te suffisait en une minute, de créer un fichier avec une commande pour voir si cela passe à l'import... (fatigue de fin d'année ? :lol: )

La réponse est : oui.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: [Asymptote] Lien coord. image et coord. script

Messagepar OG » Mercredi 30 Décembre 2009, 21:42

Bonsoir

De rien si l'exemple vous convient. Par contre les noms sont à revoir tout de même
et on peut aussi faire les crochets extérieurs si nécessaire et avec
des nouveaux noms, IntBracket, ExtBracket par exemple et les cousins Begin, End, etc.

Question programmation Asymptote, en fait et sans fausse modestie, je pense que Gaëtan
est plus compétent que moi (si si). L'intérêt d'Asymptote réside (pour moi) dans sa syntaxe proche
du C++ et si on a le courage de plonger dans la doc et avec un peu de pratique il n'est pas
très difficile d'y contribuer, de faire ses propres routines, etc... Mon asymptote-dada
fut les splines cubiques, puis les versions 3D (surfaces lisses en carreaux de Bézier) et il faudrait
continuer dans ce domaine...

bonne fin d'année
O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence


Retourner vers Asymptote

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: MSN [Bot] et 2 invités