Version 2.10 et trembling

Tout ce qui concerne le langage Asymptote. Ce langage est utilisable sur le forum via les balises asy.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
OG
Modérateur spécialisé
Modérateur spécialisé
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Version 2.10 et trembling

Message non lu par OG »

Bonjour

Au cas où les utilisateurs n'auraient pas vu, le fonctionnement de trembling a été modifié.
Avant le code suivant fonctionnait :

Code : Tout sélectionner

import trembling;
size(8cm);

path cle=unitcircle;

/* View the definition of path tremble(path,real,real,real,real) */
path tcle=tremble(cle,frequency=0.25,random=1);
draw(tcle);

path tri=(-1,-0.5)--(1,-0.5)--(0,0.75)--cycle;
path ttri=tremble(tri,frequency=0.5,random=1.5);
draw(ttri);

shipout(bbox(3mm,invisible));
aujourd'hui il ne fonctionne plus :) et se remplace par

Code : Tout sélectionner

import trembling;
size(8cm);

path cle=unitcircle;

/* View the definition of path tremble(path,real,real,real,real) */
tremble tr=tremble(frequency=0.25,random=1);

draw(tr.deform(cle));

path tri=(-1,-0.5)--(1,-0.5)--(0,0.75)--cycle;
tremble tr1=tremble(frequency=0.25,random=1.5);
path ttri=tr1.deform(tri);
draw(ttri);

shipout(bbox(3mm,invisible));
O.G.
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Version 2.10 et trembling

Message non lu par chellier »

Merci ! il va falloir que je regarde ça de plus près...

Christophe
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Re: Version 2.10 et trembling

Message non lu par MB »

L'intérêt est de ne pas avoir à préciser les paramètres du tremble à chaque fois ?
En tous cas, c'est plutot mieux je trouve.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Version 2.10 et trembling

Message non lu par chellier »

MB a écrit :L'intérêt est de ne pas avoir à préciser les paramètres du tremble à chaque fois ?
En tous cas, c'est plutot mieux je trouve.
Il faudra voir à l'usage... avec startTrembling(), il n'y avait pas besoin non plus de préciser les paramètres à chaque fois.

Exit donc startTrembling(), et l'option "magnetizePoints" a été modifiée :

Code : Tout sélectionner

import trembling;
import geometry;
tremble tr=tremble(angle=6,frequency=1,random=5); 
size(5cm,0); 
pair A=(0,0), B=(3,0), C=(0,2), O=midpoint(B--C); 
path t=B--A--C--cycle; 
path c=circle(O,sqrt(13)/2); 
draw(tr.deform(t),blue); 
dot(A^^B^^C); 
draw(tr.deform(c)); 
markrightangle(B,A,C,bp+darkmagenta,filltype=Fill(Yellow));
donne :
NotMagnetize.png
NotMagnetize.png (43.18 Kio) Consulté 1820 fois
Alors que :

Code : Tout sélectionner

import trembling;
import geometry;
tremble tr=tremble(angle=6,frequency=1,random=5); 
size(5cm,0); 
pair A=(0,0), B=(3,0), C=(0,2), O=midpoint(B--C); 
path t=B--A--C--cycle; 
path c=circle(O,sqrt(13)/2); 
draw(tr.deform(t),blue); 
dot(A^^B^^C); 
draw(tr.deform(c,A,B,C)); // A, B et C "magnétisés"
markrightangle(B,A,C,bp+darkmagenta,filltype=Fill(Yellow)); 
label(scale(.7)*"magneticPoints",C,9E,.8red); 
donne :
Magnetize.png
Magnetize.png (48.85 Kio) Consulté 1820 fois
Le code qui change est :

Code : Tout sélectionner

draw(tr.deform(c,A,B,C));
À noter, geometry n'est plus importé par trembling.

Il faut que je mette ma doc à jour :roll:

Christophe
OG
Modérateur spécialisé
Modérateur spécialisé
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Version 2.10 et trembling

Message non lu par OG »

MB a écrit :L'intérêt est de ne pas avoir à préciser les paramètres du tremble à chaque fois ?
En tous cas, c'est plutot mieux je trouve.
J'ai juste pris l'exemple de Philippe où deux dessins avec paramètres différents étaient tracés.
Je n'utilise ni geometry ni trembling (ni asymptote même).
L'intérêt de l'ancienne version réside (peut-être) dans le fait que tu prends un code de figure, tu ajoutes l'option trembling au début et toute ta figure tremble.
Avis de celles et ceux qui l'utilisent...

O.G.
Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Version 2.10 et trembling

Message non lu par Francky »

Ça semble plus long à écrire, mais aussi plus rigoureux.
J'aime beaucoup trembling et je vais donc m'adapter.
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
chellier
Modérateur honoraire
Modérateur honoraire
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot
Contact :

Re: Version 2.10 et trembling

Message non lu par chellier »

Bon, c'est un peu lourd comme syntaxe... De plus il n'est plus possible de faire trembler autre chose qu'un "path". Du moins, je n'ai pas réussi à faire trembler un triangle de type "triangle" :(

J'aurai bien vu un type pen, du genre :

Code : Tout sélectionner

pen tr=tremble(angle=6,frequency=1,random=5);
path tri=(-1,-0.5)--(1,-0.5)--(0,0.75)--cycle;
draw(tri,bp+blue+tr);
Si quelqu'un connait John Bowman... :wink:

Christophe
OG
Modérateur spécialisé
Modérateur spécialisé
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Version 2.10 et trembling

Message non lu par OG »

Bonsoir

Oui, sauf à récuperer le path de triangle, ce qui doit être possible.
Je m'interrogeais aussi sur les "markers" version trembling.

Bon si nécessaire j'avais trafiqué l'ancienne version pour que cela marche, à tester/vérifier et en espérant ne pas avoir jeter le fichier.

O.G.
GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2042
Inscription : lundi 01 octobre 2007, 10:20

Re: Version 2.10 et trembling

Message non lu par GMaths »

OG a écrit :Oui, sauf à récuperer le path de triangle, ce qui doit être possible.
La méthode Path() de l'objet pour cela.

Code : Tout sélectionner

triangle t=triangle(B,A,C);
draw(tr.deform(t.Path()),blue);
Ph. Ivaldi

Re: Version 2.10 et trembling

Message non lu par Ph. Ivaldi »

Bonjour,

Je passai là par hasard :)

Comme cela a été déja dit, l'avantage de la version originale de trembling était qu'une figure, même construite avec geometry.asy, pouvait être tremblée en ajoutant une seule ligne de code.
Ce n'est plus le cas et les marqueurs ne sont plus affectés non plus par cette extension…
Bien que je trouve la nouvelle syntaxe meilleure, je pense qu'il faudrait vraiment que startTrembling soit à nouveau implémentée et affecte tous les chemins, même ceux des markers.
Le diff entre l'ancienne version et la nouvelle est .

\bye
Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Version 2.10 et trembling

Message non lu par Francky »

Ph. Ivaldi a écrit :Bonjour,

Je passai là par hasard :)
Très honoré de pouvoir te saluer.
Merci pour ton travail.
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem
MB
Administrateur
Administrateur
Messages : 8058
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant
Contact :

Re: Version 2.10 et trembling

Message non lu par MB »

Salutation Philippe !
Ph. Ivaldi a écrit :Bien que je trouve la nouvelle syntaxe meilleure, je pense qu'il faudrait vraiment que startTrembling soit à nouveau implémentée et affecte tous les chemins, même ceux des markers.
Il faudrait en effet que les marqueurs soient eux aussi affectés par trembling. Ca devrait se faire.
MB. (rejoignez pCloud et bénéficiez de 10Go de stockage en ligne gratuits)
Pas d'aide en message privé. Merci de consulter ce sujet avant de poster votre premier message.
Répondre