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 the 842 examples of Asymptote code
- Official Gallery One-Pager -- old full screen presentation -- 240 examples of code
--

- Examples 2D
400 examples of code
- Generalities -- old full screen presentation -- 196 examples of code
--

- graph.asy -- old full screen presentation -- 34 examples of code
--

- geometry.asy -- old full screen presentation -- 117 examples of code
--

- trembling.asy -- old full screen presentation -- 15 examples of code
--

- Opacity -- old full screen presentation -- 19 examples of code
--

- Generalities -- old full screen presentation -- 196 examples of code
--
- Examples 3D
78 examples of code
- graph3.asy -- old full screen presentation -- 18 examples of code
--

- grid3.asy -- old full screen presentation -- 6 examples of code
--

- three.asy -- old full screen presentation -- 11 examples of code
--

- solids.asy -- old full screen presentation -- 15 examples of code
--

- tube.asy -- old full screen presentation -- 21 examples of code
--

- graph3.asy -- old full screen presentation -- 18 examples of code
--
- Surveys
54 examples of code
- Fractals -- old full screen presentation -- 12 examples of code
--

- Path Orientation -- old full screen presentation -- 4 examples of code
--

- L-System -- old full screen presentation -- 24 examples of code
--

- Tiling -- old full screen presentation -- 7 examples of code
--

- Random Walk (3D) -- old full screen presentation -- 7 examples of code
--

- Fractals -- old full screen presentation -- 12 examples of code
--
- Animation -- old full screen presentation -- 20 examples of code
--

- Miscellaneous -- old full screen presentation -- 10 examples of code
--

- Unofficial packages
66 examples of code
- arrows_pi.asy -- old full screen presentation -- 4 examples of code
--

- base_pi.asy -- old full screen presentation -- 10 examples of code
--

- edvenn_pi.asy -- old full screen presentation -- 1 examples of code
--

- graph_pi.asy -- old full screen presentation -- 21 examples of code
--

- hull_pi.asy -- old full screen presentation -- 4 examples of code
--

- polyhedron_js.asy -- old full screen presentation -- 22 examples of code
--

- tube_js.asy -- old full screen presentation -- 4 examples of code
--

- arrows_pi.asy -- old full screen presentation -- 4 examples of code
--




12 novembre 2009 2 h 04 min
This is a great site! Where can I find Lsystem.asy?
12 novembre 2009 9 h 26 min
Thank you for the compliment.
You may find Lsystel.asy following the link in the code ;-)
i.e. <a href="http://www.piprime.fr/files/asymptote/lsystem/Lsystem.asy" rel="nofollow">http://www.piprime.fr/files/as.....system.asy</a>
19 février 2010 13 h 38 min
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); // **********************************************************************