ファイル:Translucent Jessen icosahedron.svg

ページのコンテンツが他言語でサポートされていません。

元のファイル(SVG ファイル、512 × 512 ピクセル、ファイルサイズ: 910バイト)

概要

解説
English: Translucent Jessen icosahedron
日付
原典 投稿者自身による著作物
作者 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")

ライセンス

この作品の著作権者である私は、この作品を以下のライセンスで提供します。
Creative Commons CC-Zero このファイルはクリエイティブ・コモンズ CC0 1.0 全世界 パブリック・ドメイン提供のもとで利用可能にされています。
ある作品に本コモンズ証を関連づけた者は、その作品について世界全地域において著作権法上認められる、その者が持つすべての権利(その作品に関する権利や隣接する権利を含む。)を、法令上認められる最大限の範囲で放棄して、パブリック・ドメインに提供しています。

この作品は、たとえ営利目的であっても、許可を得ずに複製、改変・翻案、配布、上演・演奏することが出来ます。

キャプション

このファイルの内容を1行で記述してください
Translucent Jessen icosahedron

このファイルに描写されている項目

題材

ファイルの履歴

過去の版のファイルを表示するには、その版の日時をクリックしてください。

日付と時刻サムネイル寸法利用者コメント
現在の版2021年10月7日 (木) 07:152021年10月7日 (木) 07:15時点における版のサムネイル512 × 512 (910バイト)David EppsteinUploaded own work with UploadWizard

以下のページがこのファイルを使用しています:

グローバルなファイル使用状況

以下に挙げる他のウィキがこの画像を使っています:

メタデータ