File proveniente da Wikimedia Commons. Clicca per visitare la pagina originale

File:Translucent Jessen icosahedron.svg

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

File originale(file in formato SVG, dimensioni nominali 512 × 512 pixel, dimensione del file: 910 byte)

Logo di Commons
Logo di Commons
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?)

Dettagli

Descrizione
English: Translucent Jessen icosahedron
Data
Fonte Opera propria
Autore 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")

Licenza

Io, detentore del copyright su quest'opera, dichiaro di pubblicarla con la seguente licenza:
Creative Commons CC-Zero Questo file è reso disponibile nei termini della licenza Creative Commons CC0 1.0 Universal.
La persona che ha associato un'opera con questo atto legale ha donato tale opera nel pubblico dominio rinunciando a tutti i diritti sull'opera in tutto il mondo, inclusi tutti i diritti connessi o altri diritti simili, per quanto permesso dalla legge. Puoi copiare, modificare, distribuire ed utilizzare l'opera, anche a fini commerciali, senza chiedere alcun permesso.

Didascalie

Aggiungi una brevissima spiegazione di ciò che questo file rappresenta
Translucent Jessen icosahedron

Elementi ritratti in questo file

raffigura

Cronologia del file

Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.

Data/OraMiniaturaDimensioniUtenteCommento
attuale09:15, 7 ott 2021Miniatura della versione delle 09:15, 7 ott 2021512 × 512 (910 byte)David EppsteinUploaded own work with UploadWizard

La seguente pagina usa questo file:

Utilizzo globale del file

Anche i seguenti wiki usano questo file:

Metadati