diff --git a/changelog b/changelog index 83869ab..943ab4b 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20120205 tpd src/axiom-website/patches.html 20120205.01.tpd.patch +20120205 tpd src/input/pasta.input fix add new tests 20120131 tpd src/axiom-website/patches.html 20120131.01.tpd.patch 20120131 tpd src/axiom-website/download.html 20120131 tpd Makefile support for centos diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index a1805e2..c5ebba7 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3788,5 +3788,7 @@ src/input/pasta.input fix graphics title
src/input/pasta.input fix add new tests
20120131.01.tpd.patch Makefile support for centos
+20120205.01.tpd.patch +src/input/pasta.input fix add new tests
diff --git a/src/input/pasta.input.pamphlet b/src/input/pasta.input.pamphlet index b09d1f6..63b54e3 100644 --- a/src/input/pasta.input.pamphlet +++ b/src/input/pasta.input.pamphlet @@ -34,24 +34,24 @@ in the Italian-American ``wedding soup'', a broth of vegetables and meat. \begin{chunk}{*} )clear all ---S 1 of 74 +--S 1 of 601 X(i,j) == 15*cos(i/60*%pi) --R Type: Void --E 1 ---S 2 of 74 +--S 2 of 601 Y(i,j) == 15*sin(i/60*%pi) --R Type: Void --E 2 ---S 3 of 74 +--S 3 of 601 Z(i,y) == j --R Type: Void --E 3 ---S 4 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..120,j=0..30,_ - style=="smooth",title=="Acini Di Pepe") +--S 4 of 601 +v3d:=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 @@ -70,6 +70,10 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..120,j=0..30,_ --R Type: ThreeDimensionalViewport --E 4 +--S 5 of 601 +close(v3d) +--R Type: Void +--E 5 \end{chunk} @@ -83,32 +87,32 @@ pasta wheel. Recommended with melted butter and sage \begin{chunk}{*} )clear all ---S 5 of 74 +--S 6 of 601 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 5 +--E 6 ---S 6 of 74 +--S 7 of 601 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 6 +--E 7 ---S 7 of 74 +--S 8 of 601 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 7 +--E 8 ---S 8 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..100,_ - style=="smooth",title=="Agnolotti") +--S 9 of 601 +v3d:=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 @@ -126,7 +130,12 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..100,_ --R --R (4) ThreeDimensionalViewport: "Agnolotti" --R Type: ThreeDimensionalViewport ---E 8 +--E 9 + +--S 10 of 601 +close(v3d) +--R Type: Void +--E 10 \end{chunk} @@ -141,29 +150,29 @@ may also be found served in a {\sl timballo} (baked pasta dish). \begin{chunk}{*} )clear all ---S 9 of 74 +--S 11 of 601 X(i,j) == cos(0.01*i*%pi) --R Type: Void ---E 9 +--E 11 ---S 10 of 74 +--S 12 of 601 Y(i,j) == 1.1*sin(0.01*i*%pi) --R Type: Void ---E 10 +--E 12 ---S 11 of 74 +--S 13 of 601 Z(i,j) == 0.05*j --R Type: Void ---E 11 +--E 13 ---S 12 of 74 +--S 14 of 601 canvas := createThreeSpace() --R --R (4) 3-Space with 0 components --R Type: ThreeSpace DoubleFloat ---E 12 +--E 14 ---S 13 of 74 +--S 15 of 601 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 @@ -180,9 +189,9 @@ makeObject(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..8,space==canvas) --R --R (5) 3-Space with 1 component --R Type: ThreeSpace DoubleFloat ---E 13 +--E 15 ---S 14 of 74 +--S 16 of 601 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 @@ -193,15 +202,20 @@ makeObject(surface(X(i,j)/1.4,Y(i,j)/1.4,Z(i,j)),i=0..200,j=0..8,space==canvas) --R --R (6) 3-Space with 2 components --R Type: ThreeSpace DoubleFloat ---E 14 +--E 16 ---S 15 of 74 -makeViewport3D(canvas,"Anellini") +--S 17 of 601 +vp:=makeViewport3D(canvas,"Anellini") --R Transmitting data... --R --R (7) ThreeDimensionalViewport: "Anellini" --R Type: ThreeDimensionalViewport ---E 15 +--E 17 + +--S 18 of 601 +close(vp) +--R Type: Void +--E 18 \end{chunk} @@ -216,29 +230,29 @@ Amatrice in central Italy. \begin{chunk}{*} )clear all ---S 16 of 74 +--S 19 of 601 X(i,j) == 0.3*cos(i/30*%pi) --R Type: Void ---E 16 +--E 19 ---S 17 of 74 +--S 20 of 601 Y(i,j) == 0.3*sin(i/30*%pi) --R Type: Void ---E 17 +--E 20 ---S 18 of 74 +--S 21 of 601 Z(i,j) == j/45 --R Type: Void ---E 18 +--E 21 ---S 19 of 74 +--S 22 of 601 canvas := createThreeSpace() --R --R (4) 3-Space with 0 components --R Type: ThreeSpace DoubleFloat ---E 19 +--E 22 ---S 20 of 74 +--S 23 of 601 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 @@ -255,9 +269,9 @@ makeObject(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..90,space==canvas) --R --R (5) 3-Space with 1 component --R Type: ThreeSpace DoubleFloat ---E 20 +--E 23 ---S 21 of 74 +--S 24 of 601 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 @@ -268,15 +282,20 @@ makeObject(surface(X(i,j)/2,Y(i,j)/2,Z(i,j)),i=0..60,j=0..90,space==canvas) --R --R (6) 3-Space with 2 components --R Type: ThreeSpace DoubleFloat ---E 21 +--E 24 ---S 22 of 74 -makeViewport3D(canvas,"Bucatini") +--S 25 of 601 +vp:=makeViewport3D(canvas,"Bucatini") --R Transmitting data... --R --R (7) ThreeDimensionalViewport: "Bucatini" --R Type: ThreeDimensionalViewport ---E 22 +--E 25 + +--S 26 of 601 +close(vp) +--R Type: Void +--E 26 \end{chunk} @@ -289,24 +308,24 @@ aubergine, pesto, and ricotta salad. \begin{chunk}{*} )clear all ---S 23 of 74 +--S 27 of 601 X(i,j) == (0.7 + 0.2*sin(21*j/250 * %pi))*cos(i/20*%pi) --R Type: Void ---E 23 +--E 27 ---S 24 of 74 +--S 28 of 601 Y(i,j) == (0.7 + 0.2*sin(21*j/250 * %pi))*sin(i/20*%pi) --R Type: Void ---E 24 +--E 28 ---S 25 of 74 +--S 29 of 601 Z(i,j) == 39.0*i/1000. + 1.5*sin(j/50*%pi) --R Type: Void ---E 25 +--E 29 ---S 26 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..25,_ - style=="smooth",title=="Buccoli") +--S 30 of 601 +v3d:=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 @@ -323,7 +342,12 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..25,_ --R --R (4) ThreeDimensionalViewport: "Buccoli" --R Type: ThreeDimensionalViewport ---E 26 +--E 30 + +--S 31 of 601 +close(v3d) +--R Type: Void +--E 31 \end{chunk} @@ -337,24 +361,24 @@ well. Fittingly, they are often served with seafood. \begin{chunk}{*} )clear all ---S 27 of 74 +--S 32 of 601 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 +--E 32 ---S 28 of 74 +--S 33 of 601 Y(i,j) == 1.2*sin(i/75*%pi) + 0.2*sin(j/40*%pi) --R Type: Void ---E 28 +--E 33 ---S 29 of 74 +--S 34 of 601 Z(i,j) == j/10 --R Type: Void ---E 29 +--E 34 ---S 30 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..20,_ - style=="smooth",title=="Calamaretti") +--S 35 of 601 +v3d:=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 @@ -371,7 +395,12 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..20,_ --R --R (4) ThreeDimensionalViewport: "Calamaretti" --R Type: ThreeDimensionalViewport ---E 30 +--E 35 + +--S 36 of 601 +close(v3d) +--R Type: Void +--E 36 \end{chunk} @@ -384,26 +413,26 @@ sprinkling of Parmigiano-Reggiano cheese and then oven-baked. \begin{chunk}{*} )clear all ---S 31 of 74 +--S 37 of 601 X(i,j) == (1+j/100)*cos(i*%pi/55) + 0.5*cos(j*%pi/100) + _ 0.1*cos(i*%pi/55+j*%pi/125) --R --R Type: Void ---E 31 +--E 37 ---S 32 of 74 +--S 38 of 601 Y(i,j) == 1.3*sin(i*%pi/55) + 0.3*sin(j*%pi/100) --R --R Type: Void ---E 32 +--E 38 ---S 33 of 74 +--S 39 of 601 Z(i,j) == 7.*j/50. --R --R Type: Void ---E 33 +--E 39 ---S 34 of 74 +--S 40 of 601 v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..110,j=0..50,_ style=="smooth",title=="Cannelloni") --R @@ -423,13 +452,18 @@ v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..110,j=0..50,_ --R --R (4) ThreeDimensionalViewport: "Cannelloni" --R Type: ThreeDimensionalViewport ---E 34 +--E 40 ---S 35 of 74 +--S 41 of 601 zoom(v3d,2.0,2.0,2.0) --R --R Type: Void ---E 35 +--E 41 + +--S 42 of 601 +close(v3d) +--R Type: Void +--E 42 \end{chunk} @@ -441,25 +475,25 @@ served with seafood. {\sl Cannolicchi} hail from Campania in southern Italy. \begin{chunk}{*} )clear all ---S 36 of 74 +--S 43 of 601 X(i,j) == 8*cos(i*%pi/70) + 0.2*cos(2*i*%pi/7) + 5*cos(j*%pi/100) --R --R Type: Void ---E 36 +--E 43 ---S 37 of 74 +--S 44 of 601 Y(i,j) == 8*sin(i*%pi/70) + 0.2*sin(2*i*%pi/7) + 4*sin(j*%pi/100) --R --R Type: Void ---E 37 +--E 44 ---S 38 of 74 +--S 45 of 601 Z(i,j) == 6.0*j/5.0 --R --R Type: Void ---E 38 +--E 45 ---S 39 of 74 +--S 46 of 601 v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..140,j=0..50,_ style=="smooth",title=="Cannolicchi Rigati") --R @@ -479,18 +513,21 @@ v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..140,j=0..50,_ --R --R (4) ThreeDimensionalViewport: "Cannolicchi Rigati" --R Type: ThreeDimensionalViewport ---E 39 +--E 46 ---S 40 of 74 +--S 47 of 601 zoom(v3d,3.0,3.0,3.0) --R --R Type: Void ---E 40 +--E 47 -\end{chunk} +--S 48 of 601 +close(v3d) +--R Type: Void +--E 48 +\end{chunk} -\newpage \section{Capellini} An extra-fine rod-like pasta {\sl capellini} (thin hair) may be served in a light broth, but also combine perfectly with butter, nutmeg, or @@ -502,25 +539,25 @@ torta ricciolina}. \begin{chunk}{*} )clear all ---S 41 of 74 +--S 49 of 601 X(i,j) == 0.05*cos(2*i*%pi/15) + 0.6*cos(j*%pi/100) --R --R Type: Void ---E 41 +--E 49 ---S 42 of 74 +--S 50 of 601 Y(i,j) == 0.05*sin(2*i*%pi/15) + 0.5*sin(j*%pi/100) --R --R Type: Void ---E 42 +--E 50 ---S 43 of 74 +--S 51 of 601 Z(i,j) == 7.0*j/100.0 --R --R Type: Void ---E 43 +--E 51 ---S 44 of 74 +--S 52 of 601 v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..15,j=0..100,_ style=="smooth",title=="Capellini") --R @@ -540,16 +577,20 @@ v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..15,j=0..100,_ --R --R (4) ThreeDimensionalViewport: "Capellini" --R Type: ThreeDimensionalViewport ---E 44 +--E 52 ---S 45 of 74 +--S 53 of 601 zoom(v3d,3.0,3.0,3.0) --R --R Type: Void ---E 45 +--E 53 -\end{chunk} +--S 54 of 601 +close(v3d) +--R Type: Void +--E 54 +\end{chunk} \section{Cappelletti} This pasta is customarily served as the first course of a traditional @@ -561,27 +602,27 @@ cheeses, such as ricotta. \begin{chunk}{*} )clear all ---S 46 of 74 +--S 55 of 601 X(i,j) == (0.1 + sin(((3*i)/160)*%pi)) * cos(((2.3*j)/120)*%pi) --R --R Type: Void ---E 46 +--E 55 ---S 47 of 74 +--S 56 of 601 Y(i,j) == (0.1 + sin(((3*i)/160)*%pi)) * sin(((2.3*j)/120)*%pi) --R --R Type: Void ---E 47 +--E 56 ---S 48 of 74 +--S 57 of 601 Z(i,j) == 0.1 + (1/400.)*j + (0.3 - 0.231*(i/40.)) * cos((i/20.)*%pi) --R --R Type: Void ---E 48 +--E 57 ---S 49 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..120,_ - style=="smooth",title=="Cappelletti") +--S 58 of 601 +v3d:=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 @@ -599,342 +640,5228 @@ draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..120,_ --R --R (4) ThreeDimensionalViewport: "Cappelletti" --R Type: ThreeDimensionalViewport ---E 49 +--E 58 + +--S 59 of 601 +close(v3d) +--R Type: Void +--E 59 \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. +\section{Corallini Lisci} +Members of the {\sl postine minute} (tiny pasta) group, {\sl corallini +lisci} (small smooth coral) are so called because their pierced +appearance resembles the coral beads worn as jewelry in Italy. Their +small size (no larger than 3.5 mm in diameter) means that {\sl +corallini} are best cooked in broths, such as Tuscan white bean soup. \begin{chunk}{*} )clear all ---S 50 of 74 -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 50 - ---S 51 of 74 -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 51 - ---S 52 of 74 -C(i,j) == 4 - ((4*j)/500)*(1+cos(i/100*%pi)^8 - 0.8*cos(i/25*%pi))^1.5 ---R +--S 60 of 601 +X(i,j) == 0.8*cos(i*%pi/50) --R Type: Void ---E 52 +--E 60 ---S 53 of 74 -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 +--S 61 of 601 +Y(i,j) == 0.8*sin(i*%pi/50) --R Type: Void ---E 53 +--E 61 ---S 54 of 74 -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 +--S 62 of 601 +Z(i,j) == 3.0*j/50.0 --R Type: Void ---E 54 +--E 62 ---S 55 of 74 -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 55 +--S 63 of 601 +vsp:=createThreeSpace() +--R +--R (4) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 63 ---S 56 of 74 -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 +--S 64 of 601 +makeObject(surface(X(i,j),Y(i,j),Z(i,j)),i=0..140,j=0..70,space==vsp) --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 Compiling function Z with type (Variable i,Variable j) -> Polynomial --R Float ---I Compiling function %EV with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %F with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %EX with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %H with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %EZ with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %J with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---R Transmitting data... --R ---R (7) ThreeDimensionalViewport: "Fagottini" ---R Type: ThreeDimensionalViewport ---E 56 +--R (5) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 64 -\end{chunk} +--S 65 of 601 +makeObject(surface(X(i,j)/2,Y(i,j)/2,Z(i,j)),i=0..140,j=0..70,space==vsp) +--I Compiling function %L with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %N with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %P with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (6) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 65 -\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}{*} -)clear all +--S 66 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Corallini Lisci") +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Corallini Lisci" +--R Type: ThreeDimensionalViewport +--E 66 ---S 57 of 74 -A(i,j) == 10 + cos(i/10*%pi) + 2*cos((j+10)/10*%pi) + 10*cos((j+140)/160*%pi) ---R +--S 67 of 601 +zoom(vp,2.0,2.0,2.0) --R Type: Void ---E 57 +--E 67 ---S 58 of 74 -B(i,j) == 20 + cos(i/10*%pi) + 2*cos((j+10)/10*%pi) ---R +--S 68 of 601 +close(vp) --R Type: Void ---E 58 +--E 68 ---S 59 of 74 -C(i,j) == (j+10)/10*%pi ---R ---R Type: Void ---E 59 +\end{chunk} ---S 60 of 74 -D(i,j) == i/10*%pi ---R +\section{Creste Di Galli} +Part of the {\sl pasta ripiena} (filled pasta) family, {\sl creste di +galli} (coxcombs) are identical to {\sl galletti} except for the +crest, which is smooth rather than crimped. They may be stuffed, +cooked and served in a simple {\sl marinara} (mariner's) sauce, which +contains tomato, garlic, and basil. +\begin{chunk}{*} +)clear all + +--S 69 of 601 +A(i) == ((1+sin((1.5+i)*%pi))/2)^5 --R Type: Void ---E 60 +--E 69 ---S 61 of 74 -E(i,j) == C(i,j) + 20*sin((j-20)/160*%pi) ---R +--S 70 of 601 +B(i,j) == 0.3*sin(A(i/140.)*%pi+0.5*%pi)^1000*cos(j*%pi/70.0) --R Type: Void ---E 61 +--E 70 ---S 62 of 74 -F(i,j) == 70. * (0.1 - (j-180.)/200.) ---R +--S 71 of 601 +C(i,j) == 0.3*cos(A(i/140.)*%pi)^1000*sin(j*%pi/70.0) --R Type: Void ---E 62 +--E 71 ---S 63 of 74 -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 +--S 72 of 601 +X(i,j) == (0.5+0.3*cos(A(i/140.)*2*%pi))*cos(j*%pi/70.0) + _ + 0.15*(j/70.0)^10*cos(A(i/140.0)*2*%pi)^3 + B(i,j) --R Type: Void ---E 63 +--E 72 ---S 64 of 74 -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 +--S 73 of 601 +Y(i,j) == 0.35*sin(A(i/140.0)*2*%pi) + 0.15*j/70.0*sin(A(i/140.0)*2*%pi) --R Type: Void ---E 64 +--E 73 ---S 65 of 74 -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 +--S 74 of 601 +Z(i,j) == (0.4+0.3*cos(A(i/140.0)*2*%pi))*sin(j*%pi/70.0) + C(i,j) --R Type: Void ---E 65 +--E 74 ---S 66 of 74 -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 +--S 75 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..140,j=0..70,_ + style=="smooth",title=="Creste Di Galli") +--R Compiling function A with type Polynomial Float -> Expression Float --R Compiling function B with type (Variable i,Variable j) -> Expression ---R Integer +--R Float --R Compiling function X with type (Variable i,Variable j) -> Expression ---R Integer +--R Float --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 C 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 %FB with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %R with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %FD with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %T with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %FF with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %V with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R ---R (10) ThreeDimensionalViewport: "Fusilli Lunghi Bucati" +--R (7) ThreeDimensionalViewport: "Creste Di Galli" --R Type: ThreeDimensionalViewport ---E 66 +--E 75 + +--S 76 of 601 +close(v3d) +--R Type: Void +--E 76 \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. +\section{Couretti} +A romantically shaped scion of the {\sl postine minute} (tiny pasta) +clan, {\sl cuoretti} (tiny hearts) are minuscule. In fact, along with +{\sl acini di pepe}, they are one of the smallest forms of pasta. Like +all {\sl postine} they may be served in soup, such as cream of chicken. \begin{chunk}{*} )clear all ---S 67 of 74 -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 +--S 77 of 601 +X(i,j) == 2*cos(i*%pi/150)-cos(i*%pi/75)-sin(i*%pi/300)^150 - _ + (abs(cos(i*%pi/300)))^5 --R Type: Void ---E 67 +--E 77 ---S 68 of 74 -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 +--S 78 of 601 +Y(i,j) == 2*sin(i*%pi/150)-sin(i*%pi/75) --R Type: Void ---E 68 +--E 78 ---S 69 of 74 -Z(i,j) == (3*j)/10 ---R +--S 79 of 601 +Z(i,j) == j/10.0 --R Type: Void ---E 69 +--E 79 ---S 70 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..500,j=0..50,_ - style=="smooth",title=="Quadrefiore") ---R +--S 80 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..300,j=0..10,_ + style=="smooth",title=="Couretti") +--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) -> Polynomial +--R Float +--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 Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Couretti" +--R Type: ThreeDimensionalViewport +--E 80 + +--S 81 of 601 +close(v3d) +--R Type: Void +--E 81 + +\end{chunk} + +\section{Ditali Rigati} +Another speciality of the Campania region of southern Italy, {\sl +ditali rigati} (grooved thimbles) are compact and typically less than +10 mm long. Like other {\sl pastine}, they are usually found in soups +such as {\sl pasta e patate}. Their stocky shape makes them a +sustaining winter snack, as well as an excellent addition to salads. +\begin{chunk}{*} +)clear all + +--S 82 of 601 +X(i,j) == cos(i*%pi/100) + 0.03*cos((7*i)*%pi/40) + 0.25*cos(j*%pi/50) +--R Type: Void +--E 82 + +--S 83 of 601 +Y(i,j) == 1.1 * sin(i*%pi/100) + 0.03*sin((7*i)*%pi/40) + 0.25*sin(j*%pi/50) +--R Type: Void +--E 83 + +--S 84 of 601 +Z(i,j) == j/10.0 +--R Type: Void +--E 84 + +--S 85 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..25,_ + style=="smooth",title=="Ditali Rigati") --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 %FH with type (DoubleFloat,DoubleFloat) -> +--R Float +--I Compiling function %BF with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %FJ with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %BH with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %FL with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %BJ with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R ---R (4) ThreeDimensionalViewport: "Quadrefiore" +--R (4) ThreeDimensionalViewport: "Ditali Rigati" --R Type: ThreeDimensionalViewport ---E 70 +--E 85 + +--S 86 of 601 +close(v3d) +--R Type: Void +--E 86 \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. +\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}{*} )clear all - ---S 71 of 74 -X(i,j) == 0.1*cos(i/75*%pi) + 0.1*cos((i+7.5)/75*%pi)^3 + 0.1*sin(j/50*%pi) + +--S 87 of 601 +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 71 +--E 87 ---S 72 of 74 -Y(i,j) == 0.1*cos(i/75*%pi) + 0.2*sin(i/75*%pi)^3 + 0.1*sin(j/50*%pi) +--S 88 of 601 +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 72 +--E 88 ---S 73 of 74 -Z(i,j) == (3*j)/50. +--S 89 of 601 +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 73 +--E 89 ---S 74 of 74 -draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ - style=="shade",title=="Scialatielli") +--S 90 of 601 +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 90 + +--S 91 of 601 +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 91 + +--S 92 of 601 +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 92 + +--S 93 of 601 +v3d:=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 Z with type (Variable i,Variable j) -> Polynomial +--R Compiling function C with type (Variable i,Variable j) -> Expression --R Float ---I Compiling function %FN with type (DoubleFloat,DoubleFloat) -> +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %EV with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %FP with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EX with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat ---I Compiling function %FR with type (DoubleFloat,DoubleFloat) -> +--I Compiling function %EZ with type (DoubleFloat,DoubleFloat) -> --R DoubleFloat --R Transmitting data... --R ---R (4) ThreeDimensionalViewport: "Scialatielli" +--R (7) ThreeDimensionalViewport: "Fagottini" --R Type: ThreeDimensionalViewport ---E 74 +--E 93 + +--S 94 of 601 +close(v3d) +--R Type: Void +--E 94 \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{Farfalle} +A mixture of durum-wheat flour, eggs, and water, {\sl farfalle} +(butterflies) come from the Emilia-Romagnaand Lombardy regions of +northern Italy. They are best served in a rich {\sl carbonara} sauce +(made with cream, eggs, and bacon). Depending on se, {\sl farfalle} +might be accompanied by green peas and chicken or ham. +\begin{chunk}{*} +)clear all -\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. +--S 95 of 601 +A(i) == sin((7*i+16)*%pi/40) +--R Type: Void +--E 95 + +--S 96 of 601 +B(i,j) == (7.0*j/16.0)+4*sin(i*%pi/80)*sin((j-10)*%pi/120) +--R Type: Void +--E 96 + +--S 97 of 601 +C(i,j) == 10*cos((i+80)*%pi/80)*sin((j+110)*%pi/100)^9 +--R Type: Void +--E 97 + +--S 98 of 601 +D(i,j) == (7.0*j/16.0)-4*sin(i*%pi/80)-A(i)*sin((10-j)*%pi/20) +--R Type: Void +--E 98 + +--S 99 of 601 +E(i,j) == 0.0 -- This was never defined. +--R Type: Void +--E 99 + +--S 100 of 601 +X(i,j) == _ + if ((20 <= i) and (i <= 60)) _ + then 7*sin((i+40)*%pi/40)^3*sin((j+110)*%pi/100)^9+(3.0*i)/8.0 _ + else C(i,j)+(3.0*i)/8.0 +--R Type: Void +--E 100 + +--S 101 of 601 +Y(i,j) == _ + if ((10 <= j) and (j <= 70)) _ + then B(i,j)-4*sin(i*%pi/80)*sin((70-j)*%pi/120) _ + else if (j <= 10) _ + then D(i,j) _ + else E(i,j) +--R Type: Void +--E 101 + +--S 102 of 601 +Z(i,j) == 3*sin((i+10)*%pi/20)*sin(j*%pi/80)^1.5 +--R Type: Void +--E 102 + +--S 103 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..80,j=0..80,_ + style=="smooth",title=="Farfalle") +--R Compiling function C with type (Variable i,Variable j) -> Expression +--R Integer +--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 A with type Variable i -> Expression Integer +--R Compiling function D with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function E with type (Variable i,Variable j) -> 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 %BL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (9) ThreeDimensionalViewport: "Farfalle" +--R Type: ThreeDimensionalViewport +--E 103 + +--S 104 of 601 +zoom(v3d,0.5,0.5,0.5) +--R Type: Void +--E 104 + +--S 105 of 601 +close(v3d) +--R Type: Void +--E 105 + +\end{chunk} + +\section{Farfalline} +The small size of this well-known member of the {\sl postine minute} +(tiny pasta) lineage means that {\sl farfalline} (tiny butterflies), +are suitable for light soups, such as {\sl pomodori e robiolo} (a +mixture of tomato and soft cheese). A crimped pasta cutter and a +central pinch create the iconic shape. +\begin{chunk}{*} +)clear all + +--S 106 of 601 +A(i) == 30*cos(i*%pi/125)+0.5*cos((6*i)*%pi/25) +--R Type: Void +--E 106 + +--S 107 of 601 +B(i) == 30*sin(i*%pi/125)+0.5*sin((6*i)*%pi/25) +--R Type: Void +--E 107 + +--S 108 of 601 +X(i,j) == cos(3*A(i)*%pi/100) +--R Type: Void +--E 108 + +--S 109 of 601 +Y(i,j) == 0.5*sin((3*A(i))*%pi/100)*(1+sin(j*%pi/100)^10) +--R Type: Void +--E 109 + +--S 110 of 601 +Z(i,j) == B(i)*j/500.0 +--R Type: Void +--E 110 + +--S 111 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..250,j=0..50,_ + style=="smooth",title=="Farfalline") +--R Compiling function A with type Variable i -> Expression Float +--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 B with type Variable i -> Expression Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %BR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Farfalline" +--R Type: ThreeDimensionalViewport +--E 111 + +--S 112 of 601 +rotate(v3d,45,45) +--R Type: Void +--E 112 + +--S 113 of 601 +close(v3d) +--R Type: Void +--E 113 + +\end{chunk} + +\section{Farfalloni} +Like {\sl farfalle}, {\sl farfalloni} (large butterflies) are well +matched by a tomato- or butter-based sauce with peas and ham. They are +also perfect with marrow vegetables such as roast courgette or pureed +pumpkin, topped with Parmigiano-Reggiano and a sprinkling of {\sl noce +moscata} (nutmeg). +\begin{chunk}{*} +)clear all + +--S 114 of 601 +A(i,j) == 10*cos((i+70)*%pi/70)*sin((2*j)*%pi/175+1.1*%pi)^9 +--R Type: Void +--E 114 + +--S 115 of 601 +B(j) == 0.3*sin((6-j)*%pi/7+0.4*%pi) +--R Type: Void +--E 115 + +--S 116 of 601 +C(i,j) == _ + if ((17 <= i) and (i <= 52)) _ + then 7*sin((i+35)*%pi/35)^3*sin((2*j*%pi)/175+1.1*%pi)^9 _ + else A(i,j) +--R Type: Void +--E 116 +--S 117 of 601 +D(i,j) == (j/2.0)+4*sin(i*%pi/70)*sin((j-10)*%pi/100) - _ + 4*sin(i*%pi/70)*sin((60-j)*%pi/100) +--R Type: Void +--E 117 + +--S 118 of 601 +E(i,j) == (j/2.0)+4*sin(i*%pi/70)+0.3*sin((2*i+2.8)*%pi/7)*sin((j-60)*%pi/20) +--R Type: Void +--E 118 + +--S 119 of 601 +F(i,j) == (j/2.0)-4*sin(i*%pi/70)-0.3*sin((2*i+2.8)*%pi/7)*sin((10-j)*%pi/20) +--R Type: Void +--E 119 + +--S 120 of 601 +X(i,j) == (3.0*i)/7.0+C(i,j) +--R Type: Void +--E 120 + +--S 121 of 601 +Y(i,j) == _ + if ((10 <= j) and (j <= 60)) _ + then D(i,j) _ + else if (j <= 10) _ + then F(i,j) _ + else E(i,j) +--R Type: Void +--E 121 + +--S 122 of 601 +Z(i,j) == 3*sin((2*i+17.5)*%pi/35.)*sin(j*%pi/70)^1.5 +--R Type: Void +--E 122 + +--S 123 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..70,j=0..70,_ + style=="smooth",title=="Farfalloni") +--R Compiling function A 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 X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function D with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function F with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function E 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 %BX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %BZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (10) ThreeDimensionalViewport: "Farfalloni" +--R Type: ThreeDimensionalViewport +--E 123 + +--S 124 of 601 +zoom(v3d,2.5,2.5,2.5) +--R Type: Void +--E 124 + +--S 125 of 601 +close(v3d) +--R Type: Void +--E 125 + +\end{chunk} + +\section{Festonati} +This smooth member of the {\sl pasta corta} (short pasta) family is +named after 'festoons' (decorative lengths of fabric with the rippled +profile of a garland). {\sl Festonati} can be served with grilled +aubergine or home-grown tomatoes, topped with grated scamorza, fresh +basil, olive oil, garlic, and red chilli flakes. \begin{chunk}{*} +)clear all + +--S 126 of 601 +X(i,j) == 5*cos(i*%pi/50)+0.5*cos(i*%pi/50)*(1+sin(j*%pi/100)) + _ + 0.5*cos((i+25)*%pi/25)*(1+sin(j*%pi/5)) +--R Type: Void +--E 126 + +--S 127 of 601 +Y(i,j) == 5*sin(i*%pi/50)+0.5*sin(i*%pi/50)*(1+sin(j*%pi/100)) + _ + 0.5*cos(i**%pi/25)*(1+sin(j*%pi/5)) +--R Type: Void +--E 127 + +--S 128 of 601 +Z(i,j) == j/2.0+2*sin((3*i+25)*%pi/50) +--R Type: Void +--E 128 + +--S 129 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..100,j=0..100,_ + style=="smooth",title=="Festonati") +--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 %CD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Festonati" +--R Type: ThreeDimensionalViewport +--E 129 + +--S 130 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 130 + +--S 131 of 601 +close(v3d) +--R Type: Void +--E 131 + +\end{chunk} + +\section{Fettuccine} +This famous {\sl pasta lunga} (long pasta) is made with durum-wheat flour, water, and in the case of {\sl fettuccine alluovo}, eggs ideally within days of laying. {\sl Fettuccine} (little ribbons) hail from the Lazio region. Popular in many dishes, they are an ideal accompaniment to {\sl Alfredo} sauce, a rich mix of cream, parmesan, garlic, and parsley. +\begin{chunk}{*} +)clear all + +--S 132 of 601 +X(i,j) == 1.8*sin((4-i)*%pi/375) +--R Type: Void +--E 132 + +--S 133 of 601 +Y(i,y) == 1.6*cos((6-i)*%pi/375)*sin((3-i)*%pi/750) +--R Type: Void +--E 133 + +--S 134 of 601 +Z(i,j) == i/75.0 + j/20.0 +--R Type: Void +--E 134 + +--S 135 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..10,_ + style=="smooth",title=="Fettuccine") +--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 %CJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Fettuccine" +--R Type: ThreeDimensionalViewport +--E 135 + +--S 136 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 136 + +--S 137 of 601 +close(v3d) +--R Type: Void +--E 137 + +\end{chunk} + +\section{Fiocchi Rigati} +A distant relative of the {\sl farfalle} family, {\sl fiocchi rigati} +(grooved flakes) are smaller than either {\sl farfalloni} or {\sl +farfalle}, but larger than {\sl farfalline}. Their corrugated surface +collects more sauce than a typical {\sl farfalle}. For a more unusual +disk, {\sl fiocchi rigati} can be served in a tomato and vodka sauce. +\begin{chunk}{*} +)clear all + +--S 138 of 601 +A(i,j) == 10*cos((i+80)*%pi/80)*sin((j+110)*%pi/100)^9 +--R Type: Void +--E 138 + +--S 139 of 601 +B(i,j) == 35.0*j/80.0+4*sin(i*%pi/80)*sin((j-10)*%pi/120) +--R Type: Void +--E 139 + +--S 140 of 601 +X(i,j) == _ + if ((20 <= i) and (i <= 60)) _ + then 7*sin((i+40)*%pi/40)^3*sin((j+110)*%pi/100)^9 + 30.0*i/80.0 _ + else A(i,j) + 30.0*i/80.0 +--R Type: Void +--E 140 + +--S 141 of 601 +Y(i,j) == B(i,j)-4*sin(i*%pi/80)*sin((70-j)*%pi/120) +--R Type: Void +--E 141 + +--S 142 of 601 +Z(i,j) == 3*sin((1+10)*%pi/20)*sin(j*%pi/80)^1.5-0.7*((sin(3*j*%pi/8)+1)/2)^4 +--R Type: Void +--E 142 + +--S 143 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..80,j=0..80,_ + style=="smooth",title=="Fiocchi Rigati") +--R Compiling function A with type (Variable i,Variable j) -> Expression +--R Integer +--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 Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %CP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Fiocchi Rigati" +--R Type: ThreeDimensionalViewport +--E 143 + +--S 144 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 144 + +--S 145 of 601 +close(v3d) +--R Type: Void +--E 145 + +\end{chunk} + +\section{Fisarmoniche} +Named after the accordion - whose bellows their bunched profiles +recall - {\sl fisarmoniche} are perfect for capturing thick sauces, +which cling to their folds. This sturdy pasta is said to have been +invented in the fifteenth century, in the Italian town of Loreto in +the Marche, east central Italy. +\begin{chunk}{*} +)clear all + +--S 146 of 601 +X(i,j) == (1.5+3*(i/70.0)^5+4*sin(j*%pi/200)^50)*cos(4*i*%pi/175) +--R Type: Void +--E 146 + +--S 147 of 601 +Y(i,j) == (1.5+3*(i/70.0)^5+4*sin(j*%pi/200)^50)*sin(4*i*%pi/175) +--R Type: Void +--E 147 + +--S 148 of 601 +Z(i,j) == j/50.0+cos(3*i*%pi/14)*sin(j*%pi/1000) +--R Type: Void +--E 148 + +--S 149 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..70,j=0..1000,_ + style=="smooth",title=="Fisarmoniche") +--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 %CV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %CZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Fisarmoniche" +--R Type: ThreeDimensionalViewport +--E 149 + +--S 150 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 150 + +--S 151 of 601 +close(v3d) +--R Type: Void +--E 151 + +\end{chunk} + +\section{Funghini} +The modest dimensions of this {\sl pastine minute} (tiny pasta) make +{\sl funghini} (little mushrooms) especially suitable for soups, such +as a {\sl minestrone} made from chopped and sauteed celeriac. +\begin{chunk}{*} +)clear all + +--S 152 of 601 +A(i,j) == 5*cos(i*%pi/150)+0.05*cos(i*%pi/3)*sin(j*%pi/60)^2000 +--R Type: Void +--E 152 + +--S 153 of 601 +B(i,j) == j/30.0*(5*sin(i*%pi/150)+0.05*sin(i*%pi/3)) +--R Type: Void +--E 153 + +--S 154 of 601 +C(i,j) == j/10.0*(2*sin(i*%pi/150)+0.05*sin(i*%pi/3)) +--R Type: Void +--E 154 + +--S 155 of 601 +D(i,j) == _ + if (i <= 150) _ + then B(i,j) _ + else if (j <= 10) _ + then C(i,j) _ + else 2*sin(i*%pi/150)+0.05*sin(i*%pi/6) +--R Type: Void +--E 155 + +--S 156 of 601 +X(i,j) == 0.05*cos(A(i,j)*%pi/5)+0.3*cos(A(i,j)*%pi/5)*sin(3*D(i,j)*%pi/50)^2 +--R Type: Void +--E 156 + +--S 157 of 601 +Y(i,j) == 0.01*sin(A(i,j)*%pi/5)+0.3*sin(A(i,j)*%pi/5)*sin(3*D(i,j)*%pi/50)^2 +--R Type: Void +--E 157 + +--S 158 of 601 +Z(i,j) == 0.25*sin((D(i,j)+3)*%pi/10) +--R Type: Void +--E 158 + +--S 159 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..300,j=0..30,_ + style=="smooth",title=="Funghini") +--R Compiling function A 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 C with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function D 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 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 %DB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (8) ThreeDimensionalViewport: "Funghini" +--R Type: ThreeDimensionalViewport +--E 159 + +--S 160 of 601 +close(v3d) +--R Type: Void +--E 160 + +\end{chunk} + +\section{Fusilli} +A popular set from the {\sl pasta corta} (short pasta) family, {\sl +fusilli} (little spindles) were originally made by quickly wrapping a +{\sl spaghetto} around a large needle. Best served as {\sl +pastasciutta} (pasta boild and drained) with a creamy sauce containing +slices of spicy sausage. +\begin{chunk}{*} +)clear all + +--S 161 of 601 +X(i,j) == 6*cos((3*i+10)*%pi/100)*cos(j*%pi/25) +--R Type: Void +--E 161 + +--S 162 of 601 +Y(i,j) == 6*sin((3*i+10)*%pi/100)*cos(j*%pi/25) +--R Type: Void +--E 162 + +--S 163 of 601 +Z(i,j) == (3.0*i)/20.0+2.5*cos((j+12.5)*%pi/25) +--R Type: Void +--E 163 + +--S 164 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..25,_ + style=="smooth",title=="Fusilli") +--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) -> Expression +--R Float +--I Compiling function %DH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Fusilli" +--R Type: ThreeDimensionalViewport +--E 164 + +--S 165 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 165 + +--S 166 of 601 +close(v3d) +--R Type: Void +--E 166 + +\end{chunk} + +\section{Fusilli al Ferretto} To create this Neapolitan variety of +{\sl fusilli}, a small amount of durum-wheat flour is kneaded and +placed along a {\sl ferretto} (small iron stick) that is then rolled +between the hands to create a thick irregular twist of dough. The +shape is removed and left to dry on a wicker tray known as a {\sl +spasa}. {\sl Fusilli al ferretto} are best dished up with a lamb {\sl ragu}. +\begin{chunk}{*} +)clear all + +--S 167 of 601 +A(i,j) == 6.0*i/7.0+15*cos(j*%pi/20) +--R Type: Void +--E 167 + +--S 168 of 601 +X(i,j) == (3+1.5*sin(i*%pi/140)^0.5*sin(j*%pi/20))*sin(13*i*%pi/280) + _ + 5*sin(2*A(i,j)*%pi/135) +--R Type: Void +--E 168 + +--S 169 of 601 +Y(i,j) == (3+1.5*sin(i*%pi/140)^0.5*sin(j*%pi/20))*cos(13*i*%pi/280) +--R Type: Void +--E 169 + +--S 170 of 601 +Z(i,j) == A(i,j) +--R Type: Void +--E 170 + +--S 171 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..140,j=0..40,_ + style=="smooth",title=="Fusilli al Ferretto") +--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 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 %DN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (5) ThreeDimensionalViewport: "Fusilli al Ferretto" +--R Type: ThreeDimensionalViewport +--E 171 + +--S 172 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 172 + +--S 173 of 601 +close(v3d) +--R Type: Void +--E 173 + +\end{chunk} + +\section{Fusilli Capri} +A longer and more compact regional adaptation of {\sl fusilli}, {\sl +fusilli Capri} are suited to a hearty {\sl ragu} of lamb or por sausages, +or may also be combined with rocket and lemon to form a lighter dish. +\begin{chunk}{*} +)clear all + +--S 174 of 601 +X(i,j) == 6*cos(j*%pi/50)*cos((i+2.5)*%pi/25) +--R Type: Void +--E 174 + +--S 175 of 601 +Y(i,j) == 6*cos(j*%pi/50)*sin((i+2.5)*%pi/25) +--R Type: Void +--E 175 + +--S 176 of 601 +Z(i,j) == 2.0*i/3.0 + 14*cos((j+25)*%pi/50) +--R Type: Void +--E 176 + +--S 177 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="smooth",title=="Fusilli Capri") +--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 %DT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %DX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Fusilli Capri" +--R Type: ThreeDimensionalViewport +--E 177 + +--S 178 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 178 + +--S 179 of 601 +close(v3d) +--R Type: Void +--E 179 + +\end{chunk} + +\section{Fusilli Lunghi Bucati} +A distinctive member of the extended {\sl fusilli} clan, {\sl fusilli +lunghi bucati} (long pierced {\sl fusilli}) originated in Campania, +southern Italy, and have a spring-like profile. Like all {\sl fusilli} +they are traditionally consumed with a meat-based {\sl ragu}, but may +also be combined with thick vegetable sauces and baked in an oven. +\begin{chunk}{*} +)clear all + +--S 180 of 601 +A(i,j) == 10+cos(i*%pi/10)+2*cos((j+10)*%pi/10)+10*cos((j+140)*%pi/160) +--R Type: Void +--E 180 + +--S 181 of 601 +B(i,j) == 20+cos(i*%pi/10)+2*cos((j+10)*%pi/10) +--R Type: Void +--E 181 + +--S 182 of 601 +C(i,j) == (j+10.0)*%pi/10.0 +--R Type: Void +--E 182 + +--S 183 of 601 +D(i,j) == i*%pi/10.0 +--R Type: Void +--E 183 + +--S 184 of 601 +E(i,j) == 7+20*sin((j-20)*%pi/160) +--R Type: Void +--E 184 + +--S 185 of 601 +F(i,j) == 70*(0.1-(j-180.0)/200.0) +--R Type: Void +--E 185 + +--S 186 of 601 +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 Type: Void +--E 186 + +--S 187 of 601 +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 Type: Void +--E 187 + +--S 188 of 601 +Z(i,j) == _ + if ((20 <= j) and (j <= 180)) _ + then E(i,j) _ + else if (j <= 20) _ + then (7.0*j/20.0) _ + else F(i,j) +--R Type: Void +--E 188 + +--S 189 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..20,j=0..200,_ + style=="smooth",title=="Fusilli Lunghi Bucati") +--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 Float +--R Compiling function C with type (Variable i,Variable j) -> Polynomial +--R Float +--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 Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--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 +--I Compiling function %DZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %ED with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (10) ThreeDimensionalViewport: "Fusilli Lunghi Bucati" +--R Type: ThreeDimensionalViewport +--E 189 + +--S 190 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 190 + +--S 191 of 601 +close(v3d) +--R Type: Void +--E 191 + +\end{chunk} + +\section{Galletti} +According to their maker, Barilla, the origin of {\sl galletti} (small +cocks) is uncertain, but their shape recalls that of the {\sl +chifferi} with the addtion of an undulating crest. {\sl Galletti} are +usually served in tomato sauces, but combine wqually well with a {\sl +boscaiola} (woodsman's) sauce of mushrooms. +\begin{chunk}{*} +)clear all + +--S 192 of 601 +A(i) == (1+sin(i*%pi+1.5*%pi)/2)^5 +--R Type: Void +--E 192 + +--S 193 of 601 +B(i,j) == 0.4*sin(A(i/140)*%pi+0.5*%pi)^1000*cos(j*%pi/70) +--R Type: Void +--E 193 + +--S 194 of 601 +C(i,j) == 0.15*sin(A(i/140)*%pi+0.5*%pi)^1000*cos(j*%pi/7) +--R Type: Void +--E 194 + +--S 195 of 601 +D(i,j) == 0.4*cos(A(i/140)*%pi)^1000*sin(j*%pi/70) +--R Type: Void +--E 195 + +--S 196 of 601 +X(i,j) == (0.5+0.3*cos(A(i/140)*2*%pi))*cos(j*%pi/70) + _ + 0.15*(j/70.0)^10*cos(A(i/140)*2*%pi)^3 + B(i,j) +--R Type: Void +--E 196 + +--S 197 of 601 +Y(i,j) == 0.35*sin(A(i/140)*2*%pi)+0.15*(j/70.0)*sin(A(i/140)*2*%pi)+C(i,j) +--R Type: Void +--E 197 + +--S 198 of 601 +Z(i,j) == (0.4+0.3*cos(A(i/140)*2*%pi))*sin(j*%pi/70) + D(i,j) +--R Type: Void +--E 198 + +--S 199 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..140,j=0..70,_ + style=="smooth",title=="Galletti") +--R Compiling function A with type Polynomial Fraction Integer -> +--R Expression Float +--R Compiling function B 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 C 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 D 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 %EF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (8) ThreeDimensionalViewport: "Galletti" +--R Type: ThreeDimensionalViewport +--E 199 + +--S 200 of 601 +close(v3d) +--R Type: Void +--E 200 + +\end{chunk} + +\section{Garganelli} +A grooved {\sl pasta corta} (short pasta), similar to {\sl maccheroni} +but with pointed slanting ends, {\sl garganelli} are shaped like the +gullet of a chicken ('{\sl garganel}' in the northern Italian +Emiliano-Romagnolo dialect). Traditionally cooked in broth, {\sl +garganelli} are also sometimes served in hare sauce with chopped bacon. +\begin{chunk}{*} +)clear all + +--S 201 of 601 +A(i,j) == (i-25.0)/125.0*j +--R Type: Void +--E 201 + +--S 202 of 601 +B(i,j) == (i-25.0)/125.0*(150.0-j) +--R Type: Void +--E 202 + +--S 203 of 601 +C(i,j) == _ + if ((j <= 75) or (i <= 25)) _ + then A(i,j) _ + else if ((J >= 75) or (i <= 25)) _ + then B(i,j) _ + else if ((j >= 75) or (i >= 25)) _ + then B(i,j) _ + else A(i,j) +--R Type: Void +--E 203 + +--S 204 of 601 +X(i,j) == 0.1*cos(j*%pi/3)+(3+sin(C(i,j)*%pi/60))*cos(7*C(i,j)*%pi/60) +--R Type: Void +--E 204 + +--S 205 of 601 +Y(i,j) == 0.1*sin(j*%pi/3)+(3+sin(C(i,j)*%pi/60))*sin(7*C(i,j)*%pi/60) +--R Type: Void +--E 205 + +--S 206 of 601 +Z(i,j) == 6.0*j/25.0+C(i,j)/4.0 +--R Type: Void +--E 206 + +--S 207 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..50,j=0..150,_ + style=="smooth",title=="Garganelli") +--R Compiling function A with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function B with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function C with type (Variable i,Variable j) -> Polynomial +--R Float +--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 %EL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Garganelli" +--R Type: ThreeDimensionalViewport +--E 207 + +--S 208 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 208 + +--S 209 of 601 +close(v3d) +--R Type: Void +--E 209 + +\end{chunk} + +\section{Gemelli} +To create a {\sl gemello}, a single pasta strand is twisted into a +spiral with a deceptively dual appearance. In the south of Italy {\sl +gemelli} (twins) are served with tomato, mozzarella, and basil, while +in the northwest they are preferred with pesto and green beans, or in +salads. +\begin{chunk}{*} +)clear all + +--S 210 of 601 +X(i,j) == 6*cos(j*1.9*%pi/50+0.55*%pi)*cos(3.0*i/25.0) +--R Type: Void +--E 210 + +--S 211 of 601 +Y(i,j) == 6*cos(j*1.9*%pi/50+0.55*%pi)*sin(3.0*i/25.0) +--R Type: Void +--E 211 + +--S 212 of 601 +Z(i,j) == 8*sin(j*1.9*%pi/50+0.55*%pi)+3.0*i/4.0 +--R Type: Void +--E 212 + +--S 213 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..100,j=0..50,_ + style=="smooth",title=="Gemelli") +--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 %ER with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %ET with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Gemelli" +--R Type: ThreeDimensionalViewport +--E 213 + +--S 214 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 214 + +--S 215 of 601 +close(v3d) +--R Type: Void +--E 215 + +\end{chunk} + +\section{Gigli} +With their fluted edges and cone-like shape, {\sl gigli} resemble +small bells ({\sl campanelle}) or lilies ({\sl gigli}), after which +they are named. Another more recent design, {\sl gigli} are shaped to +capture thick meaty sauces. +\begin{chunk}{*} +)clear all + +--S 216 of 601 +X(i,j) == (0.8-0.6*sin(j*%pi/80)^0.5)*cos(i*%pi/50)+0.08*sin(j*%pi/40) +--R Type: Void +--E 216 + +--S 217 of 601 +Y(i,j) == (0.8-0.6*sin(j*%pi/80)^0.5)*sin(i*%pi/50)+0.08*sin(j*%pi/40) +--R Type: Void +--E 217 + +--S 218 of 601 +Z(i,j) == 1.1*j/40.0+0.7*(1-sin((150-i)*%pi/300))^2 +--R Type: Void +--E 218 + +--S 219 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..40,_ + style=="smooth",title=="Gigli") +--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 %EX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %EZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Gigli" +--R Type: ThreeDimensionalViewport +--E 219 + +--S 220 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 220 + +--S 221 of 601 +close(v3d) +--R Type: Void +--E 221 + +\end{chunk} + +\section{Giglio Ondulato} +Identical to {\sl gigli} but with crenellated edges, {\sl giglio +ondulato} are made of durum-wheat flour and water. +\begin{chunk}{*} +)clear all + +--S 222 of 601 +A(i,j) == 0.6+0.03*((40.0-j)/40.0)^10*cos((4*i+75)*%pi/15) - _ + 0.5*sin(j*%pi/80)^0.6 +--R Type: Void +--E 222 + +--S 223 of 601 +B(i,j) == sin(2*i*%pi/75)+(i/150.0)^10*(0.08*sin(j*%pi/40)+0.03*sin(j*%pi/5)) +--R Type: Void +--E 223 + +--S 224 of 601 +X(i,j) == A(i,j)*cos(2*i*%pi/75)+(i/150.0)^10 * _ + (0.08*sin(j*%pi/40)+0.03*cos(j*%pi/5)) +--R Type: Void +--E 224 + +--S 225 of 601 +Y(i,j) == (0.6+0.03*((40.0-j)/40.0)^10*sin(4*i*%pi/15)-0.5*sin(j*%pi/80)^0.6)*_ + B(i,j) +--R Type: Void +--E 225 + +--S 226 of 601 +Z(i,j) == 1.1*j/40.0+0.7*(1-sin((150.0-i)*%pi/300.0)) +--R Type: Void +--E 226 + +--S 227 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..40,_ + style=="smooth",title=="Giglio Ondulato") +--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 Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %FD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Giglio Ondulato" +--R Type: ThreeDimensionalViewport +--E 227 + +--S 228 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 228 + +--S 229 of 601 +close(v3d) +--R Type: Void +--E 229 + +\end{chunk} + +\section{Gnocchetti Sardi} +As their name suggests, {\sl gnocchetti} are simply small {\sl +gnocchi} (or 'dumplings'). They go well with ricotta or Pecorino +Romano cheese, or served with thick sauces such as a veal {\sl +ragu}. {\sl Gnocchetti} originated in Sardinia, a Mediterranean island +to the west of Italy. +\begin{chunk}{*} +)clear all + +--S 230 of 601 +A(i) == 0.8+3*sin(i*%pi/150)^0.8 +--R Type: Void +--E 230 + +--S 231 of 601 +B(i,j) == abs(cos((2*j+7.5)*%pi/15)) +--R Type: Void +--E 231 + +--S 232 of 601 +X(i,j) == A(i)*cos(i*%pi/50)+0.2*cos(i*%pi/50)*sin(j*%pi/150)*B(i,j) +--R Type: Void +--E 232 + +--S 233 of 601 +Y(i,j) == A(i)*sin(i*%pi/50)+0.2*sin(i*%pi/50)*sin(j*%pi/150)*B(i,j) +--R Type: Void +--E 233 + +--S 234 of 601 +Z(i,j) == 13.0*cos(j*%pi/150) +--R Type: Void +--E 234 + +--S 235 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..50,j=0..150,_ + style=="smooth",title=="Gnocchetti Sardi") +--R Compiling function A with type Variable i -> Expression Float +--R Compiling function B 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 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 %FI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Gnocchetti Sardi" +--R Type: ThreeDimensionalViewport +--E 235 + +--S 236 of 601 +rotate(v3d,45,45) +--R Type: Void +--E 236 + +--S 237 of 601 +close(v3d) +--R Type: Void +--E 237 + +\end{chunk} + +\section{Gnocchi} +Members of an extended family, {\sl gnocchi} (dumplings) often +resemble a semi-open grooved shell. Their preparation and ingredients +(including potato, durum wheat, buckwheat and semolina) vary according +to type. {\sl Gnocchi} are often added to a sauce made from fontina cheese. +\begin{chunk}{*} +)clear all + +--S 238 of 601 +A(i,j) == i/40.0*sin(j*%pi/130) +--R Type: Void +--E 238 + +--S 239 of 601 +B(i,j) == abs(cos((j+13)*%pi/26)) +--R Type: Void +--E 239 + +--S 240 of 601 +X(i,j) == 0.2*cos(i*1.3*%pi/40)*sin(j*%pi/130)*B(i,j) + _ + A(i,j)*cos(i*1.3*%pi/40) +--R Type: Void +--E 240 + +--S 241 of 601 +Y(i,j) == 0.2*sin(i*1.3*%pi/40)*sin(j*%pi/130)*B(i,j) + _ + A(i,j)*sin(i*1.3*%pi/40) +--R Type: Void +--E 241 + +--S 242 of 601 +Z(i,j) == 1.5*cos(j*%pi/130) +--R Type: Void +--E 242 + +--S 243 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..130,_ + style=="smooth",title=="Gnocchi") +--R Compiling function B with type (Variable i,Variable j) -> Expression +--R Integer +--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 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 %FM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Gnocchi" +--R Type: ThreeDimensionalViewport +--E 243 + +--S 244 of 601 +close(v3d) +--R Type: Void +--E 244 + +\end{chunk} + +\section{Gramigna} +A speciality of the northern Italian region of Emilia-Romagna, {\sl +gramigna} (little weed) are traditionally served with a chunky sauce +of sausages, or accompanied by the world-famous {\sl ragu alla +bolognese}. Alternatively, {\sl gramigna} are sometimes presented {\sl +alla pomodoro} (with a light tomato sauce). +\begin{chunk}{*} +)clear all + +--S 245 of 601 +X(i,j) == (0.5+5.6*(j/150.0)^2+0.3*cos(2*i*%pi/25))*cos(2.1*j*%pi/150) +--R Type: Void +--E 245 + +--S 246 of 601 +Y(i,j) == 0.3*sin(2*i*%pi/25) +--R Type: Void +--E 246 + +--S 247 of 601 +Z(i,j) == (0.5+3.2*(j/150.0)^2+0.3*cos(2*i*%pi/25))*sin(2.1*j*%pi/150) +--R Type: Void +--E 247 + +--S 248 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..25,j=0..150,_ + style=="smooth",title=="Gramigna") +--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 %FR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Gramigna" +--R Type: ThreeDimensionalViewport +--E 248 + +--S 249 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 249 + +--S 250 of 601 +close(v3d) +--R Type: Void +--E 250 + +\end{chunk} + +\section{Lancette} +No longer than 15mm, {\sl lancette} or 'hands' (of a clock) belong to +the {\sl postine minute} (tiny pasta) clan. They are delicious in +consommes with a sprinkling of croutons and chopped greens. {\sl +Lancette} are also an excellent addition to mushroom or chicken soups. +\begin{chunk}{*} +)clear all + +--S 251 of 601 +A(i,j) == 0.4*sin(5*j*%pi/9) +--R Type: Void +--E 251 + +--S 252 of 601 +B(i,j) == sin((j+45)*%pi/90) +--R Type: Void +--E 252 + +--S 253 of 601 +C(i,j) == (3.0*i-75.0)/5.0*sin(j*%pi/90)-(1-sin(i*%pi/50))^25*A(i,j)*B(i,j) +--R Type: Void +--E 253 + +--S 254 of 601 +D(i,j) == _ + if (i <= 25) _ + then C(i,j) _ + else 30.0*(i-25.0)/50.0*sin(j*%pi/90)+sin((i-25)*%pi/50)*A(i,j)*B(i,j) +--R Type: Void +--E 254 + +--S 255 of 601 +X(i,j) == 4*cos(3*D(i,j)*%pi/50) +--R Type: Void +--E 255 + +--S 256 of 601 +Y(i,j) == 4*sin(3*D(i,j)*%pi/50)*(0.3+(1-sin(j*%pi/90))^0.6) +--R Type: Void +--E 256 + +--S 257 of 601 +Z(i,j) == j/3.0 +--R Type: Void +--E 257 + +--S 258 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..50,j=0..90,_ + style=="smooth",title=="Lancette") +--R Compiling function A with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function B with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function C with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function D 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 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 %FX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %FZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (8) ThreeDimensionalViewport: "Lancette" +--R Type: ThreeDimensionalViewport +--E 258 + +--S 259 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 259 + +--S 260 of 601 +close(v3d) +--R Type: Void +--E 260 + +\end{chunk} + +\section{Lasagna Larga Doppia Riccia} +As their name suggests, {\sl lasagna larga doppia riccia} (large +doubly curled lasagna) have two long undulating edges. The curls give +the pasta a variable consistency when cooked, and help them to collect +sauce. {\sl Lasagne} are excellent with ricotta and a {\sl ragu +napoletano}, or cooked {\sl al forno} (at the oven) with a creamy {\sl +besciamella} sauce. +\begin{chunk}{*} +)clear all + +--S 261 of 601 +X(i,j) == _ + if ((8 <= i) and (i <= 42)) _ + then 5.0/6.0+(5.0*i-40.0)/34.0 _ + else if (i <= 8) _ + then 5.0*i/48.0 _ + else 5.0/6.0*(7+(i-42.0)/8) +--R Type: Void +--E 261 + +--S 262 of 601 +Y(i,j) == j/15.0 +--R Type: Void +--E 262 + +--S 263 of 601 +Z(i,j) == _ + if ((8 <= i) and (i <= 42)) _ + then 0.0 _ + else if (i <= 8) _ + then (8.0-i)/32.0*cos((j+3)*%pi/6) _ + else 0.25*(i-42)/8.0*cos((j+9)*%pi/6) +--R Type: Void +--E 263 + +--S 264 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..50,j=0..150,_ + style=="smooth",title=="Lasagna Larga Doppia Riccia") +--R Compiling function X with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %GD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Lasagna Larga Doppia Riccia" +--R Type: ThreeDimensionalViewport +--E 264 + +--S 265 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 265 + +--S 266 of 601 +close(v3d) +--R Type: Void +--E 266 + +\end{chunk} + +\section{Linguine} +The thinnest member of the {\sl bavette} (little dribble) family, {\sl +linguine} (little tongues) are best accompanied by fresh tomato, +herbs, a drop of olive oil, garlic, anchovies, and hot peppers. {\sl +Linguine} may also be served with shellfish sauces, or white sauces of +cream and soft cheese, flavoured with lemon, saffron, or ginger. +\begin{chunk}{*} +)clear all + +--S 267 of 601 +X(i,j) == cos(i*%pi/75) +--R Type: Void +--E 267 + +--S 268 of 601 +Y(i,j) == 2*sin(i*%pi/75) +--R Type: Void +--E 268 + +--S 269 of 601 +Z(i,j) == j/5.0 +--R Type: Void +--E 269 + +--S 270 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="smooth",title=="Linguine") +--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) -> Polynomial +--R Float +--I Compiling function %GJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Linguine" +--R Type: ThreeDimensionalViewport +--E 270 + +--S 271 of 601 +zoom(v3d,2.5,2.5,2.5) +--R Type: Void +--E 271 + +--S 272 of 601 +close(v3d) +--R Type: Void +--E 272 + +\end{chunk} + +\section{Lumaconi Rigati} +Originally from Campania and Liguria, {\sl lumaconi rigati} (big +ribbed snails) can be stuffed with a wide range of fillings, including +spinach and ricotta cheese. Like cannelloni, they can then be covered +in {\sl besciamella} and cooked in the oven. Smaller members of the +family ({\sl lumache}) are also available. +\begin{chunk}{*} +)clear all + +--S 273 of 601 +A(i,j) == 0.45+0.01*cos(i*%pi/3)+j/300.0*abs(cos(i*%pi/240))*cos(i*%pi/120)^20 +--R Type: Void +--E 273 + +--S 274 of 601 +B(i,j) == j/300.0*abs(cos(i*%pi/240))*sin(i*%pi/120) + _ + 0.125*(j/60.0)^6*sin(i*%pi/120) +--R Type: Void +--E 274 + +--S 275 of 601 +X(i,j) == (0.4*cos(i*%pi/120)+A(i,j))*cos(j*%pi/60) + _ + 0.48*(j/60.0)^6*sin((i+60)*%pi/120)^3 +--R Type: Void +--E 275 + +--S 276 of 601 +Y(i,j) == 0.5*sin(i*%pi/120)+0.01*sin(i*%pi/3)+B(i,j) +--R Type: Void +--E 276 + +--S 277 of 601 +Z(i,j) == (0.45+0.4*cos(i*%pi/120))*sin(j*%pi/60) +--R Type: Void +--E 277 + +--S 278 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..240,j=0..60,_ + style=="smooth",title=="Lumaconi Rigati") +--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 Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %GO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Lumaconi Rigati" +--R Type: ThreeDimensionalViewport +--E 278 + +--S 279 of 601 +rotate(v3d,90,180) +--R Type: Void +--E 279 + +--S 280 of 601 +close(v3d) +--R Type: Void +--E 280 + +\end{chunk} + +\section{Maccheroni} +The origin of the name {\sl maccheroni} is uncertain. It is used +generically to describe a hollow {\sl pasta corta} (short pasta) that +is moade of durum-wheat flour and perhasp eggs. The pasta can be +served {\sl con le sarde} (with sardines) - a dish enhanced by a touch +of fennel. +\begin{chunk}{*} +)clear all + +--S 281 of 601 +X(i,j) == 8*cos(i*%pi/75)+0.2*cos(4*i*%pi/15)+5*cos(j*%pi/100) +--R Type: Void +--E 281 + +--S 282 of 601 +Y(i,j) == 8*sin(i*%pi/75)+0.2*sin(4*i*%pi/15)+4*sin(j*%pi/100) +--R Type: Void +--E 282 + +--S 283 of 601 +Z(i,j) == 6.0*j/5.0 +--R Type: Void +--E 283 + +--S 284 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="smooth",title=="Maccheroni") +--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 %GT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %GX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Maccheroni" +--R Type: ThreeDimensionalViewport +--E 284 + +--S 285 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 285 + +--S 286 of 601 +close(v3d) +--R Type: Void +--E 286 + +\end{chunk} + +\section{Maccheroni Alla Chitarra} +Coming from the central Italian region of Abruzzo, {\sl maccheroni +alla chitarra} (guitar {\sl maccheroni}) have a square cross-section, +produced when a thin sheet of pasta is pressed through a frame of +closely ranged wires (or {\sl chitarra}) that lends the pasta its +name. Usually seved with a mutton {\sl ragu}, or {\sl pallottelle} +(veal meatballs). +\begin{chunk}{*} +)clear all + +--S 287 of 601 +X(i,j) == 0.05*cos(i*%pi/60)^3 + 0.05*cos(i*%pi/60) +--R Type: Void +--E 287 + +--S 288 of 601 +Y(i,j) == 0.05*sin(i*%pi/60)^3 + 0.05*sin(i*%pi/60) +--R Type: Void +--E 288 + +--S 289 of 601 +Z(i,j) == j/60.0 +--R Type: Void +--E 289 + +--S 290 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..120,j=0..60,_ + style=="smooth",title=="Maccheroni Alla Chitarra") +--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 %GZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Maccheroni Alla Chitarra" +--R Type: ThreeDimensionalViewport +--E 290 + +--S 291 of 601 +zoom(v3d,2.5,2.5,2.5) +--R Type: Void +--E 291 + +--S 292 of 601 +close(v3d) +--R Type: Void +--E 292 + +\section{Mafaldine} +Named at the turn of the twentieth century after Princess Mafalda of +the House of Savoy, {\sl mafaldine} are thin flat sheets of +durum-wheat flour pasta with a rippled finish on each long edge. They +are generally served with meaty sauces such as {\sl ragu napoletano} +or in seafood dishes. +\begin{chunk}{*} +)clear all + +--S 293 of 601 +X(i,j) == 7.0*i/18.0 +--R Type: Void +--E 293 + +--S 294 of 601 +Y(i,j) == j/3.0 +--R Type: Void +--E 294 + +--S 295 of 601 +Z(i,j) == _ + if ((6 <= i) and (i <= 24)) _ + then 0.0 _ + else if (i <= 6) _ + then (6.0-i)/6.0*cos((j+5)*%pi/10) _ + else (i-24.0)/6.0*cos((j+15)*%pi/10) +--R Type: Void +--E 295 + +--S 296 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..30,j=0..150,_ + style=="smooth",title=="Mafaldine") +--R Compiling function X with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %HF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Mafaldine" +--R Type: ThreeDimensionalViewport +--E 296 + +--S 297 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 297 + +--S 298 of 601 +close(v3d) +--R Type: Void +--E 298 + +\end{chunk} + +\section{Manicotti} +One of the oldest-known durum-wheat varieties, {\sl manicotti} +(sleeves) were originally prepared by cutting dough into rectangles, +which were topped with stuffing, rolled and finally baked {\sl al +forno} (at the oven). Today they are served containing a variety of +cheeses and covered in a savoury sauce, like filled dinner crepes. +\begin{chunk}{*} +)clear all + +--S 299 of 601 +A(i,j) == -7*sin((i-100)*%pi/100)^2+0.3*sin((3*i-300)*%pi/10) +--R Type: Void +--E 299 + +--S 300 of 601 +B(i,j) == -8*cos((i-100)*%pi/100)+0.3*cos((3*i-300)*%pi/10) +--R Type: Void +--E 300 + +--S 301 of 601 +C(i,j) == -8*cos((i-100)*%pi/100)+22*sin((j-20)*%pi/40) +--R Type: Void +--E 301 + +--S 302 of 601 +X(i,j) == _ + if (i < 100) _ + then 7*sin(i*%pi/100)^2+0.3*sin(3*i*%pi/10) _ + else A(i,j) +--R Type: Void +--E 302 + +--S 303 of 601 +Y(i,j) == _ + if (i < 100) _ + then 8*cos(i*%pi/100)+0.3*cos(3*i*%pi/10) _ + else B(i,j) +--R Type: Void +--E 303 + +--S 304 of 601 +Z(i,j) == _ + if (i < 100) _ + then 8*cos(i*%pi/100)+22*sin((j-20)*%pi/40) _ + else C(i,j) +--R Type: Void +--E 304 + +--S 305 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..40,_ + style=="smooth",title=="Manicotti") +--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 Integer +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Integer +--I Compiling function %HL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Manicotti" +--R Type: ThreeDimensionalViewport +--E 305 + +--S 306 of 601 +zoom(v3d,1.5,1.5,1.5) +--R Type: Void +--E 306 + +--S 307 of 601 +close(v3d) +--R Type: Void +--E 307 + +\end{chunk} + +\section{Orecchiette} +This pasta is popular in the southeastern coastal region of Puglia in +Italy, where it is customarily cooked in dishes with rapini, a +relative of broccoli that grows plentifully in the area. {\sl +Orecchiette} (litte ears) also pair well with other vegetables such as +beans, and with salty seasonings such as anchovies, capers, or olives. +\begin{chunk}{*} +)clear all + +--S 308 of 601 +X(i,j) == 2.0*j/3.0*cos(i*%pi/75)+0.3*cos(2*i*%pi/15) +--R Type: Void +--E 308 + +--S 309 of 601 +Y(i,j) == 10*sin(i*%pi/75) +--R Type: Void +--E 309 + +--S 310 of 601 +Z(i,j) == 0.1*cos(i*%pi/3)+5*(0.5+0.5*cos(2*i*%pi/75))^4*cos(j*%pi/30)^2 + _ + 1.5*(0.5+0.5*cos(2*i*%pi/75))^5*sin(j*%pi/30)^10 +--R Type: Void +--E 310 + +--S 311 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..15,_ + style=="smooth",title=="Orecchiette") +--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 Integer +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %HR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Orecchiette" +--R Type: ThreeDimensionalViewport +--E 311 + +--S 312 of 601 +close(v3d) +--R Type: Void +--E 312 + +\end{chunk} + +\section{Paccheri} +Part of the {\sl pasta corta} (short pasta) family, {\sl paccheri} are +ribbed pasta cylinders that (due to their large size) are recommended +with aubergine, seafood, or indeed any chunky sauce. It is thought the +name stems from the term {\sl paccare}, which means 'to smack' in the +southern Italian region of Campania. +\begin{chunk}{*} +)clear all + +--S 313 of 601 +X(i,j) == (j+60.0)/60.0*cos(i*%pi/75)+0.5*cos(j*%pi/60)+cos((i+j)*%pi/75) +--R Type: Void +--E 313 + +--S 314 of 601 +Y(i,j) == 2.6*sin(i*%pi/75)+0.3*sin(j*%pi/60) +--R Type: Void +--E 314 + +--S 315 of 601 +Z(i,j) == 7.0*j/30.0 +--R Type: Void +--E 315 + +--S 316 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..30,_ + style=="smooth",title=="Paccheri") +--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 %HX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %HZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Paccheri" +--R Type: ThreeDimensionalViewport +--E 316 + +--S 317 of 601 +close(v3d) +--R Type: Void +--E 317 + +\end{chunk} + +\section{Pappardelle} +This {\sl pasta lunga} (long pasta) is often cooked with duck, pigeon, +or other game fowl. {\sl Pappardelle} are so popular that towns in +Italy hold festivals in their honour, such as the {\sl Sagra delle +Pappardelle al Cinghiale} (Feast of the {\sl Pappardelle} and Boar) in +Torre Alfina, central Italy. +\begin{chunk}{*} +)clear all + +--S 318 of 601 +A(i,j) == cos(i*%pi/80)+(3.0*j)/50.0*sin(21*i*%pi/800) +--R Type: Void +--E 318 + +--S 319 of 601 +B(i,j) == sin(i*%pi/3200)^0.1*sin(i*%pi/80) +--R Type: Void +--E 319 + +--S 320 of 601 +C(i,j) == 3.0*j/50.0+0.5*sin(i*%pi/200) +--R Type: Void +--E 320 + +--S 321 of 601 +D(i,j) == cos(i*%pi/80)+3.0*j/50.0*sin(21*i*%pi/800) +--R Type: Void +--E 321 + +--S 322 of 601 +E(i,j) == sin(i*%pi/3200)^0.5*sin(i*%pi/80) +--R Type: Void +--E 322 + +--S 323 of 601 +F(i,j) == 3.0*j/50.0+0.5*sin(i*%pi/200) +--R Type: Void +--E 323 + +--S 324 of 601 +vsp:=createThreeSpace() +--R +--R (7) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 324 + +--S 325 of 601 +makeObject(surface(A(i,j),B(i,j),C(i,j)),i=0..800,j=0..5,space==vsp) +--R Compiling function A 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 C with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %ID with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (8) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 325 + +--S 326 of 601 +makeObject(surface(0.6*D(i,j),0.8*E(i,j),0.9*F(i,j)),i=0..800,j=0..5,_ + space==vsp) +--R Compiling function D with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function E with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function F with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %IJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (9) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 326 + +--S 327 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Pappardelle") +--R Transmitting data... +--R +--R (10) ThreeDimensionalViewport: "Pappardelle" +--R Type: ThreeDimensionalViewport +--E 327 + +--S 328 of 601 +close(vp) +--R Type: Void +--E 328 + +\end{chunk} + +\section{Penne Rigate} +A versatile pasta, {\sl penne rigate} (grooved quills) come from +Campania, in southern Italy, and belong to the {\sl pasta corta} +(short pasta) family. they can be served with spicy {\sl arrabbiata} +(angry) sauce, which gets its name from the chillies and red peppers +it contains. +\begin{chunk}{*} +)clear all + +--S 329 of 601 +X(i,j) == _ + if (i < 85) _ + then 4*sin(i*%pi/85)^2+0.1*sin(6*i*%pi/17) _ + else -4*sin((i-85)*%pi/85)^2+0.1*sin(6*(i-85)*%pi/17) +--R Type: Void +--E 329 + +--S 330 of 601 +Y(i,j) == _ + if (i < 85) _ + then 4*cos(i*%pi/85)+0.1*cos(6*i*%pi/17) _ + else -4*cos((i-85)*%pi/85)+0.1*cos(6*(i-85)*%pi/17) +--R Type: Void +--E 330 + +--S 331 of 601 +Z(i,j) == _ + if (i < 85) _ + then 7*cos(i*%pi/85)+15*sin((j-20)*%pi/40) _ + else -7*cos((i-85)*%pi/85)+15*sin((j-20)*%pi/40) +--R Type: Void +--E 331 + +--S 332 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..170,j=0..40,_ + style=="smooth",title=="Penne Rigate") +--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 +--I Compiling function %IP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Penne Rigate" +--R Type: ThreeDimensionalViewport +--E 332 + +--S 333 of 601 +close(v3d) +--R Type: Void +--E 333 + +\end{chunk} + +\section{Pennoni Lisci} +Similar in appearance to {\sl penne rigate}, but larger and without +the grooves, {\sl pennoni} (large quills) require a more oily sauce +(perhaps containing sliced chorizo) to cling to their smooth surface. +\begin{chunk}{*} +)clear all + +--S 334 of 601 +X(i,j) == _ + if (i < 100) _ + then 7*sin(i*%pi/100)^2 _ + else -7*sin((i-100)*%pi/100)^2 +--R Type: Void +--E 334 + +--S 335 of 601 +Y(i,j) == _ + if (i < 100) _ + then 8*cos(i*%pi/100) _ + else -8*cos((i-100)*%pi/100) +--R Type: Void +--E 335 + +--S 336 of 601 +Z(i,j) == _ + if (i < 100) _ + then 12*cos(i*%pi/100)+15*sin((j-20)*%pi/40) _ + else -12*cos((i-100)*%pi/100)+15*sin((j-20)*%pi/40) +--R Type: Void +--E 336 + +--S 337 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..40,_ + style=="smooth",title=="Pennoni Lisci") +--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) -> Expression +--R Integer +--I Compiling function %IU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %IW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Pennoni Lisci" +--R Type: ThreeDimensionalViewport +--E 337 + +--S 338 of 601 +close(v3d) +--R Type: Void +--E 338 + +\end{chunk} + +\section{Pennoni Rigati} +The angled trim of the {\sl penne} pasta family makes its members easy +to recognize. {\sl Pennoni rigati} (large grooved quills) are the +ridged version of {\sl pennoni}, and can be stuffed and cooked. +\begin{chunk}{*} +)clear all + +--S 339 of 601 +A(i,j) == -7*sin((i-100)*%pi/100)^2+0.2*sin((3*i-300)*%pi/10) +--R Type: Void +--E 339 + +--S 340 of 601 +B(i,j) == -8*cos((i-100)*%pi/100)+0.2*cos((3*i-300)*%pi/10) +--R Type: Void +--E 340 + +--S 341 of 601 +C(i,j) == -12*cos((i-100)*%pi/100)+15*sin((j-20)*%pi/40) +--R Type: Void +--E 341 + +--S 342 of 601 +X(i,j) == _ + if (i < 100) _ + then 7*sin(i*%pi/100)^2+0.15*sin(3*i*%pi/10) _ + else A(i,j) +--R Type: Void +--E 342 + +--S 343 of 601 +Y(i,j) == _ + if (i < 100) _ + then 8*cos(i*%pi/100)+0.15*cos(3*i*%pi/10) _ + else B(i,j) +--R Type: Void +--E 343 + +--S 344 of 601 +Z(i,j) == _ + if (i < 100) _ + then 12*cos(i*%pi/100)+15*sin((j-20)*%pi/40) _ + else C(i,j) +--R Type: Void +--E 344 + +--S 345 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..200,j=0..40,_ + style=="smooth",title=="Pennoni Rigati") +--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 Integer +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Integer +--I Compiling function %IY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Pennoni Rigati" +--R Type: ThreeDimensionalViewport +--E 345 + +--S 346 of 601 +close(v3d) +--R Type: Void +--E 346 + +\end{chunk} + +\section{Puntalette} +Another member of the {\sl pastine minute} (tiny pasta) family, {\sl +puntalette} (tiny tips) are about 9 mm long, and no thicker than 3 +mm. Like most {\sl pastine}, they are best consumed in creamy soups, +or perhaps in a salad. +\begin{chunk}{*} +)clear all + +--S 347 of 601 +X(i,j) == 1.4*sin(j*%pi/80)^1.2*cos(i*%pi/40) +--R Type: Void +--E 347 + +--S 348 of 601 +Y(i,j) == 2.5*sin(j*%pi/80)^1.2*sin(i*%pi/40) +--R Type: Void +--E 348 + +--S 349 of 601 +Z(i,j) == 8*cos(j*%pi/80) +--R Type: Void +--E 349 + +--S 350 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..80,j=0..80,_ + style=="smooth",title=="Puntalette") +--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 +--I Compiling function %JE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Puntalette" +--R Type: ThreeDimensionalViewport +--E 350 + +--S 351 of 601 +close(v3d) +--R Type: Void +--E 351 + +\end{chunk} + +\section{Quadrefiore} +An uncommon variety of {\sl pasta corta} (short pasta), {\sl +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}{*} +)clear all + +--S 352 of 601 +X(i,j) == 2*cos(i*%pi/250)*(abs(sin(3*i*%pi/250)))^20 + _ + (0.6+0.9*sin(j*%pi/50))*cos(i*%pi/250)+0.2*cos(4*j*%pi/25) +--R Type: Void +--E 352 + +--S 353 of 601 +Y(i,j) == 2*sin(i*%pi/250)*(abs(sin(3*i*%pi/250)))^20 + _ + (0.6+0.9*sin(j*%pi/50))*sin(i*%pi/250)+1.5*sin(j*%pi/50) +--R Type: Void +--E 353 + +--S 354 of 601 +Z(i,j) == 3.0*j/10.0 +--R Type: Void +--E 354 + +--S 355 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..500,j=0..50,_ + style=="smooth",title=="Quadrefiore") +--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 %JJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Quadrefiore" +--R Type: ThreeDimensionalViewport +--E 355 + +--S 356 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 356 + +--S 357 of 601 +close(v3d) +--R Type: Void +--E 357 + +\end{chunk} + +\section{Quadretti} +These flat shapes are made with durum-wheat flour, eggs, and even +nutmeg. {\sl Quadretti} (tiny squares) are a classic {\sl pastine} +prepared using the leftovers of larger pasta sheets, and can be served +as part of a traditional fish broth, or in soups containing fava +beans. Their small shape means that they need only be cooked for a +short time. +\begin{chunk}{*} +)clear all + +--S 358 of 601 +X(i,j) == 3.0*i/14.0 +--R Type: Void +--E 358 + +--S 359 of 601 +Y(i,j) == 3.0*j/14.0 +--R Type: Void +--E 359 + +--S 360 of 601 +Z(i,j) == 0.0 +--R Type: Void +--E 360 + +--S 361 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..70,j=0..70,_ + style=="smooth",title=="Quadretti") +--R Compiling function X with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Float +--I Compiling function %JO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Quadretti" +--R Type: ThreeDimensionalViewport +--E 361 + +--S 362 of 601 +close(v3d) +--R Type: Void +--E 362 + +\end{chunk} + +\section{Racchette} +Usually served in salads, {\sl racchette} (rackets) suit crunchy pine +nuts, sliced asparagus and fresh peas. Alternatively, the addition of +diced watermelon or pomegranate seeds can create a light-tasking snack. +\begin{chunk}{*} +)clear all + +--S 363 of 601 +A(i) == sin(i*%pi/2000)^0.5 +--R Type: Void +--E 363 + +--S 364 of 601 +X0(i,j) == 2*cos((i+1500)*%pi/1500)+0.65*cos((i+750)*%pi/1500) + _ + 2*(abs(cos(i*%pi/300)))^100*cos(i*%pi/1500) +--R Type: Void +--E 364 + +--S 365 of 601 +Y0(i,j) == 2.4*sin((i+1500)*%pi/1500)+0.1*sin(i*%pi/1500) + _ + 2.3*(abs(sin(i*%pi/300)))^100*sin(i*%pi/1500) +--R Type: Void +--E 365 + +--S 366 of 601 +X1(i,j) == _ + if (i <= 2000) _ + then 2.1*cos((2*A(i)+1)*%pi)+0.65*cos((2*A(i)+0.5)*%pi)+_ + 2.5*sin((A(i)+1.83)*%pi)^500 _ + else -2.1 +--R Type: Void +--E 366 + +--S 367 of 601 +Y1(i,j) == _ + if (i <= 2000) _ + then 2.5*sin((2*A(i)+1)*%pi)+0.1*sin(A(i)*2*%pi)+_ + 3*sin((A(i)+1.83)*%pi)^500 _ + else 0.0 +--R Type: Void +--E 367 + +--S 368 of 601 +Z(i,j) == j/4.0 +--R Type: Void +--E 368 + +--S 369 of 601 +vsp:=createThreeSpace() +--R +--R (7) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 369 + +--S 370 of 601 +makeObject(surface(X0(i,j),Y0(i,j),Z(i,j)),i=0..3000,j=0..4,space==vsp) +--R Compiling function X0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z with type (Variable i,Variable j) -> Polynomial +--R Float +--I Compiling function %JT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (8) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 370 + +--S 371 of 601 +makeObject(surface(X0(i,j),Y0(i,j),Z(i,j)),i=0..3000,j=0..4,space==vsp) +--I Compiling function %JX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %JY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (9) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 371 + +--S 372 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Racchette") +--R Transmitting data... +--R +--R (10) ThreeDimensionalViewport: "Racchette" +--R Type: ThreeDimensionalViewport +--E 372 + +--S 373 of 601 +close(vp) +--R Type: Void +--E 373 + +\end{chunk} + +\section{Radiatori} +Small and squat, {\sl radiatori} (radiators) are named after their +ruffled edge When boiled, drained, and served as a {\sl pastasciutta} +their open centre and large surface area holds thick sauces well, +while the flaps sweep up and trap smaller morsels of food. This pasta +is often accompanied by a lamb-, veal-, rabbit-, or pork-based {\sl ragu}. +\begin{chunk}{*} +)clear all + +--S 374 of 601 +X(i,j) == (1.5+3*(i/70.0)^5+4*sin(j*%pi/200)^50)*cos(4*i*%pi/175) +--R Type: Void +--E 374 + +--S 375 of 601 +Y(i,j) == (1.5+3*(i/70.0)^5+4*sin(j*%pi/200)^50)*sin(4*i*%pi/175) +--R Type: Void +--E 375 + +--S 376 of 601 +Z(i,j) == j/50.0+cos(3*i*%pi/14)*sin(j*%pi/1000) +--R Type: Void +--E 376 + +--S 377 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..70,j=0..1000,_ + style=="smooth",title=="Radiatori") +--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 %KC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Radiatori" +--R Type: ThreeDimensionalViewport +--E 377 + +--S 378 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 378 + +--S 379 of 601 +close(v3d) +--R Type: Void +--E 379 + +\end{chunk} + +\section{Ravioli Quadrati} +Except for the square outline, {\sl ravioli quadrati} (square ravioli) +are made in an identical fashion to {\sl ravioli tondi} (round {\sl +ravioli}). Other variations on the theme include crescents, triangles, +and hearts. Some suggest the name {\sl ravioli} derives from the verb +meaning 'to wrap', others link it with {\sl rapa}, the Italian word +for turnip. +\begin{chunk}{*} +)clear all + +--S 380 of 601 +X(i,j) == i/2.0+0.4*sin((j+2.5)*%pi/5) * _ + (sin(i*%pi/200)^0.2 - cos(i*%pi/200)^0.2) +--R Type: Void +--E 380 + +--S 381 of 601 +Y(i,j) == j/2.0+0.4*sin((11*i+25)*%pi/50) * _ + (sin(j*%pi/200)^0.2 - cos(j*%pi/200)^0.2) +--R Type: Void +--E 381 + +--S 382 of 601 +Z(i,j) == _ + if (((10 < j) and (j < 90)) or ((10 < i) and (i < 90))) _ + then 10*sin((i-10)*%pi/80)^0.6*sin((j-10)*%pi/80)^0.6 _ + else if ((10 > j) or (10 > i)) _ + then 0.0 _ + else 0.0 +--R Type: Void +--E 382 + +--S 383 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..99,j=0..99,_ + style=="smooth",title=="Ravioli Quadrati") +--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 %KI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Ravioli Quadrati" +--R Type: ThreeDimensionalViewport +--E 383 + +--S 384 of 601 +close(v3d) +--R Type: Void +--E 384 + +\end{chunk} + +\section{Ravioli Tondi} +By far the best-known {\sl pasta ripiena} (filled pasta), {\sl ravioli +tondi} (round {\sl ravioli}) are made by sealing a filling between two +layers of dough made from wheat flour and egg. Fillings vary +enormously, from lavish pairings of meat and cheese, to more deleicate +centres of mushrooms, spinach, or even nettle. +\begin{chunk}{*} +)clear all + +--S 385 of 601 +X(i,j) == 5.0*i/8.0+0.5*sin((j+2)*%pi/4) * _ + (sin(i*%pi/160)^0.2-cos(i*%pi/160)^0.2) +--R Type: Void +--E 385 + +--S 386 of 601 +Y(i,j) == 5.0*j/8.0+0.5*sin((i+2)*%pi/4) * _ + (sin(j*%pi/160)^0.2-cos(j*%pi/160)^0.2) +--R Type: Void +--E 386 + +--S 387 of 601 +Z(i,j) == _ + if (600 >= ((i-40)^2+(j-40)^2)) _ + then 0.5*sqrt(600 - (i-40)^2-(j-40)^2) _ + else 0.0 +--R Type: Void +--E 387 + +--S 388 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..80,j=0..80,_ + style=="smooth",title=="Ravioli Tondi") +--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 %KO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Ravioli Tondi" +--R Type: ThreeDimensionalViewport +--E 388 + +--S 389 of 601 +close(v3d) +--R Type: Void +--E 389 + +\end{chunk} + +\section{Riccioli} +A well-know {\sl pasta corta} (short pasta), {\sl riccioli} (curls) +originated in the Emilia-Romagna region of northern Italy. Their +ribbed exterior and hollow shape mean {\sl riccioli} can retain a +large quantity of sauce. +\begin{chunk}{*} +)clear all + +--S 390 of 601 +X(i,j) == (2+8*sin(i*%pi/100)+9*sin((11*j+100)*%pi/400)^2)*cos(4*i*%pi/125) +--R Type: Void +--E 390 + +--S 391 of 601 +Y(i,j) == (2+8*sin(i*%pi/100)+9*sin((11*j+100)*%pi/400)^2)*sin(4*i*%pi/125) +--R Type: Void +--E 391 + +--S 392 of 601 +Z(i,j) == j/4.0 +--R Type: Void +--E 392 + +--S 393 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..50,j=0..200,_ + style=="smooth",title=="Riccioli") +--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) -> Polynomial +--R Float +--I Compiling function %KU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %KY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Riccioli" +--R Type: ThreeDimensionalViewport +--E 393 + +--S 394 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 394 + +--S 395 of 601 +close(v3d) +--R Type: Void +--E 395 + +\end{chunk} + +\section{Riccioli al Cinque Sapori} +{\sl Riccioli} and {\sl riccioli al cinque sapori} (curls in five +flavors) are both members of the {\sl pasta corta} (small pasta) +family, without being related by structural similarities. Made of +durum-wheat flour, {\sl riccioli al cinque sapori} get their color +from the addition of spinach, tomato, beetroot, and turmeric, and are +usually served in broth. +\begin{chunk}{*} +)clear all + +--S 396 of 601 +X(i,j) == 1.5*cos(i*%pi/20)*(1+0.5*sin(j*%pi/25)*sin(i*%pi/40) + _ + 0.43*sin((j+18.75)*%pi/25)*cos(i*%pi/40))+2*cos(j*%pi/50) +--R Type: Void +--E 396 + +--S 397 of 601 +Y(i,j) == 1.5*sin(i*%pi/20)^3+cos(j*%pi/25) +--R Type: Void +--E 397 + +--S 398 of 601 +Z(i,j) == sin(j*%pi/100)+20*cos(j*%pi/200)^2 +--R Type: Void +--E 398 + +--S 399 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..20,j=0..100,_ + style=="smooth",title=="Riccioli al Cinque Sapori") +--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 +--I Compiling function %LA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Riccioli al Cinque Sapori" +--R Type: ThreeDimensionalViewport +--E 399 + +--S 400 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 400 + +--S 401 of 601 +close(v3d) +--R Type: Void +--E 401 + +\end{chunk} + +\section{Rigatoni} +Members of the {\sl pasta corta} (short pasta) branch, and originally +from southern Italy, {\sl rigatoni} (large ridges) are very +versitile. Their robust shape holds cream or tomato sauces well, but +{\sl rigatoni} are best eaten with sausages or game meat, mushrooms, +and black pepper. +\begin{chunk}{*} +)clear all + +--S 402 of 601 +X(i,j) == 0.2*sin((7*i+15)*%pi/30)+2*cos((j+60)*%pi/120) + _ + (7+(60-j)/60.0*sin(i*%pi/240))*cos(i*%pi/120) +--R Type: Void +--E 402 + +--S 403 of 601 +Y(i,j) == 0.2*sin(7*i*%pi/30)+(8+0.1*(60-j)/60+j/30*cos(i*%pi/240)) * _ + sin(i*%pi/120) +--R Type: Void +--E 403 + +--S 404 of 601 +Z(i,j) == j/2.0 +--R Type: Void +--E 404 + +--S 405 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..240,j=0..60,_ + style=="smooth",title=="Rigatoni") +--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 %LG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Rigatoni" +--R Type: ThreeDimensionalViewport +--E 405 + +--S 406 of 601 +close(v3d) +--R Type: Void +--E 406 + +\end{chunk} + +\section{Rombi} +A lesser-known {\sl pasta corta}, {\sl rombi} (rhombuses) feature two +curled edges like {\sl lasagna doppia riccia}, however, they are +smaller and sheared on the diagonal. Generally served with sauce and +{\sl pastasciutta} or in {\sl brodo} (in broth), according to size. +\begin{chunk}{*} +)clear all + +--S 407 of 601 +X(i,j) == _ + if ((13 <= i) and (i <= 37)) _ + then i/20.0+j/25.0-1/20.0 _ + else if (i <= 13) _ + then 3.0*i/65.0+j/25.0 _ + else 6/65.0+3.0*i/65.0+j/25.0 +--R Type: Void +--E 407 + +--S 408 of 601 +Y(i,j) == j/25.0 +--R Type: Void +--E 408 + +--S 409 of 601 +Z(i,j) == _ + if ((13 <= i) and (i <= 37)) _ + then 0.0 _ + else if (i <= 13) _ + then 0.2*((13.0-i)/13.0)*cos((2.0*j+12.5)*%pi/25) _ + else (i-37.0)/65.0*cos((2.0*j+37.5)*%pi/25) +--R Type: Void +--E 409 + +--S 410 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..50,j=0..50,_ + style=="smooth",title=="Rombi") +--R Compiling function X with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %LM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Rombi" +--R Type: ThreeDimensionalViewport +--E 410 + +--S 411 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 411 + +--S 412 of 601 +close(v3d) +--R Type: Void +--E 412 + +\end{chunk} + +\section{Rotelle} +A modern design from the more unusual side of the {\sl pasta corta} +(short pasta) family, {\sl rotelle} (small wheels) are constructed +with spokes that help trap various flavors, making the pasta a good +companion for a variety of sauces. Smaller versions can be served in +salads or cooked in soups. +\begin{chunk}{*} +)clear all + +--S 413 of 601 +X0(i,j) == 0.5*cos(i*%pi/1000)+1.5*(abs(sin(3*i*%pi/1000)))^50*cos(i*%pi/1000) +--R Type: Void +--E 413 + +--S 414 of 601 +Y0(i,j) == 0.5*sin(i*%pi/1000)+1.5*(abs(sin(3*i*%pi/1000)))^50*sin(i*%pi/1000) +--R Type: Void +--E 414 + +--S 415 of 601 +X1(i,j) == _ + if (i <= 666) _ + then 2*cos(3*i*%pi/1000)+0.03*cos(93*i*%pi/1000) _ + else 2.03 +--R Type: Void +--E 415 + +--S 416 of 601 +Y1(i,j) == _ + if (i <= 666) _ + then 2.05*sin(3*i*%pi/1000)+0.03*sin(93*i*%pi/1000) _ + else 0.0 +--R Type: Void +--E 416 + +--S 417 of 601 +Z(i,j) == j/5.0 +--R Type: Void +--E 417 + +--S 418 of 601 +vsp:=createThreeSpace() +--R +--R (6) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 418 + +--S 419 of 601 +makeObject(surface(X0(i,j),Y0(i,j),Z(i,j)),i=0..2000,j=0..5,space==vsp) +--R Compiling function X0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z with type (Variable i,Variable j) -> Polynomial +--R Float +--I Compiling function %LR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (7) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 419 + +--S 420 of 601 +makeObject(surface(X0(i,j),Y0(i,j),Z(i,j)),i=0..2000,j=0..5,space==vsp) +--I Compiling function %LV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %LY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (8) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 420 + +--S 421 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Rotelle") +--R Transmitting data... +--R +--R (9) ThreeDimensionalViewport: "Rotelle" +--R Type: ThreeDimensionalViewport +--E 421 + +--S 422 of 601 +close(vp) +--R Type: Void +--E 422 + +\end{chunk} + +\section{Saccottini} +Another out-and-out member of the {\sl pasta ripiena} (filled pasta) +club, {\sl saccottini}-like {\sl fagottini}, to which they are closely +related - are made of a durum-wheat circle of dough gathered into an +irregular ball-shaped bundle. {\sl Saccottini} are usually stuffed +with ricotta, meat, or steamed greens. +\begin{chunk}{*} +)clear all + +--S 423 of 601 +X(i,j) == cos(i*%pi/75)*(sin(j*%pi/50)+1.3*sin(j*%pi/200) + _ + 3*j/1000.0*cos((i+25)*%pi/25)) +--R Type: Void +--E 423 + +--S 424 of 601 +Y(i,j) == sin(i*%pi/75)*(sin(j*%pi/50)+1.3*sin(j*%pi/200) + _ + 0.7*(j/100.0)^2*sin(i*%pi/15)) +--R Type: Void +--E 424 + +--S 425 of 601 +Z(i,j) == 2*(1-(abs(cos(j*%pi/200)))^5+(j/100.0)^4.5) +--R Type: Void +--E 425 + +--S 426 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..100,_ + style=="smooth",title=="Saccottini") +--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 %MA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MD with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Saccottini" +--R Type: ThreeDimensionalViewport +--E 426 + +--S 427 of 601 +close(v3d) +--R Type: Void +--E 427 + +\end{chunk} + +\section{Sagnarelli} +This short and rectangular ribbon with four indented edges belongs to +the {\sl pasta lunga} (long pasta) branch. {\sl Sagnarelli} are +sometimes made with eggs and are generally served as {\sl +pastasciutta} with a meat {\sl ragu}, or alongside vegetables such as +wild asparagus. +\begin{chunk}{*} +)clear all + +--S 428 of 601 +A(i) == 0.5*sin((i+1.5)*%pi/3) +--R Type: Void +--E 428 + +--S 429 of 601 +B(i) == 0.05*sin((9*i+12.5)*%pi/25) +--R Type: Void +--E 429 + +--S 430 of 601 +X(i,j) == i/10.0+A(j)*(cos(i*%pi/120)^100-sin(i*%pi/200)^100) +--R Type: Void +--E 430 + +--S 431 of 601 +Y(i,j) == j/20.0+B(i)*(cos(j*%pi/120)^100-sin(j*%pi/200)^100) +--R Type: Void +--E 431 + +--S 432 of 601 +Z(i,j) == 0.0 +--R Type: Void +--E 432 + +--S 433 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..100,j=0..60,_ + style=="smooth",title=="Sagnarelli") +--R Compiling function A with type Variable j -> Expression Float +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function B with type Variable i -> Expression Float +--R Compiling function Y with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Float +--I Compiling function %MF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Sagnarelli" +--R Type: ThreeDimensionalViewport +--E 433 + +--S 434 of 601 +close(v3d) +--R Type: Void +--E 434 + +\end{chunk} + +\section{Sagne Incannulate} +Shaping the twisted ribbons of durum-wheat pasta known as {\sl sagne +incannulate} requires skill. Strips of dough are held at the end +against a wooden board with one hand, while the palm of the other +rolls the rest of the {\sl pasta lunga} (long pasta) to form the +distinctive curl. {\sl Sagne} are best consumed with a thick sauce or +a traditional {\sl ragu}. +\begin{chunk}{*} +)clear all + +--S 435 of 601 +X0(i,j) == (1-0.2*sin(3*j*%pi/20))*cos((i+10)*%pi/20) + _ + 2*sin((i-100)*%pi/200)+(3*i)/200.0*sin(i*%pi/400)^200 +--R Type: Void +--E 435 + +--S 436 of 601 +Y0(i,j) == (1-0.2*sin(3*j*%pi/20))*sin((i+10)*%pi/20)+sin((i-50)/200*%pi) +--R Type: Void +--E 436 + +--S 437 of 601 +X1(i,j) == -3+(1-0.1*sin(3*j*%pi/20))*sin((3*i-10)*%pi/50) + _ + cos(i*%pi/200)+3*i/200.0*sin(i*%pi/400)^5 +--R Type: Void +--E 437 + +--S 438 of 601 +Y1(i,j) == -5+(1-01.*sin(3*j*%pi/20))*cos((3*i+10)*%pi/50)+2*sin(i*%pi/200) +--R Type: Void +--E 438 + +--S 439 of 601 +Z(i,j) == i/4.0+7/2.0*(1+cos(j*%pi/20)) +--R Type: Void +--E 439 + +--S 440 of 601 +vsp:=createThreeSpace() +--R +--R (6) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 440 + +--S 441 of 601 +makeObject(surface(X0(i,j),Y0(i,j),Z(i,j)),i=0..200,j=0..20,space==vsp) +--R Compiling function X0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %ML with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (7) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 441 + +--S 442 of 601 +makeObject(surface(X1(i,j),Y1(i,j),Z(i,j)),i=0..200,j=0..20,space==vsp) +--R Compiling function X1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y1 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %MR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (8) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 442 + +--S 443 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Sagne Incannulate") +--R Transmitting data... +--R +--R (9) ThreeDimensionalViewport: "Sagne Incannulate" +--R Type: ThreeDimensionalViewport +--E 443 + +--S 444 of 601 +zoom(vp,3.0,3.0,3.0) +--R Type: Void +--E 444 + +--S 445 of 601 +close(vp) +--R Type: Void +--E 445 + +\end{chunk} + +\section{Scialatielli} +Hailing from the Amalfi coast in the province of Naples, {\sl +scialatielli} are a rustic {\sl pasta lunga} (long pasta) similar in +appearance to {\sl fettuccine} and {\sl tagliotelle}. When they are +made, milk and eggs can be added to the durum-wheat flour to lend it a +golden color, {\sl Scialatielli} are best paired with seafood, or a +{\sl ragu} of pork or veal. +\begin{chunk}{*} +)clear all + +--S 446 of 601 +X(i,j) == 0.1*cos(i*%pi/75)+0.1*cos((i+7.5)*%pi/75)^3+0.1*sin(j*%pi/50) +--R Type: Void +--E 446 + +--S 447 of 601 +Y(i,j) == 0.1*cos(i*%pi/75)+0.2*sin(i*%pi/75)^3+0.1*sin(j*%pi/50) +--R Type: Void +--E 447 + +--S 448 of 601 +Z(i,j) == 3.0*j/50.0 +--R Type: Void +--E 448 + +--S 449 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="smooth",title=="Scialatielli") +--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 %MX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %MZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Scialatielli" +--R Type: ThreeDimensionalViewport +--E 449 + +--S 450 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 450 + +--S 451 of 601 +close(v3d) +--R Type: Void +--E 451 + +\end{chunk} + +\section{Spaccatelle} +This noted speciality of Sicily belongs to the {\sl pasta corta} +(short pasta) family. {\sl Spaccatelle} are generally elongated curves +with a concave centre, and are served as a {\sl pastasciutta} (pasta +boiled and drained) with a light tomato sauce or a thick meaty {\sl ragu}. +\begin{chunk}{*} +)clear all + +--S 452 of 601 +X(i,j) == (0.5+5*(j/100.0)^3+0.5*cos((i+37.5)*%pi/25))*cos(2*j*%pi/125) +--R Type: Void +--E 452 + +--S 453 of 601 +Y(i,j) == 0.6*sin((i+37.5)*%pi/25) +--R Type: Void +--E 453 + +--S 454 of 601 +Z(i,j) == (0.5+5*(j/100.0)^3+0.5*cos((i+37.5)*%pi/25))*sin(2*j*%pi/125) +--R Type: Void +--E 454 + +--S 455 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..25,j=0..100,_ + style=="smooth",title=="Spaccatelle") +--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 %ND with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NF with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NH with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Spaccatelle" +--R Type: ThreeDimensionalViewport +--E 455 + +--S 456 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 456 + +--S 457 of 601 +close(v3d) +--R Type: Void +--E 457 + +\end{chunk} + +\section{Spaghetti} +Without a doubt, {\sl spaghetti} (small strings) remain the best-known +and most versatile {\sl pasta lunga} (long pasta) worldwide. Above all +they are known for accompanying {\sl ragu bolognese}, a mixture +containing beef, tomato, cream, onions, and pancetta. More recently, +{\sl spaghetti} have become popular in a creamy {\sl carbonara}. +\begin{chunk}{*} +)clear all + +--S 458 of 601 +X(i,j) == 0.1*cos(i*%pi/20) +--R Type: Void +--E 458 + +--S 459 of 601 +Y(i,j) == 0.1*sin(i*%pi/20) +--R Type: Void +--E 459 + +--S 460 of 601 +Z(i,j) == j/10.0 +--R Type: Void +--E 460 + +--S 461 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..100,_ + style=="smooth",title=="Spaghetti") +--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 %NJ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NL with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NN with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Spaghetti" +--R Type: ThreeDimensionalViewport +--E 461 + +--S 462 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 462 + +--S 463 of 601 +close(v3d) +--R Type: Void +--E 463 + +\end{chunk} + +\section{Spiralli} +The ridged and helicoidal {\sl spirali} (spirals) are similar in shape +to {\sl cavatappi}, but are slightly larger. {\sl Spirali} may be +served with chunky sauces as {\sl pastasciutta}, baked {\sl al forno} +(at the oven) with a thick cheese topping or added to salads. +\begin{chunk}{*} +)clear all + +--S 464 of 601 +X(i,j) == (2.5+2*cos(i*%pi/50)+0.1*cos(i*%pi/5))*cos(j*%pi/30) +--R Type: Void +--E 464 + +--S 465 of 601 +Y(i,j) == (2.5+2*cos(i*%pi/50)+0.1*cos(i*%pi/5))*sin(j*%pi/30) +--R Type: Void +--E 465 + +--S 466 of 601 +Z(i,j) == (2.5+2*sin(i*%pi/50)+0.1*sin(i*%pi/5))+j/6.0 +--R Type: Void +--E 466 + +--S 467 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..100,j=0..120,_ + style=="smooth",title=="Spiralli") +--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 %NP with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NR with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NT with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Spiralli" +--R Type: ThreeDimensionalViewport +--E 467 + +--S 468 of 601 +zoom(v3d,2.5,2.5,2.5) +--R Type: Void +--E 468 + +--S 469 of 601 +close(v3d) +--R Type: Void +--E 469 + +\end{chunk} + +\section{Stellette} +A member of the {\sl pastine minute} (tiny pasta) family, {\sl +stellette} (little stars) are only marginally larger than both {\sl +acini di pepe} and {\sl cuoretti}. Like all {\sl pastine}, they are +best served in a light soup, perhaps flavored with portobello +mushrooms or peas. +\begin{chunk}{*} +)clear all + +--S 470 of 601 +X(i,j) == (3.0+3.0*i/5.0)*cos(j*%pi/75)+i/10*cos((j+15)*%pi/15) +--R Type: Void +--E 470 + +--S 471 of 601 +Y(i,j) == (3.0+3.0*i/5.0)*sin(j*%pi/75)+i/10*sin(j*%pi/15) +--R Type: Void +--E 471 + +--S 472 of 601 +Z(i,j) == 0.0 +--R Type: Void +--E 472 + +--S 473 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..25,j=0..150,_ + style=="smooth",title=="Stellette") +--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) -> Float +--I Compiling function %NV with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NX with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %NZ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Stellette" +--R Type: ThreeDimensionalViewport +--E 473 + +--S 474 of 601 +close(v3d) +--R Type: Void +--E 474 + +\end{chunk} + +\section{Stortini} +Another {\sl pastine minute} (tiny pasta), {\sl stortini} (little +crooked pieces) are consumed in creamy soups with mushroom and +celery. As a rule of thumb, smaller pasta is best in thinner soups, +while larger {\sl pastina minute} can be served with thicker varieties. +\begin{chunk}{*} +)clear all + +--S 475 of 601 +A(i,j) == 0.5*(abs(sin(2*i*%pi/125)))^3 +--R Type: Void +--E 475 + +--S 476 of 601 +B(i,j) == 1-abs(sin((2*i-500)*%pi/125)) +--R Type: Void +--E 476 + +--S 477 of 601 +C(i,j) == 1-0.5*(abs(sin(2*(i-375)*%pi/125)))^3 +--R Type: Void +--E 477 + +--S 478 of 601 +X(i,j) == _ + if (i <= 250) _ + then cos(2*i*%pi/125) _ + else 1.7-cos((2*i-500)*%pi/125) +--R Type: Void +--E 478 + +--S 479 of 601 +Y(i,j) == _ + if (i <= 250) _ + then if (i <= 125) _ + then abs(sin(2*i*%pi/125)) _ + else A(i,j) _ + else if (i <= 375) _ + then B(i,j) _ + else C(i,j) +--R Type: Void +--E 479 + +--S 480 of 601 +Z(i,j) == j/20.0 +--R Type: Void +--E 480 + +--S 481 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..500,j=0..10,_ + style=="smooth",title=="Stortini") +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function A with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function B with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function C 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 %OB with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Stortini" +--R Type: ThreeDimensionalViewport +--E 481 + +--S 482 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 482 + +--S 483 of 601 +close(v3d) +--R Type: Void +--E 483 + +\end{chunk} + +\section{Strozzapreti} +The dough used to make {\sl strozzapreti} (or {\sl strangolapreti}; +both translate to 'priest stranglers') can be prepared with assorted +flours, eggs, and even potato. {\sl Strozzapreti} are an ideal {\sl +pastasciutta}, and can be served with a traditional meat sauce, topped +with Parmigiano-Reggiano. +\begin{chunk}{*} +)clear all + +--S 484 of 601 +A(i,j) == 0.5*cos(j*%pi/40)+0.5*cos((j+76)*%pi/40) + _ + 0.5*cos(j*%pi/30)+0.5*sin((2*i-j)*%pi/40) +--R Type: Void +--E 484 + +--S 485 of 601 +B(i,j) == 0.5*sin(j*%pi/40)+0.5*sin((j+76)*%pi/40) + _ + 0.5*sin(j*%pi/30)+0.5*cos((2*i-j)*%pi/40) +--R Type: Void +--E 485 + +--S 486 of 601 +X(i,j) == _ + if (i <= 30) _ + then 0.5*cos(j*%pi/30)+0.5*cos((2*i+j+16)*%pi/40) _ + else A(i,j) +--R Type: Void +--E 486 + +--S 487 of 601 +Y(i,j) == _ + if (i <= 30) _ + then 0.5*sin(j*%pi/30)+0.5*sin((2*i+j+16)*%pi/40) _ + else B(i,j) +--R Type: Void +--E 487 + +--S 488 of 601 +Z(i,j) == j/4.0 +--R Type: Void +--E 488 + +--S 489 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..60,j=0..60,_ + style=="smooth",title=="Strozzapreti") +--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 Z with type (Variable i,Variable j) -> Polynomial +--R Float +--I Compiling function %OG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (6) ThreeDimensionalViewport: "Strozzapreti" +--R Type: ThreeDimensionalViewport +--E 489 + +--S 490 of 601 +zoom(v3d,2.5,2.5,2.5) +--R Type: Void +--E 490 + +--S 491 of 601 +close(v3d) +--R Type: Void +--E 491 + +\end{chunk} + +\section{Tagliatelle} +A mixture of wheat-flour and eggs, {\sl tagliatelle} (derived from the +Italian {\sl tagliare} - 'to cut') belong to the {\sl pasta lunga} +(long pasta) family. Originally hailing from the north of Italy, {\sl +tagliatelle} are frequently served in {\sl carbonara} sauce, but can +also accompany seafood, or alternatively may form the basis of a {\sl +timballo} (baked pasta dish). +\begin{chunk}{*} +)clear all + +--S 492 of 601 +X0(i,j) == 0.4*cos(3*i*%pi/250)+j/80.0*sin(31*i*%pi/1000) +--R Type: Void +--E 492 + +--S 493 of 601 +Y0(i,j) == 0.4*sin(3*i*%pi/250)*sin(i*%pi/4000)^0.1 +--R Type: Void +--E 493 + +--S 494 of 601 +Z0(i,j) == j/80.0+0.12*sin(9*i*%pi/1000) +--R Type: Void +--E 494 + +--S 495 of 601 +X1(i,j) == 0.4*cos(3*i*%pi/250)+j/80.0*sin(31*i*%pi/1000) +--R Type: Void +--E 495 + +--S 496 of 601 +Y1(i,j) == 0.4*sin(i*%pi/4000)^0.5*sin(3*i*%pi/250) +--R Type: Void +--E 496 + +--S 497 of 601 +Z1(i,j) == j/80.0+0.12*sin(9*i*%pi/1000) +--R Type: Void +--E 497 + +--S 498 of 601 +vsp:=createThreeSpace() +--R +--R (7) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 498 + +--S 499 of 601 +makeObject(surface(X0(i,j),Y0(i,j),Z0(i,j)),i=0..1000,j=0..4,space==vsp) +--R Compiling function X0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z0 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %OM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (8) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 499 + +--S 500 of 601 +makeObject(surface(0.8*X1(i,j),Y1(i,j),0.9*Z1(i,j)),i=0..1000,j=0..4,_ + space==vsp) +--R Compiling function X1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z1 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %OS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %OW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (9) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 500 + +--S 501 of 601 +makeObject(surface(X1(i,j),0.9*Y1(i,j),0.6*Z1(i,j)),i=0..1000,j=0..4,_ + space==vsp) +--I Compiling function %OY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (10) 3-Space with 3 components +--R Type: ThreeSpace DoubleFloat +--E 501 + +--S 502 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Tagliatelle") +--R Transmitting data... +--R +--R (11) ThreeDimensionalViewport: "Tagliatelle" +--R Type: ThreeDimensionalViewport +--E 502 + +--S 503 of 601 +close(vp) +--R Type: Void +--E 503 + +\end{chunk} + +\section{Taglierini} +Another coiling {\sl pasta lunga} (long pasta), {\sl taglierini} are +of the same lineage as {\sl tagliatelle}, but are substantially +narrower - almost hair-like. +\begin{chunk}{*} +)clear all + +--S 504 of 601 +X0(i,j) == 0.5*cos(i*%pi/100)+0.05*cos(i*%pi/40) +--R Type: Void +--E 504 + +--S 505 of 601 +Y0(i,j) == 0.5*sin(i*%pi/4000)^0.1*sin(i*%pi/100)+0.075*sin(i*%pi/40) +--R Type: Void +--E 505 + +--S 506 of 601 +Z0(i,j) == 3.0*j/200.0+0.1*sin(i*%pi/125) +--R Type: Void +--E 506 + +--S 507 of 601 +X1(i,j) == 0.4*cos(i*%pi/100) +--R Type: Void +--E 507 + +--S 508 of 601 +Y1(i,j) == 0.4*sin(i*%pi/4000)^0.2*sin(i*%pi/100) +--R Type: Void +--E 508 + +--S 509 of 601 +Z1(i,j) == 3.0*j/200.0+0.1*sin(i*%pi/125) +--R Type: Void +--E 509 + +--S 510 of 601 +X2(i,j) == 0.3*cos(i*%pi/100) +--R Type: Void +--E 510 + +--S 511 of 601 +Y2(i,j) == 0.3*sin(3*i*%pi/1000)*sin(i*%pi/50) +--R Type: Void +--E 511 + +--S 512 of 601 +Z2(i,j) == -0.05+3.0*j/200.0+0.1*sin(i*%pi/125) +--R Type: Void +--E 512 + +--S 513 of 601 +vsp:=createThreeSpace() +--R +--R (10) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 513 + +--S 514 of 601 +makeObject(surface(X0(i,j)*0.6,Y0(i,j)*0.5,Z0(i,j)),i=0..1000,j=0..2,_ + space==vsp) +--R Compiling function X0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z0 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %PE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (11) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 514 + +--S 515 of 601 +makeObject(surface(X1(i,j),Y1(i,j),Z1(i,j)),i=0..1000,j=0..2,space==vsp) +--R Compiling function X1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z1 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %PK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (12) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 515 + +--S 516 of 601 +makeObject(surface(0.8*X1(i,j),0.9*Y1(i,j),1.3*Z1(i,j)),i=0..1000,j=0..2,_ + space==vsp) +--I Compiling function %PQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (13) 3-Space with 3 components +--R Type: ThreeSpace DoubleFloat +--E 516 + +--S 517 of 601 +makeObject(surface(X2(i,j),0.9*Y2(i,j),1.5*Z2(i,j)),i=0..1000,j=0..2,_ + space==vsp) +--R Compiling function X2 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y2 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z2 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %PW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %PY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (14) 3-Space with 4 components +--R Type: ThreeSpace DoubleFloat +--E 517 + +--S 518 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Tagliatelle") +--R Transmitting data... +--R +--R (15) ThreeDimensionalViewport: "Tagliatelle" +--R Type: ThreeDimensionalViewport +--E 518 + +--S 519 of 601 +close(vp) +--R Type: Void +--E 519 + +\end{chunk} + +\section{Tagliolini} +Thinner even than {\sl taglierini}, {\sl tagliolini} are traditionally +eaten as a starter with butter, soft cheese, or {\sl al pomodoro} (in +a light tomato sauce). Alternatively, they may be served in a chicken +broth. A versatile pasta, {\sl tagliolini} are also the main +ingredient for a variety of {\sl timballo} dishes baked {\sl al forno} +(at the oven). +\begin{chunk}{*} +)clear all + +--S 520 of 601 +X0(i,j) == 0.5*cos(i*%pi/200)+0.05*cos(5*i*%pi/400) +--R Type: Void +--E 520 + +--S 521 of 601 +Y0(i,j) == 0.5*sin(i*%pi/8000)^0.1*sin(i*%pi/200)+0.075*sin(5*i*%pi/400) +--R Type: Void +--E 521 + +--S 522 of 601 +Z0(i,j) == 0.01*j+0.1*sin(i*%pi/250) +--R Type: Void +--E 522 + +--S 523 of 601 +X1(i,j) == 0.4*cos(i*%pi/200) +--R Type: Void +--E 523 + +--S 524 of 601 +Y1(i,j) == 0.4*sin(i*%pi/8000)^0.2*sin(i*%pi/200) +--R Type: Void +--E 524 + +--S 525 of 601 +Z1(i,j) == 0.01*j+0.1*sin(i*%pi/250) +--R Type: Void +--E 525 + +--S 526 of 601 +X2(i,j) == 0.3*cos(i*%pi/125) +--R Type: Void +--E 526 + +--S 527 of 601 +Y2(i,j) == 0.3*sin(3*i*%pi/2000)*sin(3*i*%pi/200) +--R Type: Void +--E 527 + +--S 528 of 601 +Z2(i,j) == -0.05+0.01*j+0.1*sin(i*%pi/250) +--R Type: Void +--E 528 + +--S 529 of 601 +vsp:=createThreeSpace() +--R +--R (10) 3-Space with 0 components +--R Type: ThreeSpace DoubleFloat +--E 529 + +--S 530 of 601 +makeObject(surface(X0(i,j)*0.6,Y0(i,j)*0.5,Z0(i,j)),i=0..2000,j=0..1,_ + space==vsp) +--R Compiling function X0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y0 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z0 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %QC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (11) 3-Space with 1 component +--R Type: ThreeSpace DoubleFloat +--E 530 + +--S 531 of 601 +makeObject(surface(X1(i,j),Y1(i,j),Z1(i,j)),i=0..2000,j=0..2,space==vsp) +--R Compiling function X1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y1 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z1 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %QI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (12) 3-Space with 2 components +--R Type: ThreeSpace DoubleFloat +--E 531 + +--S 532 of 601 +makeObject(surface(0.8*X1(i,j),0.9*Y1(i,j),1.3*Z1(i,j)),i=0..2000,j=0..2,_ + space==vsp) +--I Compiling function %QO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (13) 3-Space with 3 components +--R Type: ThreeSpace DoubleFloat +--E 532 + +--S 533 of 601 +makeObject(surface(X2(i,j),0.9*Y2(i,j),1.5*Z2(i,j)),i=0..2000,j=0..2,_ + space==vsp) +--R Compiling function X2 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Y2 with type (Variable i,Variable j) -> +--R Expression Float +--R Compiling function Z2 with type (Variable i,Variable j) -> +--R Expression Float +--I Compiling function %QU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %QY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R +--R (14) 3-Space with 4 components +--R Type: ThreeSpace DoubleFloat +--E 533 + +--S 534 of 601 +vp:=makeViewport3D(vsp,style=="smooth",title=="Tagliolini") +--R Transmitting data... +--R +--R (15) ThreeDimensionalViewport: "Tagliolini" +--R Type: ThreeDimensionalViewport +--E 534 + +--S 535 of 601 +close(vp) +--R Type: Void +--E 535 + +\end{chunk} + +\section{Torchietti} +The whorls of {\sl torchietti} (tiny torches) trap chunky sauces +will. Also known as {\sl maccheroni al torchio}, they are best eaten +in a tomato sauce with larger, coarsely chopped vegetables such as +carrots, broccoli, and cauliflower. +\begin{chunk}{*} +)clear all + +--S 536 of 601 +A(i,j) == (3.0*i-60.0)*j/100.0 +--R Type: Void +--E 536 + +--S 537 of 601 +B(i,j) == (3.0*i-60.0)*(100.0-j)/100.0 +--R Type: Void +--E 537 + +--S 538 of 601 +C(i,j) == 3.0*(i-20.0)*(100.0-j)/100.0 +--R Type: Void +--E 538 + +--S 539 of 601 +D(i,j) == 3.0*(i-20.0)*j/100.0 +--R Type: Void +--E 539 + +--S 540 of 601 +E(i,j) == _ + if ((j <= 50) or (i <= 20)) _ + then A(i,j) _ + else if ((j >= 50) or (i <= 20)) _ + then B(i,j) _ + else if ((j >= 50) or (i >= 20)) _ + then C(i,j) _ + else D(i,j) +--R Type: Void +--E 540 + +--S 541 of 601 +F(i,j) == (3+2.5*sin(E(i,j)*%pi/120)+3*sin(j*%pi/200)^10) +--R Type: Void +--E 541 + +--S 542 of 601 +X(i,j) == F(i,j)*cos(E(i,j)*%pi/10)+0.1*cos(j*%pi/2) +--R Type: Void +--E 542 + +--S 543 of 601 +Y(i,j) == F(i,j)*sin(E(i,j)*%pi/10)+0.1*sin(j*%pi/2)+3*sin(j*%pi/50) +--R Type: Void +--E 543 + +--S 544 of 601 +Z(i,j) == 18.0*j/25.0+2.0*E(i,j)/5.0 +--R Type: Void +--E 544 + +--S 545 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..100,_ + style=="smooth",title=="Torchietti") +--R Compiling function A with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function B with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function C with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function D with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function E with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function F 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 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 %RA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (10) ThreeDimensionalViewport: "Torchietti" +--R Type: ThreeDimensionalViewport +--E 545 + +--S 546 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 546 + +--S 547 of 601 +close(v3d) +--R Type: Void +--E 547 + +\end{chunk} + +\section{Tortellini} +To prepare a {\sl tortellino}, a teaspoon of meat, cheese, or +vegetables is wrapped in a layer of dough (made of wheat flour and +egg) that is then skilfully rolled and folded. These shapely members +of the {\sl pasta ripiena} (filled pasta) family are traditionally +eaten in steaming soups, but are also drained and served with a local +sauce as {\sl pastasciutta}. +\begin{chunk}{*} +)clear all + +--S 548 of 601 +A(i,j) == 0.2*sin(i*%pi/200)+j/400.0 +--R Type: Void +--E 548 + +--S 549 of 601 +B(i,j) == cos(j/60.0*(2.7+0.2*sin(i*%pi/120)^50)*%pi+1.4*%pi) +--R Type: Void +--E 549 + +--S 550 of 601 +C(i,j) == sin(j/60.0*(2.7+0.2*sin(i*%pi/120)^50)*%pi+1.4*%pi) +--R Type: Void +--E 550 + +--S 551 of 601 +X(i,j) == 0.5^(1+0.5*sin(i*%pi/120))*cos((11*i-60)*%pi/600) * _ + (1.35+(3+sin(i*%pi/120))*A(i,j)*B(i,j)) +--R Type: Void +--E 551 + +--S 552 of 601 +Y(i,j) == 0.5*sin((11*i-60)*%pi/600) * _ + (1.35+(0.6+sin(i*%pi/120))*A(i,j)*B(i,j)) +--R Type: Void +--E 552 + +--S 553 of 601 +Z(i,j) == 0.15+i/1200.0+0.5*(0.8*sin(i*%pi/120)+j/400.0)*sin(i*%pi/120)*C(i,j) +--R Type: Void +--E 553 + +--S 554 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..120,j=0..60,_ + style=="smooth",title=="Tortellini") +--R Compiling function A 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 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 C 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 %RG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (7) ThreeDimensionalViewport: "Tortellini" +--R Type: ThreeDimensionalViewport +--E 554 + +--S 555 of 601 +close(v3d) +--R Type: Void +--E 555 + +\end{chunk} + +\section{Tortiglioni} +Another classic {\sl pasta corta} (short pasta), {\sl tortiglioni} +originate from the Campania region of southern Italy. {\sl +Tortiglioni} (deriving from the Italian {\sl torquere} - 'to cut') are +often baked in a {\sl timballo} or boiled, drained and served as a +{\sl pastasciutta} coupled with a strong sauce of tomato, chorizo, and +black pepper. +\begin{chunk}{*} +)clear all + +--S 556 of 601 +X(i,j) == 6*cos(i*%pi/75)-3.5*cos(j*%pi/100) + _ + 0.15*sin((13*i/75.0+j/15.0+1.5)*%pi) +--R Type: Void +--E 556 + +--S 557 of 601 +Y(i,j) == 6*sin(i*%pi/75)+0.15*sin((13*i/75.0+j/15.0)*%pi) +--R Type: Void +--E 557 + +--S 558 of 601 +Z(i,j) == 11.0*j/10.0 +--R Type: Void +--E 558 + +--S 559 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="smooth",title=="Tortiglioni") +--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 %RM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Tortiglioni" +--R Type: ThreeDimensionalViewport +--E 559 + +--S 560 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 560 + +--S 561 of 601 +close(v3d) +--R Type: Void +--E 561 + +\end{chunk} + +\section{Trenne} +A hollow triangular variety of {\sl pasta corta} (short pasta), {\sl +trenne} ({\sl penne} with a triangular cross-section) are extremely +sturdy. They are best served with mushrooms, tomato, and spinach - or +in any sauce that would normally accompany their close cousins: {\sl +penne}, {\sl trennette}, and {\sl ziti}. +\begin{chunk}{*} +)clear all + +--S 562 of 601 +X(i,j) == _ + (if (i <= 33) _ + then (3.0*i/10.0) _ + else ((300.0-3*i)/20.0)) +--R Type: Void +--E 562 + +--S 563 of 601 +Y(i,j) == _ + (if (i <= 33) _ + then (0.0) _ + else (if (i <= 66) _ + then ((9*i-300)/20.0) _ + else ((900-9*i)/20.0))) +--R Type: Void +--E 563 + +--S 564 of 601 +Z(i,j) == _ + (if (i <= 33) _ + then (if (i <= 16) _ + then (-9.0*i/50.0+6.0*j/4.0) _ + else (-6.0+9.0*i/50.0+3.0*j/2.0) ) _ + else (if (i <= 66) _ + then (-12.0+7.0*i/20.0+6.0*j/4.0) _ + else (35.0-7.0*i/20.0+6.0*j/4.0))) +--R Type: Void +--E 564 + +--S 565 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..100,j=0..40,_ + style=="smooth",title=="Trenne") +--R Compiling function X with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Polynomial +--R Float +--I Compiling function %RS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %RW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Trenne" +--R Type: ThreeDimensionalViewport +--E 565 + +--S 566 of 601 +close(v3d) +--R Type: Void +--E 566 + +\end{chunk} + +\section{Tripoline} +The ribbon-like {\sl tripoline} are {\sl pasta lunga} (long pasta) +curled along one edge only. This wave gives the {\sl tripoline} a +varying texture after cooking, and helps them to gather extra +sauce. Originally from southern Italy, they are often served with +tomato and basil, or {\sl ragu alla napoletana} and a sprinkling of +Pecorino Romano. +\begin{chunk}{*} +)clear all + +--S 567 of 601 +X(i,j) == i/20.0 +--R Type: Void +--E 567 + +--S 568 of 601 +Y(i,j) == j/20.0 +--R Type: Void +--E 568 + +--S 569 of 601 +Z(i,j) == _ + if (i <= 30) _ + then 0.0 _ + else if (i <= 10) _ + then (10.0-i)/50.0*cos((j+2)*%pi/4) _ + else ((i-30.0)/50.0)*cos((j+15)*%pi/10) +--R Type: Void +--E 569 + +--S 570 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..40,j=0..200,_ + style=="smooth",title=="Tripoline") +--R Compiling function X with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Y with type (Variable i,Variable j) -> Polynomial +--R Float +--R Compiling function Z with type (Variable i,Variable j) -> Expression +--R Float +--I Compiling function %RY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SC with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Tripoline" +--R Type: ThreeDimensionalViewport +--E 570 + +--S 571 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 571 + +--S 572 of 601 +close(v3d) +--R Type: Void +--E 572 + +\end{chunk} + +\section{Trofie} +The Ligurian version of {\sl gnocchi}, {\sl trofie} are made from a +mixture of wheat flour, bran, water, and potatoes. Traditionally +served boiled with green beans and more potatoes, they may also be +paired with a simple mix of {\sl pesto genovese}, pine nuts, salt, and +olive oil. +\begin{chunk}{*} +)clear all + +--S 573 of 601 +A(i,j) == (3.0*i)/5.0+10*cos(j*%pi/25) +--R Type: Void +--E 573 + +--S 574 of 601 +X(i,j) == (1+sin(i*%pi/150)+2*sin(i*%pi/150)*sin(j*%pi/25)) * _ + sin(13*i*%pi/300) +--R Type: Void +--E 574 + +--S 575 of 601 +Y(i,j) == (1+sin(i*%pi/150)+2*sin(i*%pi/150)*sin(j*%pi/25)) * _ + cos(13*i*%pi/300)+5*sin(2*A(i,j)*%pi/125) +--R Type: Void +--E 575 + +--S 576 of 601 +Z(i,j) == A(i,j) +--R Type: Void +--E 576 + +--S 577 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..50,_ + style=="smooth",title=="Trofie") +--R Compiling function X with type (Variable i,Variable j) -> Expression +--R Integer +--R Compiling function A 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 %SE with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SG with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SI with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (5) ThreeDimensionalViewport: "Trofie" +--R Type: ThreeDimensionalViewport +--E 577 + +--S 578 of 601 +zoom(v3d,3.0,3.0,3.0) +--R Type: Void +--E 578 + +--S 579 of 601 +close(v3d) +--R Type: Void +--E 579 + +\end{chunk} + +\section{Trottole} +A well-formed {\sl pasta corta} (short pasta) comprised of rings that +curl up about a central stalk, {\sl trottole} are ideal for +salads. They are also delicious with pumpkin or courgette, leek, pine +nuts, and a few shavings of Parmigiano-Reggiano. +\begin{chunk}{*} +)clear all + +--S 580 of 601 +A(i,j) == 0.17-0.15*sin(j*%pi/120)+0.25*((60.0-j)/60.0)^10*sin(j*%pi/30) +--R Type: Void +--E 580 + +--S 581 of 601 +B(i,j) == 0.17-0.15*sin(j*%pi/120)+0.25*((60.0-j)/60.0)^10*sin(j*%pi/30) +--R Type: Void +--E 581 + +--S 582 of 601 +C(i,j) == 0.25*((60.0-j)/60.0)^5*(1-sin((i-128)*%pi/160))*cos(j*%pi/30) +--R Type: Void +--E 582 + +--S 583 of 601 +D(i,j) == (7.0*i)/400.0-48/25+C(i,j)+j/120.0*(1-sin((i-128)*%pi/64)) +--R Type: Void +--E 583 + +--S 584 of 601 +X(i,j) == _ + if (i >= 128) _ + then (A(i,j)*(1-sin((i-128)*%pi/320)))*cos(7*i*%pi/160) _ + else B(i,j)*cos(7*i*%pi/160) +--R Type: Void +--E 584 + +--S 585 of 601 +Y(i,j) == _ + if (i >= 128) _ + then (A(i,j)*(1-sin((i-128)*%pi/160)))*sin(7*i*%pi/160) _ + else B(i,j)*sin(7*i*%pi/160) +--R Type: Void +--E 585 + +--S 586 of 601 +Z(i,j) == _ + if (i >= 128) _ + then D(i,j) _ + else i/400.0+j/100.0+0.25*((60.0-j)/60.0)^5*cos(j*%pi/30) +--R Type: Void +--E 586 + +--S 587 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..160,j=0..60,_ + style=="smooth",title=="Trottole") +--R Compiling function A 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 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 C with type (Variable i,Variable j) -> Expression +--R Float +--R Compiling function D 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 %SK with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SM with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SO with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (8) ThreeDimensionalViewport: "Trottole" +--R Type: ThreeDimensionalViewport +--E 587 + +--S 588 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 588 + +--S 589 of 601 +close(v3d) +--R Type: Void +--E 589 + +\end{chunk} + +\section{Tubetti Rigati} +The smallest members of the {\sl pasta corta} (short pasta) clan, {\sl +tubetti rigati} (grooved tubes) were first created in Campania, +southern Italy. When served {\sl e fagioli} (with beans) they create +very filling soups, but can also be served in a light {\sl marinara} +(mariner's) sauce of tomato, basil, and onions. +\begin{chunk}{*} +)clear all + +--S 590 of 601 +X(i,j) == 2*cos(i*%pi/75)+0.03*sin((4*i+7.5)*%pi/15)+0.5*cos(j*%pi/60) +--R Type: Void +--E 590 + +--S 591 of 601 +Y(i,j) == 2*sin(i*%pi/75)+0.03*sin(4*i*%pi/15)+0.5*sin(j*%pi/60) +--R Type: Void +--E 591 + +--S 592 of 601 +Z(i,j) == j/3.0 +--R Type: Void +--E 592 + +--S 593 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..150,j=0..30,_ + style=="smooth",title=="Tubetti Rigati") +--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 %SQ with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SS with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SU with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Tubetti Rigati" +--R Type: ThreeDimensionalViewport +--E 593 + +--S 594 of 601 +zoom(v3d,2.0,2.0,2.0) +--R Type: Void +--E 594 + +--S 595 of 601 +close(v3d) +--R Type: Void +--E 595 + +\end{chunk} + +\section{Ziti} +A pasta reserved for banquets and special occasions, {\sl ziti} +('grooms' or 'brides' in Italian dialect) originate from +Sicily. Tradition has it that they should be broken by hand before +being tossed into boiling water. After draining they can be served in +tomato sauces with peppers or courgettes, topped with cheese like +Provolone. +\begin{chunk}{*} +)clear all + +--S 596 of 601 +X(i,j) == 0.5*cos(i*%pi/35)+0.2*sin(j*%pi/70) +--R Type: Void +--E 596 + +--S 597 of 601 +Y(i,j) == 0.5*sin(i*%pi/35)+0.2*sin(j*%pi/70) +--R Type: Void +--E 597 + +--S 598 of 601 +Z(i,j) == j/14.0 +--R Type: Void +--E 598 + +--S 599 of 601 +v3d:=draw(surface(X(i,j),Y(i,j),Z(i,j)),i=0..70,j=0..70,_ + style=="smooth",title=="Ziti") +--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 %SW with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %SY with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--I Compiling function %TA with type (DoubleFloat,DoubleFloat) -> +--R DoubleFloat +--R Transmitting data... +--R +--R (4) ThreeDimensionalViewport: "Ziti" +--R Type: ThreeDimensionalViewport +--E 599 + +--S 600 of 601 +zoom(v3d,2.5,2.5,2.5) +--R Type: Void +--E 600 + +--S 601 of 601 +close(v3d) +--R Type: Void +--E 601 + )spool )lisp (bye)