Why is //Evaluate needed for fcn passed to PP3D?

• To: mathgroup at smc.vnet.net
• Subject: [mg46012] Why is //Evaluate needed for fcn passed to PP3D?
• From: relishguy at pluggedin.org (Relishguy)
• Date: Mon, 2 Feb 2004 05:21:22 -0500 (EST)
• Sender: owner-wri-mathgroup at wolfram.com

```I am trying to run ParametricPlot3D using the following syntax from
Gray's book "Curves and Surfaces":

ParametricPlot3D[{viviani[1][t], {
1 + Cos[t], Sin[t], 0}, {2 Cos[
t/2], 0, 2 Sin[t/2]}, {2 Cos[t/2], 2 Sin[t/
2], 0}, {0, 2 Cos[t/2], 2 Sin[t/2]}}
(*why is this // Evaluate needed?if not, pp3d arg
is not a list with three or four elements ?? // Evaluate*),
{t,
0, Pi}
];

The viviani function is defined as:

"t->viviani[a][t] is a Viviani curve on a sphere of radius 2*a. It is
the
intersection of the cylinder (x - a)^2 + y^2==a^2 and the sphere x^2 +
y^2 +
z^2==4*a^2.  To plot try viviani[1][-2Pi,2Pi]."

If I run this cmd as above I get the error "arg to pp3d is not a list
of 3 or 4 items". If I move the close-comment before the "//Evaluate"
it runs fine.

I looked at the help for Evaluate and PP3D, and my only guess is that
it could be that viviani is a compiled function (I don't even know how
to check this!).

TIA.

Regards..Roger

My Environment: Mathe 4.2 WinXP

```

• Prev by Date: Re: Nasty bug in Integrate (version 5.0)
• Next by Date: Mathematica 5.0.1 & MathLink for Excel 2.1.1
• Previous by thread: Re: Re: Nasty bug in Integrate (version 5.0)