
私はスケッチを使用して 3D tikz グラフィックスを生成していますが、スケッチのドキュメントは役に立ちません。たとえば、ここにスケッチ コードがあります:
def v1 ( 0.000, 0.000, 1.000 )
def v2 ( 0.894, 0.000, 0.447 )
def v3 ( 0.276, 0.851, 0.447 )
def v4 ( -0.724, 0.526, 0.447 )
def v5 ( -0.724, -0.526, 0.447 )
def v6 ( 0.276, -0.851, 0.447 )
def v7 ( 0.724, 0.526, -0.447 )
def v8 ( -0.276, 0.851, -0.447 )
def v9 ( -0.894, 0.000, -0.447 )
def v10 ( -0.276, -0.851, -0.447 )
def v11 ( 0.724, -0.526, -0.447 )
def v12 ( 0.000, 0.000, -1.000 )
polygon(v1)(v2)(v3)
polygon(v1)(v3)(v4)
polygon(v1)(v4)(v5)
polygon(v1)(v5)(v6)
polygon(v1)(v6)(v2)
polygon(v8)(v7)(v12)
polygon(v9)(v8)(v12)
polygon(v10)(v9)(v12)
polygon(v11)(v10)(v12)
polygon(v7)(v11)(v12)
polygon(v7)(v3)(v2)
polygon(v8)(v4)(v3)
polygon(v9)(v5)(v4)
polygon(v10)(v6)(v5)
polygon(v11)(v2)(v6)
polygon(v7)(v8)(v3)
polygon(v8)(v9)(v4)
polygon(v9)(v10)(v5)
polygon(v10)(v11)(v6)
polygon(v11)(v7)(v2)
global {language tikz}
これにより、次の tikz コードが正常に生成されます。
しかし、ドキュメントでは、tikz のカメラ ビューを正面以外の位置に設定する方法が見つかりません。rotate() を使用する場合は、ポリゴンごとに個別にこれを行う必要があるようです。
答え1
チェックアウトできますマニュアルのセクション3.1.3.3変換の詳細については、こちらをご覧くださいview
。
あるいは、下半分くらいの例を見てくださいセクション4.1:
def eye (10,4,10)
def look_at (0,0,-5)
put { view((eye), (look_at)) } {bunchofpolygons}
どこがbunchofpolygons
、何を描いているかによって定義されます。
また、ポリゴン コマンドを 1 つの関数に集めると、その 1 つの関数だけを問題なく回転させることができます。つまり、描画しているものを回転させたり、カメラを移動したりすることができます。