# How to add texture to a parametric plot?

I need to put some simple textures to some parametric plots. My textures are not complicated, They are like the first example in here. Is there any simple way of doing this?

For example, How can I put this texture:

on this parametric surface:

f = {u, Sin[v]*(u^3 + 2 u^2 - 2 u + 2)/5,
Cos[v]*(u^3 + 2 u^2 - 2 u + 2)/5};

uRange = {u, -2.3, 1.3}
vRange = {v, 0, 2 Pi}


Note that I'm not looking for the best way of doing this, and the best possible output quality, I'm just looking for something simple and easy to understand.

• What have you tried so far? The page you link to had an example with ParametricPlot3D. Why didn't the same method shown there work for you? People will be reluctant to give yet another example seeing that you have already ignored one in the documentation and didn't explain the difficulty with it. Dec 7 '14 at 18:40
• The docs for Texture[] contains at least one example of the usage with ParametricPlot3D[]. If you already saw it, please specify how your requirements differ from it. Dec 7 '14 at 18:45
• @Szabolcs Yes you are right, I should have explained my problem. The first problem is that I didnt know how to import textures. But now that kguler answered my question, I think I know what to do.
– lino
Dec 7 '14 at 18:46

image = Import["http://i.stack.imgur.com/6YRfK.jpg"];


If you want to use your f, uRange and vRange as the arguments to ParamatricPlot3D, you need to wrap each with Evaluate:

f = {u, Sin[v]*(u^3 + 2 u^2 - 2 u + 2)/5,  Cos[v]*(u^3 + 2 u^2 - 2 u + 2)/5};
uRange = {u, -2.3, 1.3};
vRange = {v, 0, 2 Pi};

ParametricPlot3D[Evaluate@f, Evaluate@uRange, Evaluate@vRange,
Mesh -> None, PlotStyle -> Texture[image], Lighting -> "Neutral"]


Alternatively, you can set the option TextureCoordinateScaling to False

ParametricPlot3D[Evaluate@f, Evaluate@uRange, Evaluate@vRange, Mesh -> None,
PlotStyle -> Texture[image], Lighting -> "Neutral", TextureCoordinateScaling -> False]


to get

• PlotStyle can apply to points, lines and surfaces. I like it! +1
– user9660
Dec 7 '14 at 18:48
• @Lou, thank you for the upvote.
– kglr
Dec 7 '14 at 18:53