2012-05-03 57 views
2

我想在圆柱体上打印文本。结果应该看起来像一罐可口可乐。Mathematica:在3D图形上打印文本

我尝试了类似于例子Mathematica的文档中: http://reference.wolfram.com/mathematica/ref/Texture.html>范围>纹理规格>文本例

text = Style["Coca Cola", 128]; 
Graphics3D[{ 
    Texture[text], 
    Red, Cylinder[{{0, 0, 0}, {0, 0, h}}, radius[h], VertexTextureCoordinates -> {...}], 

}] 

但气缸不识别VertexTextureCoordinates选项。 我在做什么错?

回答

3

你没有做错什么,它只是不AFAIK内置原语的工作。但是,你一定能写自己的Cylinder函数,它是由多边形构建在那里你可以申请任何你喜欢的质地:

text = Style["Cook a Cola", 128, White, Background -> Red]; 
Graphics3D[ 
{Texture[text], 
    Red, EdgeForm[], 
    With[{dphi = Pi/35}, 
    Table[ 
    Polygon[{{Cos[phi], Sin[phi], 0}, {Cos[phi + dphi], 
     Sin[phi + dphi], 0}, {Cos[phi + dphi], Sin[phi + dphi], 
     1}, {Cos[phi], Sin[phi], 1}}, 
    VertexTextureCoordinates -> {{phi/Pi, 0}, {(phi + dphi)/Pi, 
     0}, {(phi + dphi)/Pi, 1} 
     , {phi/Pi, 1}}], 
    {phi, 0, 2 Pi - dphi, dphi} 
    ] 
    ] 
    } 
] 

enter image description here

+0

谢谢。但我的教授希望我使用内置的基元。然而,这个文本的想法只是一个想法,以获得额外的积分。 – Reini