Re: ParametricPlot3D
- To: mathgroup at smc.vnet.net
- Subject: [mg61717] Re: [mg61693] ParametricPlot3D
- From: Igor Antonio <igora at wolf-ram.com>
- Date: Thu, 27 Oct 2005 05:01:44 -0400 (EDT)
- Organization: Wolfram Research, Inc.
- References: <200510250528.BAA23561@smc.vnet.net> <200510260501.BAA18802@smc.vnet.net>
- Reply-to: igora at wolf-ram.com
- Sender: owner-wri-mathgroup at wolfram.com
Maurits Haverkort wrote: > Dear all > > I want to plot several surfaces in one plot and used for that > ParametricPlot3D. Everything works fine if I enter the definitions for the > functions inline. If I define however a variable (list) that holds the > different functions it does not work anymore. Does anybody know a way out? > > The functions I want to plot are for example two spherse of unit radia > centered at 000 and 100. (I need in the end to plot funcitons (R[t,f] > centered at different orrigens) > > If I write it inline it works fine > ParametricPlot3D[{{Cos[f] Sin[t], Sin[t] Sin[f], Cos[t]}, {Cos[f] Sin[t] + > 1, Sin[t] Sin[f], Cos[t]}}, {t, 0, 3.1415}, {f, 0, 2 3.1415}]; > > If however I first define my functions and then try to plot: > ToPlot = {{Cos[f] Sin[t], Sin[t] Sin[f], Cos[t]}, {Cos[f] Sin[t] + 1, Sin[t] > Sin[f], Cos[t]}}; > ParametricPlot3D[ToPlot, {t, 0, 3.1415}, {f, 0, 2 3.1415}]; > I get the error: > ParametricPlot3D::ppfun : Argument ToPlot is not a list with three or four > elements. More. > > Since the function I need to plot is a result of a calculation I rather need > to input it as a variable. Any sugestions? > > Thanks, > Maurits Maurits, ParametricPlot3D has the Attribute HoldAll, which means it any of its arguments before launching: Mathematica 5.2 for Microsoft Windows Copyright 1988-2005 Wolfram Research, Inc. -- Terminal graphics initialized -- In[1]:= Attributes@ParametricPlot3D Out[1]= {HoldAll, Protected} You need to do an Evaluate[] on the argument of ParametricPlot3D so that ToPlot is "converted" to its values before being passed to ParametricPlot3D, like this: ToPlot = {{Cos[f], Sin[t], Sin[t] Sin[f], Cos[t]}, {Cos[f] Sin[t] + 1, Sin[t] Sin[f], Cos[t]}}; ParametricPlot3D[Evaluate@ToPlot, {t, 0, 3.1415}, {f, 0, 2 3.1415}]; -- Igor C. Antonio Wolfram Research, Inc. http://www.wolfram.com To email me personally, remove the dash.
- References:
- Re: notebook directory
- From: Bill Rowe <readnewsciv@earthlink.net>
- ParametricPlot3D
- From: "Maurits Haverkort" <Haverkort@ph2.uni-koeln.de>
- Re: notebook directory