
Ich verwende Sketch, um 3D-Tikz-Grafiken zu generieren, aber die Sketch-Dokumentation ist nicht hilfreich. Hier ist beispielsweise ein Sketch-Code:
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}
Dadurch wird der Tikz-Code hierfür erfolgreich generiert:
Ich kann in der Dokumentation jedoch nicht finden, wie ich die Kameraansicht für Tikz auf etwas anderes als geradeaus einstellen kann. Es scheint, dass ich, wenn ich versuche, rotate() zu verwenden, dies für jedes Polygon separat tun muss?
Antwort1
Sie können auscheckenAbschnitt 3.1.3.3 des Handbuchsfür die Details der view
Transformation.
Oder schauen Sie sich das Beispiel etwa in der Mitte anAbschnitt 4.1:
def eye (10,4,10)
def look_at (0,0,-5)
put { view((eye), (look_at)) } {bunchofpolygons}
„Wo“ bunchofpolygons
wird als das definiert, was Sie zeichnen.
Wenn Sie Ihre Polygonbefehle in einer Funktion zusammenfassen, können Sie außerdem problemlos nur diese eine Funktion drehen. Sie können also entweder das drehen, was Sie zeichnen, oder die Kamera bewegen, das bleibt Ihnen überlassen.