Configurar la vista de la cámara dentro de Sketch

Configurar la vista de la cámara dentro de Sketch

Estoy usando sketch para generar gráficos tikz en 3D, pero la documentación del sketch no es útil. Por ejemplo, aquí hay un código de boceto:

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}

Lo cual genera exitosamente el código tikz para esto:

icosaedro

Sin embargo, no puedo encontrar en la documentación cómo configurar la vista de la cámara para tikz en otra cosa que no sea directa. Parece que si intento usar rotar(), ¿tendría que hacer esto para cada polígono por separado?

Respuesta1

Puedes consultarapartado 3.1.3.3 del manualpara los detalles de la viewtransformación.

O mire el ejemplo aproximadamente a mitad de camino ensección 4.1:

def eye (10,4,10)
def look_at (0,0,-5)
put { view((eye), (look_at)) } {bunchofpolygons}

Donde bunchofpolygonsse define como lo que estás dibujando.

Además, si reúne los comandos de polígonos en una función, puede rotar solo esa función sin ningún problema. Entonces puedes rotar lo que estás dibujando o puedes mover la cámara, tú decides.

información relacionada