diff --git a/changelog b/changelog index 72812f4..e9e93ba 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20120118 tpd src/axiom-website/patches.html 20120118.01.tpd.patch +20120118 tpd src/input/pasta.input graphics test cases 20120113 rhx src/axiom-website/patches.html 20120113.01.rhx.patch 20121113 rhx src/input/Makefile add i2e.input 20120113 rhx src/input/i2e.input demo InputForm to Expression(Integer) diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 4765769..544ce7f 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3763,5 +3763,7 @@ books/bookvol9 treeshake compiler
books/bookvol9 treeshake compiler
20120113.01.rhx.patch src/input/i2e.input demo InputForm to Expression(Integer)
+20120118.01.tpd.patch +src/input/pasta.input graphics test cases
diff --git a/src/input/pasta.input.pamphlet b/src/input/pasta.input.pamphlet new file mode 100644 index 0000000..cf534b1 --- /dev/null +++ b/src/input/pasta.input.pamphlet @@ -0,0 +1,471 @@ +\documentclass{article} +\usepackage{axiom} +\setlength{\textwidth}{400pt} +\begin{document} +\title{\$SPAD/src/input pasta.input} +\author{Timothy Daly} +\maketitle +\begin{abstract} +These images and equations are from the book "Pasty by Design" by +George L. Legendre. +\end{abstract} +\eject +\tableofcontents +\eject +\begin{chunk}{*} +)set break resume +)spool pasta.output +)set message test on +)set message auto off +)clear all + +\end{chunk} +\section{Agnolotti} +These shell-like ravioli from Piedmont, northern italy, are fashioned +from small pieces of flattened dough made of wheat flour and egg, and +are often filled with braised veal, port, vegetables or cheese. The +true agnolotto should feature a crinkled edge, cut using a fluted +pasta wheel. Recommended with melted butter and sage + +\begin{chunk}{*} +--S 1 of 33 +X(i,j) == (10*sin((i/120)*%pi)^(0.5) + _ + (1/400)*sin(((3*j)/10)*%pi)) * _ + cos(((19*j)/2000)*%pi+0.03*%pi) +--R +--R Type: Void +--E 1 + +--S 2 of 33 +Y(i,j) == (10*sin((i/120)*%pi) + _ + (1/400)*cos(((30*j)/10)*%pi)) * _ + sin(((19*j)/2000)*%pi+0.03*%pi) +--R +--R Type: Void +--E 2 + +--S 3 of 33 +Z(i,j) == 5*cos((i/120)*%pi)^5 * sin((j/100)*%pi) - _ + 5*sin((j/100)*%pi) * cos((i/120)*%pi)^200 +--R +--R Type: Void +--E 3 + +--S 4 of 33 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..100,_ + style=="smooth",title=="Agnolotti") +--R +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function %EJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %EL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %EN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Agnolotti" +--R Type: ThreeDimensionalViewport +--E 4 + +)clear all + +\end{chunk} +\section{Cappelletti} +This pasta is customarily served as the first course of a traditional +north Italian Christmas meal, dished up in a chicken brodo +(broth). Typically, it is the children of a houseold who prepare the +cappelletti (little hats) on Christmas Eve, filling the pasta parcels +(made from wheat flour and fresh eggs) with mixed meats or soft +cheeses, such as ricotta. +\begin{chunk}{*} + +--S 5 of 33 +X(i,j) == (0.1 + sin(((3*i)/160)*%pi)) * cos(((2.3*j)/120)*%pi) +--R +--R Type: Void +--E 5 + +--S 6 of 33 +Y(i,j) == (0.1 + sin(((3*i)/160)*%pi)) * sin(((2.3*j)/120)*%pi) +--R +--R Type: Void +--E 6 + +--S 7 of 33 +Z(i,j) == 0.1 + (1/400.)*j + (0.3 - 0.231*(i/40.)) * cos((i/20.)*%pi) +--R +--R Type: Void +--E 7 + +--S 8 of 33 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..120,_ + style=="smooth",title=="Cappelletti") +--R +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function %EP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %ER with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %ET with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Cappelletti" +--R Type: ThreeDimensionalViewport +--E 8 + +)clear all + +\end{chunk} +\section{Fagottini} +A notable member of the pasta ripiena (filled pasta) family, fagottini +(little purses) are made from circles of durum wheat dough. A spoonful +of ricotta, steamed vegetables or even stewed fruit is placed on the +dough, and the corners are then pinched together to form a bundle. +These packed dumplings are similar to ravioli, only larger. +\begin{chunk}{*} + +--S 9 of 33 +A(i,j) == (0.8 + sin(i/100*%pi)^8 - 0.8 * cos(i/25*%pi))^1.5 + _ + 0.2 + 0.2 * sin(1/100*%pi) +--R +--R Type: Void +--E 9 + +--S 10 of 33 +B(i,j) == (0.9 + cos(i/100*%pi)^8 - 0.9 * cos(i/25*%pi + 0.03*%pi))^1.5 + _ + 0.3 * cos(i/100*%pi) +--R +--R Type: Void +--E 10 + +--S 11 of 33 +C(i,j) == 4 - ((4*j)/500)*(1+cos(i/100*%pi)^8 - 0.8*cos(i/25*%pi))^1.5 +--R +--R Type: Void +--E 11 + +--S 12 of 33 +X(i,j) == cos(i/100*%pi) * _ + (A(i,j) * sin(j/100*%pi)^8 + _ + 0.6 * (2 + sin(i/100*%pi)^2) * sin(j/50*%pi)^2) +--R +--R Type: Void +--E 12 + +--S 13 of 33 +Y(i,j) == sin(i/100*%pi) * _ + (B(i,j) * sin(j/100*%pi)^8 + _ + 0.6 * (2 + cos(i/100*%pi)^2) * sin(j/50*%pi)^2) +--R +--R Type: Void +--E 13 + +--S 14 of 33 +Z(i,j) == (1 + sin(j/100*%pi - 0.5*%pi)) * _ + (C(i,j) * ((4*j)/500) * _ + (1 + sin(i/100*%pi)^8 - 0.8 * cos(i/25*%pi))^1.5) +--R +--R Type: Void +--E 14 + +--S 15 of 33 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..50,_ + style=="smooth",title=="Fagottini") +--R +--R Compiling function A with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function B with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function C with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function %EV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %EX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %EZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Fagottini" +--R Type: ThreeDimensionalViewport +--E 15 + +)clear all + +\end{chunk} +\section{Fusilli Lunghi Bucati} +A distinctive member of the extended fusilli clan, fusilli lunghi +bucati (long pierced fusilli) originated in Campania, southern Italy, +and have a spring-like profile. Like all fusilli they are traditionally +consumed with a meat-based ragu, but may also be combined with thick +vegetable sauces and baked in the oven. +\begin{chunk}{*} + +--S 16 of 33 +A(i,j) == 10 + cos(i/10*%pi) + 2*cos((j+10)/10*%pi) + 10*cos((j+140)/160*%pi) +--R +--R Type: Void +--E 16 + +--S 17 of 33 +B(i,j) == 20 + cos(i/10*%pi) + 2*cos((j+10)/10*%pi) +--R +--R Type: Void +--E 17 + +--S 18 of 33 +C(i,j) == (j+10)/10*%pi +--R +--R Type: Void +--E 18 + +--S 19 of 33 +D(i,j) == i/10*%pi +--R +--R Type: Void +--E 19 + +--S 20 of 33 +E(i,j) == C(i,j) + 20*sin((j-20)/160*%pi) +--R +--R Type: Void +--E 20 + +--S 21 of 33 +F(i,j) == 70. * (0.1 - (j-180.)/200.) +--R +--R Type: Void +--E 21 + +--S 22 of 33 +X(i,j) == if ((20 <= j) and (j <= 180)) _ + then A(i,j) _ + else if (j <= 20) _ + then (cos(D(i,j)) + 2*cos(C(i,j))) _ + else B(i,j) +--R +--R Type: Void +--E 22 + +--S 23 of 33 +Y(i,j) == if ((20 <= j) and (j <= 180)) _ + then (sin(D(i,j)) + 2*sin(C(i,j))) _ + else (sin(D(i,j)) + 2*sin(C(i,j))) +--R +--R Type: Void +--E 23 + +--S 24 of 33 +Z(i,j) == if ((20 <= j) and (j <= 180)) _ + then E(i,j) _ + else if (j <= 20) _ + then (C(i,j)*j)/20 _ + else F(i,j) +--R +--R Type: Void +--E 24 + +--S 25 of 33 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..20,j=0..200,_ + style=="wire",title=="Fusilli Lunghi Bucati") +--R +--R Compiling function A with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function D with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function C with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function B with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function E with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function F with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function %FB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %FD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %FF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (10) ThreeDimensionalViewport: "Fusilli Lunghi Bucati" +--R Type: ThreeDimensionalViewport +--E 25 + +)clear all + +\end{chunk} +\section{Quadrefiore} +An uncommon variety of pasta corta (short pasta), quadrefiori (square +flowers) are sturdy, with rippled edges running down their +lengths. Francis Ford Coppola, the maker and distributor, uses antique +bronze moulds and wooden drying racks to achieve an authentic form +and consistency. +\begin{chunk}{*} + +--S 26 of 33 +X(i,j) == 2*cos((i/250.)*%pi)*(sin((3.*i)/250.*%pi))^20 + _ + (0.6 + 0.9*sin(j/50*%pi)) * cos(i/250*%pi) + _ + 0.2*cos((4*j)/25*%pi) +--R +--R Type: Void +--E 26 + +--S 27 of 33 +Y(i,j) == 2*sin((i/250.)*%pi)*(sin((3.*i)/250.*%pi))^20 + _ + (0.6 + 0.9*sin(j/50*%pi)) * sin(i/250*%pi) + _ + 1.5*sin(j/50*%pi) +--R +--R Type: Void +--E 27 + +--S 28 of 33 +Z(i,j) == (3*j)/10 +--R +--R Type: Void +--E 28 + +--S 29 of 33 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..500,j=0..50,_ + style=="smooth",title=="Quadrefiore") +--R +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Polynomial +--R Fraction Integer +--R Compiling function %FH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %FJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %FL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Quadrefiore" +--R Type: ThreeDimensionalViewport +--E 29 + +)clear all + +\end{chunk} +\section{Scialatielli} +Hailing from the Amaifi coast in the province of Naples, scialatielli +are a rustic pasta lunga (long pasta) similar in appearance to +fettuccine and tagliatelle. When they are made, milk and eggs can be +added to the durum wheat flour to lend it a golden color. Scialatielli +are best paired with seafood, or a ragu of pork or veal. +\begin{chunk}{*} + +--S 30 of 33 +X(i,j) == 0.1*cos(i/75*%pi) + 0.1*cos((i+7.5)/75*%pi)^3 + 0.1*sin(j/50*%pi) +--R +--R Type: Void +--E 30 + +--S 31 of 33 +Y(i,j) == 0.1*cos(i/75*%pi) + 0.2*sin(i/75*%pi)^3 + 0.1*sin(j/50*%pi) +--R +--R Type: Void +--E 31 + +--S 32 of 33 +Z(i,j) == (3*j)/50. +--R +--R Type: Void +--E 32 + +--S 33 of 33 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="shade",title=="Racchette") +--R +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function %FN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %FP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Compiling function %FR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Racchette" +--R Type: ThreeDimensionalViewport +--E 33 + +)clear all + +\end{chunk} +\section{Galletti} +According to their maker, Barilla, the origin of galletti (small +cocks) is uncertain, but their shape recalls that of the chifferi with +the addition of an undulating crest. Galletti are usually served in +tomato sauces, but combine equally well with a boscaiola (woodsman's) +sauce of mushrooms. +\begin{verbatim} +--f(x:FLOAT):FLOAT == ((1. + sin(x*%pi + 1.5*%pi))/2.0)^5 +-- +--A(i,j) == if (i = 35) _ +-- then 0.00001 _ +-- else 0.4 * sin(f(i/140.)*%pi + 0.5*%pi)^1000 * cos(j/70*%pi) +-- +--C(i,j) == 0.4*cos(f(i/140.)*%pi)^1000 * sin(j/70*%pi) +-- +--B(i,j) == 0.15 * sin(f(i/140.)*%pi + 0.5*%pi)^1000 * cos(j/C(i,j)*%pi) +-- +--X(i,j) == (0.5 + 0.3*cos(f(i/140.)*2*%pi)) * cos(j/70*%pi) + _ +-- 0.15 * (j/70)^10 * cos(f(i/140.)*2*%pi)^3 + A(i,j) +-- +--Y(i,j) == 0.35*sin(f(i/140.)*2*%pi) + 0.15*(j/70)*sin(f(i/140.)*2*%pi) + B(i,j) +-- +--Z(i,j) == (0.4 + 0.3*cos(f(i/140.)*2*%pi))*sin(j/70*%pi) + C(i,j) +-- +--draw(surface(X(i,j),Y(i,j),Z(i,j)),i=1..139,j=1..69,_ +-- style=="solid",title=="Galletti") +\end{verbatim} + +\section{Racchette} +Usually served in salads, racchette (rackets) suit crunchy pine nuts, +sliced asparagus and presh peas. Alternatively, the addition of diced +watermelon or pomegranate seeds can create a light-tasting snack. + +\begin{chunk}{*} +)spool +)lisp (bye) + +\end{chunk} +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document}