Flèches 3D

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

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.
pluton
Utilisateur confirmé
Utilisateur confirmé
Messages : 29
Inscription : mercredi 08 août 2012, 02:46

Flèches 3D

Message par pluton »

Bonjour,

je m'intéresse à Asymptote notamment pour sa gestion de la 3D et plus particulièrement de tout ce qui relève des vues en perspective. Les schémas que j'aimerais dessiner sont relativement simples. Lors de mes enquêtes préliminaires, je me suis concentré sur la gestion des flèches en 3D. Suivant les options de compilation (et plus particulièrement settings.render=0; et settings.prc=false; qui sont mes options par défaut), j'ai l'impression qu'il n'est pas possible de dessiner une tête de flèche en 3D mais sans gradient avec un rendu purement vectoriel. A ma connaissance, les options ci-dessus conservent l'aspect vectoriel mais aplatissent les têtes de flèches. Si on commente ces options, le rendu des têtes de flèches est bien 3D mais pixelisé. Pour ma part, j'aimerais obtenir des cônes sans gradient et vectoriels : y a-t-il une solution ?

Voici le code en cours :
{}
Compilées telles quelles, les têtes sont aplaties. Sinon, j'imagine qu'il est possible de programmer ses propres styles de flèches avec des cônes mais pour l'instant, ça me dépasse. Ma question concerne plutôt les commandes de bases.

Merci

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: flèches 3D

Message par chellier »

pluton a écrit :Bonjour,
Bonjour,
pluton a écrit :... j'ai l'impression qu'il n'est pas possible de dessiner une tête de flèche en 3D mais sans gradient avec un rendu purement vectoriel. A ma connaissance, les options ci-dessus conservent l'aspect vectoriel mais aplatissent les têtes de flèches. Si on commente ces options, le rendu des têtes de flèches est bien 3D mais pixelisé. Pour ma part, j'aimerais obtenir des cônes sans gradient et vectoriels : y a-t-il une solution ?
settings.render=0 crée une projection vectorielle en 2D. Pour une solution vectorielle, je ne vois pas, mais on peut nettement améliorer la qualité en passant par exemple à :

Code : Tout sélectionner

settings.render=4;
(on peut augmenter la qualité en augmentant le nombre, mais le poids du fichier va considérablement augmenter...)

Après, il y a aussi la sortie OpenGL, via la compilation "asy -V" qui permet de bouger la figure sans passer par le format prc, tout dépend de ce que l'on veut faire.

Christophe

pluton
Utilisateur confirmé
Utilisateur confirmé
Messages : 29
Inscription : mercredi 08 août 2012, 02:46

Re: flèches 3D

Message par pluton »

merci pour votre réponse. En fait, j'aimerais éviter tout rendu pixelisé, aussi fin soit-il. D'après vos commentaires, j'entrevois deux solutions:

1 - programmer un nouveau style de flèche avec cône personnalisable comme tête
2 - faire une "feature request" sur sourceforge.

ces petits cônes aident le lecteur à comprendre l'angle de la vue 3D assez rapidement et ne me semblent pas superflus.

pluton
Utilisateur confirmé
Utilisateur confirmé
Messages : 29
Inscription : mercredi 08 août 2012, 02:46

Re: flèches 3D

Message par pluton »

bon, j'ai regardé rapidement la commande pour créer des cônes qui serviraient de têtes de flèches. Il n'y a aucune automatisation mais puisque les schémas que j'ai en tête sont assez simples, c'est envisageable de continuer sur cette voie. Je vois aussi que TexGraph est une alternative probablement très pertinente puisqu'il propose aussi des têtes de flèches coniques. Alors voici ce que j'ai :
{}
Du fait du point de vue et de l'organisation du code, il y a un problème avec la flèche du haut : le cône qui joue le rôle de la tête est tracé après le trait de la flèche.
Je suis assez étonné par ce résultat. Je pensais qu'Asymptote serait capable de calculer ce qui est "devant" et ce qui est "derrière" quel que soit l'ordre des lignes de code.
Je vais continuer.

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: flèches 3D

Message par chellier »

pluton a écrit : Je suis assez étonné par ce résultat. Je pensais qu'Asymptote serait capable de calculer ce qui est "devant" et ce qui est "derrière" quel que soit l'ordre des lignes de code.
Pas avec settings.render=0;. Les éléments sont rajoutés les uns sur les autres.
On peut toujours se débrouiller en changeant l'ordre du code, mais ce ne sera que du bidouillage.
{}
pluton a écrit :Je vais continuer.
Bon courage :wink:

Christophe

pluton
Utilisateur confirmé
Utilisateur confirmé
Messages : 29
Inscription : mercredi 08 août 2012, 02:46

Re: flèches 3D

Message par pluton »

oui merci. Une amélioration d'Asymptote sur cette question est-elle au programme ?

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

Re: flèches 3D

Message par OG »

pluton a écrit :oui merci. Une amélioration d'Asymptote sur cette question est-elle au programme ?
Je ne sais pas, mais si quelqu'un a du temps il n'y a qu'à. Je pense qu'à partir de ce qui
traîne ici ou ailleurs il est possible de faire une extension qui s'occupe de 3D
simple vectorisée.

O.G.