View this page in français

Asymptote: The Vector Graphics Language

Description

Asymptote is a powerful descriptive vector graphics language that provides a natural coordinate-based framework for technical drawing. Labels and equations are typeset with LaTeX, for high-quality PostScript output. A major advantage of Asymptote over other graphics packages is that it is a programming language, as opposed to just a graphics program.
Read more from the Official Web Site.

Here are 873 examples of Asymptote code

List of sub-categories
Keywords associated with theses categories:
abscissa align Animation arc arc (3D) array Arrow (3D) Arrows/Bars atexit Axis Axis (3D) basealign Basis bbox binarytree Biology bsp buildcycle CAD Camera Chemistry Circle clip conic contour coords system Data deferred drawing Diagram Direction Direction (3D) distance draw (2D) draw (3D) drawtree ellipse Fill/Unfill fixedscaling flowchart font Fractals Fraction frame Function (creating) Function (graphing) Function (implicit) Function (recursion) Geometry Geometry (3D) Graph Graph (3D) graphic Grid Grid (3D) hyperbola interp interpolate Intersection inversion L-System Label label (3D) labelmargin layer legend length Level set (3D) light (3D) line Line type Locus Loop/for/while magnetize margin Markers mass Morphing Number format Numerical Methods NURBS obj object opacity Optics pair palette parabola parallel patch path path3 pattern pen perpendicular Physics picture plane point Point/Dot Polar Polyhedron Position Primary School Projection (3D) Random recursivegraph Revolution Rotate roundedpath segment Shading Shading (3D) shipout size slide slopefield Solid Sphere Spherical harmonics spring stats struct surface syzygy tangent tex/latex features texpath Tiling Transform Transform (3D) trembling triangle triple True size tube typedef unitsize vector Vector field Venn diagram Wire frame

7 Responses to “Asymptote”

Flux RSS de ces commentaires rss

  1. Brad Paul says:

    This is a great site! Where can I find Lsystem.asy?

  2. Collin Dominique says:

    Cher Monsieur,
    Nouvel utilisateur d'asymptote. Je m'y suis mis très vite grâce surtout à votre site et les très nombreux exemples, extrêmement pédagogique pour l'autodidacte que je suis. (J'utilisais PovRay auparavant.).

    J'aurais une question, liée directement à ce que je cherche à tracer. Peut-on avec asymptote "tracer" l'intersection entre deux surfaces données? (comme le permet PovRay avec la fameuse fonction "trace()"?). Sauf erreur, je n'ai pas encore trouvé une telle possibilité sous asymptote (dans la 3D).
    Je vous donne le code ci-dessous de ce que j'essaye de faire : tracer l'intersection entre une surface hectémoréale ("cône ondulé") et une sphère (pour commencer, mais cela pourrait très bien être une quadrique…). Je sais que cela donne une sinusoïde sphérique pour la sphère. Mais alors comment tracer (ou visualiser) cette courbe sir la surface de la sphère qui est l'intersection entre ces deux objets avec asymptote sans pour autant connaître l'équation d'une telle courbe dans l'espace…?
    Merci pour votre aide sur cette question que je pense importante.

    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //     name  = Dominique COLLIN
    //	mail  = ###@sfr.fr
    //	adress= 18 rue Joseph Cadei - 06100 , Nice - France.
    //	Phone = ## portable = ##
    //     Work  = Lycée Professionnel Pasteur
    //	             25 rue du Professeur Delvalle - 06000, Nice.
    //	date  = 7 février 2010.
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // Objet = Gnomonique théorique
    // Lignes horaires Temporaire en usage dans l'antiquité.
    // 
    // Représentation des différentes SURFACES HECTEMOREALES. ("Cône Ondulé")
    // Leur Intersection avec une Quadrique. (sphère pour commencer)
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    settings.outformat="pdf";
    settings.prc=true; // pour figure 3D manipulable à la souris sous Adobe Reader >7.
    
    //Appel des fichiers de macros.
    
    import geoespace;
    import solids;
    import three;
    import math;
    import graph3;
    
    settings.tex="pdflatex";
    
    unitsize(1cm);
    size(10cm,0cm,true);
    
    currentprojection=orthographic(5,3,1);
    //currentlight=(2,2,1);
    
    //~~~~~~~~~ CONSTRUCTIONS des SURFACES HECTEMOREALES ~~~~~~~~~ 
    
    //latitude géographique du lieu du cadran solaire
    // **********************************************************************
    real phi=(43+43/60); // Nice, bien sur... MODIFIABLE		*	<----
    // **********************************************************************
    
    real R=1; // Rayon de la sphère	
    
    real K=- cot(phi*pi/180);
    
    // **********************************************************************
    real k=2 , n=6/k ; // 3e heure temporaire (n=6/k) 	MODIFIABLE *	<----
    // **********************************************************************
    
    // CONSTRUCTION des sinusoïdes sphériques - (voir aussi Chasles)
    
    real x(real t) {return R*cos(t)/sqrt(1+(K*cos(n*t))^2) 		;}
    real y(real t) {return R*sin(t)/sqrt(1+(K*cos(n*t))^2) 		;}
    real z(real t) {return R*K*cos(n*t)/sqrt(1+(K*cos(n*t))^2) 	;}
    
    path3 ps=graph(x,y,z,0,2*k*pi, operator ..)--cycle; // profil pour créer la surface hectémoréale.
    draw(ps,1/2bp+1.5red);
    
    pen color1=green+opacity(0.5);
    surface hectemoreale=surface(ps);
    draw(hectemoreale, lightblue+opacity(0.9));
    
    // **********************************************************************
    surface Objet=scale3(.7)*unitsphere;	// La Sphère pour commencer.
    draw(Objet,lightgreen);
    // **********************************************************************
    
  3. loumbert says:

    Merci pour les efforts

  4. Klaus Heidrich says:

    Salut Monsier Ivaldi!

    Je suis très content de pouvoir participer des nouméreuses examples, que vous avez publié. Ansi, je suis aussi contant de pouvoir dire ici: M-E-R-C-I.

    J'ai les deux questions suivantes: 1.) Pouvez vous expliquer votres pas principeuax en apprenant la language Asymptote? 2.) Et puis, en repensant sur ce chemin, que vous avez pris: Qu'en pensez vous: Comment c'est le mieux pour apprende Asymptote?

    Klaus Heidrich

    • AdminPh. Ivaldi says:

      Bonjour,

      Merci pour vos encouragements.
      Pour ce qui est de l'apprentissage d'un nouveau langage de programmation, j'apprends le mieux en commençant par lire succinctement la documentation puis en résolvant de petits problèmes que je me pose moi même sur la base d'exemples simples, avec la documentation toujours à portée de main.
      J'en profite pour mentionner un excellent document qui permet de débuter assez rapidement en Asymptote : http://cgmaths.fr/cgFiles/Dem_Rapide.pdf .