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