我正在使用 Sketch 生成 3D tikz 图形,但 Sketch 文档没有帮助。例如,以下是一些 Sketch 代码:
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
定义为您正在绘制的内容。
此外,如果您将多边形命令集中到一个函数中,那么您可以毫无困难地只旋转该函数。因此,您可以旋转所绘制的内容,也可以移动相机,一切由您决定。