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
- Official Gallery One-Pager -- old full screen presentation -- 265 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
--







novembre 12, 2009 2 h 04 min
This is a great site! Where can I find Lsystem.asy?
novembre 12, 2009 9 h 26 min
Thank you for the compliment.
You may find Lsystel.asy following the link in the code ;-)
i.e. http://www.piprime.fr/files/as.....system.asy
février 19, 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); // **********************************************************************mars 28, 2010 15 h 32 min
Excusez moi pour cette réponse très tardive.
Je vous invite à visiter cette page : http://asy.gmaths.net/forum/le.....s-t44.html
août 9, 2010 16 h 13 min
Merci pour les efforts
novembre 19, 2010 15 h 04 min
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
décembre 5, 2010 14 h 43 min
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 .