2

シリンダーにテキストを印刷したい。結果は、コカ・コーラの缶のように見えるはずです。

Mathematicaのドキュメントの例と同様に試してみました: http://reference.wolfram.com/mathematica/ref/Texture.html > Scope > Texture Specification > Text Example

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

}]

しかし、Cylinder は VertexTextureCoordinates オプションを認識しません。私は何を間違っていますか?

4

1 に答える 1

4

あなたは何も悪いことをしていません.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}
    ]
   ]
  }
 ]

ここに画像の説明を入力

于 2012-05-03T18:16:32.777 に答える