Ir al contenido

Archivo:Translucent Jessen icosahedron.svg

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

Ver la imagen en su resolución original((Imagen SVG, nominalmente 512 × 512 pixels, tamaño de archivo: 910 bytes))

Resumen

Descripción
English: Translucent Jessen icosahedron
Fecha
Fuente Trabajo propio
Autor David Eppstein

Source code

   import numpy, svg3d, pyrr, math
   def rot(a,b,c):
       return [(a,b,c),(b,c,a),(c,a,b)]
   def orthants(V):
       return [[i for i in range(len(V)) if V[i][0]*x >= 0 and V[i][1]*y >= 0 and V[i][2]*z >= 0] for x in [-1,1] for y in [-1,1] for z in [-1,1]]
   def wide(V):
       def isbase(i,j):
           for k in [0,1,2]:
               if V[i][k] in [1,-1]:
                   if V[j][k] != 0:
                       return False
               elif V[i][k] == 0:
                   if V[j][k] not in [2,-2]:
                       return False
               else:
                   if V[i][k]*V[j][k] < 0:
                       return False
           return True
       return [[i]+[j for j in range(len(V)) if isbase(i,j)] for i in range(len(V))]
   def get_faces():
       f = math.sqrt(2.0) / 2.0
       verts = numpy.float32(rot(2,1,0)+rot(2,-1,0)+rot(-2,-1,0)+rot(-2,1,0))
       triangles = numpy.int32(orthants(verts)+wide(verts))
       return 7.5 * verts[triangles]
   def generate_svg(filename):
       view = pyrr.matrix44.create_look_at(
           eye=[66, 36, 108], target=[0, 0, 0], up=[0, 1, 0]
       )
       projection = pyrr.matrix44.create_perspective_projection(
           fovy=15, aspect=1, near=10, far=200
       )
       camera = svg3d.Camera(view, projection)
       style = dict(
           fill="#D8F0FF",
           fill_opacity="0.8",
           stroke="black",
           stroke_linejoin="round",
           stroke_width="0.005",
       )
       mesh = svg3d.Mesh(get_faces(), style=style)
       view = svg3d.View(camera, svg3d.Scene([mesh]))
       svg3d.Engine([view]).render(filename)


   generate_svg("jessen.svg")

Licencia

Yo, el titular de los derechos de autor de esta obra, la publico en los términos de la siguiente licencia:
Creative Commons CC-Zero Este archivo está disponible bajo la licencia Creative Commons Dedicación de Dominio Público CC0 1.0 Universal.
La persona que ha asociado una obra a este documento lo dedica al dominio público mediante la cesión mundial de sus derechos bajo la ley de derechos de autor y todos los derechos legales adyacentes propios de dicha, en el ámbito permitido por ley. Puedes copiar, modificar, distribuir y reproducir el trabajo, incluso con objetivos comerciales, sin pedir aprobación del autor.

Leyendas

Añade una explicación corta acerca de lo que representa este archivo
Translucent Jessen icosahedron

Elementos representados en este archivo

representa a

Historial del archivo

Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.

Fecha y horaMiniaturaDimensionesUsuarioComentario
actual07:15 7 oct 2021Miniatura de la versión del 07:15 7 oct 2021512 × 512 (910 bytes)David EppsteinUploaded own work with UploadWizard

La siguiente página usa este archivo:

Uso global del archivo

Las wikis siguientes utilizan este archivo:

Metadatos