diff --git a/changelog b/changelog index 9fe993c..f8599d6 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20120123 tpd src/axiom-website/patches.html 20120123.01.tpd.patch +20120123 tpd src/input/pasta.input add additional test cases 20120122 tpd src/axiom-website/patches.html 20120122.02.tpd.patch 20120122 tpd src/axiom-website/axiom.png make background transparent 20120122 rho src/axiom-website/patches.html 20120122.01.rho.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 531d00c..d55ecea 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3773,5 +3773,7 @@ books/bookvol0.pamphlet add Appendix E
src/axiom-website/books.html fix broken links
20120122.02.tpd.patch src/axiom-website/axiom.png make background transparent
+20120123.01.tpd.patch +src/input/pasta.input add additional test cases
diff --git a/src/input/pasta.input.pamphlet b/src/input/pasta.input.pamphlet index cf534b1..e328f09 100644 --- a/src/input/pasta.input.pamphlet +++ b/src/input/pasta.input.pamphlet @@ -3,55 +3,108 @@ \setlength{\textwidth}{400pt} \begin{document} \title{\$SPAD/src/input pasta.input} -\author{Timothy Daly} +\author{George L. Legendre and Timothy Daly} \maketitle \begin{abstract} These images and equations are from the book "Pasty by Design" by -George L. Legendre. +George L. Legendre. They are used as test cases for the graphics package. \end{abstract} \eject \tableofcontents \eject \begin{chunk}{*} )set break resume +)sys rm -f pasta.output )spool pasta.output )set message test on )set message auto off )clear all \end{chunk} + +\section{Acini Di Pepe} +The smallest member of the {\sl postine minute} (tiny pasta) family, +{\sl acini de pepe} (peppercorns) are most suited to consommes (clear +soups), with the occasional addition of croutons and diced greens. +Made of durum wheat flour and eggs, acini di pepe are commonly used +in the Italian-American ``wedding soup'', a broth of vegetables and meat. + +\begin{chunk}{*} +)clear all + +--S 1 of 59 +X(i,j) == 15*cos(i/60*%pi) +--R Type: Void +--E 1 + +--S 2 of 59 +Y(i,j) == 15*sin(i/60*%pi) +--R Type: Void +--E 2 + +--S 3 of 59 +Z(i,y) == j +--R Type: Void +--E 3 + +--S 4 of 59 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..120,j=0..30,_ + style=="smooth",title=="Acini Di Pepe") +--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 Z with type (Variable i,Variable j) -> Variable j +--R +--I Compiling function %A with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %B with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %D with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Acini Di Pepe" +--R Type: ThreeDimensionalViewport +--E 4 + + +\end{chunk} + \section{Agnolotti} -These shell-like ravioli from Piedmont, northern italy, are fashioned +These shell-like {\sl 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 +)clear all + +--S 5 of 59 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 +--E 5 ---S 2 of 33 +--S 6 of 59 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 +--E 6 ---S 3 of 33 +--S 7 of 59 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 +--E 7 ---S 4 of 33 +--S 8 of 59 draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..100,_ style=="smooth",title=="Agnolotti") --R @@ -61,21 +114,265 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..100,_ --R Float --R Compiling function Z with type (Variable i,Variable j) -> Expression --R Integer ---R Compiling function %EJ with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EJ with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %EL with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EL with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %EN with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EN with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R --R (4) ThreeDimensionalViewport: "Agnolotti" --R Type: ThreeDimensionalViewport ---E 4 +--E 8 + +\end{chunk} + +\section{Anellini} +The diminutive {\sl onellini} (small rings) are part of the extended +{\sl postine minute} (tiny pasta) clan. Their thickness varies between +only 1.15 and 1.20 mm, and the are therefore usually found in light +soups together with croutons and thinly sliced vegetables. This pasta +may also be found served in a {\sl timballo} (baked pasta dish). + +\begin{chunk}{*} )clear all - + +--S 9 of 59 +X(i,j) == cos(0.01*i*%pi) +--R Type: Void +--E 9 + +--S 10 of 59 +Y(i,j) == 1.1*sin(0.01*i*%pi) +--R Type: Void +--E 10 + +--S 11 of 59 +Z(i,j) == 0.05*j +--R Type: Void +--E 11 + +--S 12 of 59 +canvas := createThreeSpace() +--R +--R (4) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 12 + +--S 13 of 59 +makeObject(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..8,space==canvas) +--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 +--I Compiling function %T with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %V with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %X with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (5) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 13 + +--S 14 of 59 +makeObject(surface(X(i,j)/1.4,Y(i,j)/1.4,Z(i,j)),i=0..200,j=0..8,space==canvas) +--I Compiling function %Z with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (6) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 14 + +--S 15 of 59 +makeViewport3D(canvas,"Anellini") +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Anellini" +--R Type: ThreeDimensionalViewport +--E 15 + +\end{chunk} + +\section{Bucatini} +{\sl Bucatini} (pierced) pasta is commonly served as a {\sl +pastasciutta} (pasta boiled, drained, and dished up with a sauce, +rather than in broth). Its best known accompaniment is {\sl +amatriciana}: a hearty traditional sauce made with dried port, +Pecorino Romano and tomato sauce, and named after the medieval town of +Amatrice in central Italy. + +\begin{chunk}{*} +)clear all + +--S 16 of 59 +X(i,j) == 0.3*cos(i/30*%pi) +--R Type: Void +--E 16 + +--S 17 of 59 +Y(i,j) == 0.3*sin(i/30*%pi) +--R Type: Void +--E 17 + +--S 18 of 59 +Z(i,j) == j/45 +--R Type: Void +--E 18 + +--S 19 of 59 +canvas := createThreeSpace() +--R +--R (4) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 19 + +--S 20 of 59 +makeObject(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..90,space==canvas) +--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 +--I Compiling function %BJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (5) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 20 + +--S 21 of 59 +makeObject(surface(X(i,j)/2,Y(i,j)/2,Z(i,j)),i=0..60,j=0..90,space==canvas) +--I Compiling function %BP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (6) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 21 + +--S 22 of 59 +makeViewport3D(canvas,"Bucatini") +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Bucatini" +--R Type: ThreeDimensionalViewport +--E 22 + +\end{chunk} + +\section{Buccoli} +A spiral-shaped example from the {\sl pasta corta} (short pasta) +family, and of rather uncertain pedigree, {\sl buccoli} are suitable +in a mushroom and sausage dish. They are also excellent with a tomato +aubergine, pesto, and ricotta salad. + +\begin{chunk}{*} +)clear all + +--S 23 of 59 +X(i,j) == (0.7 + 0.2*sin(21*j/250 * %pi))*cos(i/20*%pi) +--R Type: Void +--E 23 + +--S 24 of 59 +Y(i,j) == (0.7 + 0.2*sin(21*j/250 * %pi))*sin(i/20*%pi) +--R Type: Void +--E 24 + +--S 25 of 59 +Z(i,j) == 39.0*i/1000. + 1.5*sin(j/50*%pi) +--R Type: Void +--E 25 + +--S 26 of 59 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..25,_ + style=="smooth",title=="Buccoli") +--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 +--I Compiling function %BV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Buccoli" +--R Type: ThreeDimensionalViewport +--E 26 + +\end{chunk} + +\section{Calamaretti} +Literally ``little squids'', {\sl calamaretti} are small ring-shaped +pasta cooked as {\sl pastasciutta} (pasta boiled and drained) then +dished up with a tomato-, egg-, or cheese-based sauce. Their shape +means that {\sl calamaretti} hold both chunky and thin sauces equally +well. Fittingly, they are often served with seafood. + +\begin{chunk}{*} +)clear all + +--S 27 of 59 +X(i,j) == cos(i/75*%pi) + 0.1*cos(j/40*%pi) + 0.1*cos(i/75*%pi + j/40*%pi) +--R Type: Void +--E 27 + +--S 28 of 59 +Y(i,j) == 1.2*sin(i/75*%pi) + 0.2*sin(j/40*%pi) +--R Type: Void +--E 28 + +--S 29 of 59 +Z(i,j) == j/10 +--R Type: Void +--E 29 + +--S 30 of 59 +draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..20,_ + style=="smooth",title=="Calamaretti") +--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 +--I Compiling function %CH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Calamaretti" +--R Type: ThreeDimensionalViewport +--E 30 + \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 @@ -84,26 +381,27 @@ 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}{*} +)clear all ---S 5 of 33 +--S 31 of 59 X(i,j) == (0.1 + sin(((3*i)/160)*%pi)) * cos(((2.3*j)/120)*%pi) --R --R Type: Void ---E 5 +--E 31 ---S 6 of 33 +--S 32 of 59 Y(i,j) == (0.1 + sin(((3*i)/160)*%pi)) * sin(((2.3*j)/120)*%pi) --R --R Type: Void ---E 6 +--E 32 ---S 7 of 33 +--S 33 of 59 Z(i,j) == 0.1 + (1/400.)*j + (0.3 - 0.231*(i/40.)) * cos((i/20.)*%pi) --R --R Type: Void ---E 7 +--E 33 ---S 8 of 33 +--S 34 of 59 draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..120,_ style=="smooth",title=="Cappelletti") --R @@ -113,21 +411,20 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..120,_ --R Float --R Compiling function Z with type (Variable i,Variable j) -> Expression --R Float ---R Compiling function %EP with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EP with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %ER with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %ER with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %ET with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %ET with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R --R (4) ThreeDimensionalViewport: "Cappelletti" --R Type: ThreeDimensionalViewport ---E 8 +--E 34 -)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 @@ -135,52 +432,53 @@ 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}{*} +)clear all ---S 9 of 33 +--S 35 of 59 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 +--E 35 ---S 10 of 33 +--S 36 of 59 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 +--E 36 ---S 11 of 33 +--S 37 of 59 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 +--E 37 ---S 12 of 33 +--S 38 of 59 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 +--E 38 ---S 13 of 33 +--S 39 of 59 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 +--E 39 ---S 14 of 33 +--S 40 of 59 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 +--E 40 ---S 15 of 33 +--S 41 of 59 draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..50,_ style=="smooth",title=="Fagottini") --R @@ -196,21 +494,20 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..50,_ --R Float --R Compiling function Z with type (Variable i,Variable j) -> Expression --R Float ---R Compiling function %EV with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EV with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %EX with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EX with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %EZ with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EZ with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R --R (7) ThreeDimensionalViewport: "Fagottini" --R Type: ThreeDimensionalViewport ---E 15 +--E 41 -)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, @@ -218,44 +515,45 @@ 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}{*} +)clear all ---S 16 of 33 +--S 42 of 59 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 +--E 42 ---S 17 of 33 +--S 43 of 59 B(i,j) == 20 + cos(i/10*%pi) + 2*cos((j+10)/10*%pi) --R --R Type: Void ---E 17 +--E 43 ---S 18 of 33 +--S 44 of 59 C(i,j) == (j+10)/10*%pi --R --R Type: Void ---E 18 +--E 44 ---S 19 of 33 +--S 45 of 59 D(i,j) == i/10*%pi --R --R Type: Void ---E 19 +--E 45 ---S 20 of 33 +--S 46 of 59 E(i,j) == C(i,j) + 20*sin((j-20)/160*%pi) --R --R Type: Void ---E 20 +--E 46 ---S 21 of 33 +--S 47 of 59 F(i,j) == 70. * (0.1 - (j-180.)/200.) --R --R Type: Void ---E 21 +--E 47 ---S 22 of 33 +--S 48 of 59 X(i,j) == if ((20 <= j) and (j <= 180)) _ then A(i,j) _ else if (j <= 20) _ @@ -263,17 +561,17 @@ X(i,j) == if ((20 <= j) and (j <= 180)) _ else B(i,j) --R --R Type: Void ---E 22 +--E 48 ---S 23 of 33 +--S 49 of 59 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 +--E 49 ---S 24 of 33 +--S 50 of 59 Z(i,j) == if ((20 <= j) and (j <= 180)) _ then E(i,j) _ else if (j <= 20) _ @@ -281,9 +579,9 @@ Z(i,j) == if ((20 <= j) and (j <= 180)) _ else F(i,j) --R --R Type: Void ---E 24 +--E 50 ---S 25 of 33 +--S 51 of 59 draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..20,j=0..200,_ style=="wire",title=="Fusilli Lunghi Bucati") --R @@ -305,21 +603,20 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..20,j=0..200,_ --R Float --R Compiling function Z with type (Variable i,Variable j) -> Expression --R Float ---R Compiling function %FB with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FB with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %FD with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FD with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %FF with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FF with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R --R (10) ThreeDimensionalViewport: "Fusilli Lunghi Bucati" --R Type: ThreeDimensionalViewport ---E 25 +--E 51 -)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 @@ -327,30 +624,31 @@ 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}{*} +)clear all ---S 26 of 33 +--S 52 of 59 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 +--E 52 ---S 27 of 33 +--S 53 of 59 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 +--E 53 ---S 28 of 33 +--S 54 of 59 Z(i,j) == (3*j)/10 --R --R Type: Void ---E 28 +--E 54 ---S 29 of 33 +--S 55 of 59 draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..500,j=0..50,_ style=="smooth",title=="Quadrefiore") --R @@ -360,21 +658,20 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..500,j=0..50,_ --R Float --R Compiling function Z with type (Variable i,Variable j) -> Polynomial --R Fraction Integer ---R Compiling function %FH with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FH with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %FJ with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FJ with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %FL with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FL with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R --R (4) ThreeDimensionalViewport: "Quadrefiore" --R Type: ThreeDimensionalViewport ---E 29 +--E 55 -)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 @@ -382,26 +679,27 @@ 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 +)clear all + +--S 56 of 59 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 +--E 56 ---S 31 of 33 +--S 57 of 59 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 +--E 57 ---S 32 of 33 +--S 58 of 59 Z(i,j) == (3*j)/50. --R --R Type: Void ---E 32 +--E 58 ---S 33 of 33 +--S 59 of 59 draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ style=="shade",title=="Racchette") --R @@ -411,21 +709,20 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ --R Float --R Compiling function Z with type (Variable i,Variable j) -> Polynomial --R Float ---R Compiling function %FN with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FN with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %FP with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FP with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Compiling function %FR with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %FR with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R --R (4) ThreeDimensionalViewport: "Racchette" --R Type: ThreeDimensionalViewport ---E 33 +--E 59 -)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 @@ -469,3 +766,4 @@ watermelon or pomegranate seeds can create a light-tasting snack. \bibitem{1} nothing \end{thebibliography} \end{document} +