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