f[u_, t_, c_] = {3 t, Pi - (4 t*(1/c)), u*(20/Pi)}; g[u_, t_, d_] = {(Pi/2) Cos[((3/2) t) + Pi] + d, (Pi/2) Sin[((3/2) t) + Pi] + d, u*(20/Pi)}; h[u_, t_, c_] = {3 u, 3 t, (10*Sin[u]^2 Cos[t - Pi/2]^2)}; Manipulate[ ParametricPlot3D[{h[u, t, c], g[u, t, d], f[u, t, c]}, {t, 0, Pi/2}, {u, 0, Pi/2}, Boxed -> False, AspectRatio -> 1, AxesLabel -> {x, y, z}, PlotRange -> All], {c, Pi/2, 3 Pi/2}, {d, Pi/2, 3 Pi/2}] Before I begin, it is important to note that the names of the goods, x and y, correspond to the axes on which their level of consumption is shown. The Price of good y is fixed related to income while the price of good x varies. The vertical plane that can be manipulated using the "c" control shows the budget constraint. An increasing "c" value corresponds to an increase in the quantity of x the consumer can afford, or a lower price. The other dynamic surface, a part of a cylinder, slides up the Utility function, U(x,y) that is made up of the consumer's indifference curves. The intersections of these two curves are a visualization of the indifference curves.