File:Translucent Jessen icosahedron.svg

De Wikimedia Commons, el repositorio multimedia libre
Ir a la navegación Ir a la búsqueda

Archivo original(archivo SVG, nominalmente 512 × 512 píxeles, tamaño de archivo: 910 bytes)

Leyendas

Leyendas

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

Resumen

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

Source code

[editar]
   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

[editar]
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.

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 Eppstein (discusión | contribs.)Uploaded own work with UploadWizard

La siguiente página usa este archivo:

Uso global del archivo

Las wikis siguientes utilizan este archivo:

Metadatos