Blenderで素数階段

魔性の難問 ~リーマン予想・天才たちの闘い~
映画ドラマアニメに分類はされてるわけではないですが、私的には十分面白いドラマです。このNHKスペシャルで出てきた素数の階段が分かりやすくてとてもきれいなCGでした。
真似して作ってみようと思います。

準備するもの
  • Linux PC(確認環境はDebian 8.3 Jessie)
  • 端末ウィンドウ(ターミナルソフト)
  • Blender(確認環境はv2.72)

ソースをどんっ!

     1	#!/bin/bash
     2	cat <<EOL>/tmp/tmp.py
     3	
     4	import bpy,math
     5	
     6	bpy.data.materials['Material'].diffuse_color=(1, 0.9, 0.1)
     7	bpy.data.materials['Material'].emit=0.1
     8	
     9	red=bpy.data.materials.new("red")
    10	red.diffuse_color=(1, 0, 0)
    11	
    12	bpy.data.objects['Cube'].location=(0,0,1.5)
    13	bpy.ops.transform.resize(value=(7,1,1))
    14	
    15	bpy.context.object.data.materials.append(red)
    16	bpy.context.object.data.polygons[3].material_index=1
    17	
    18	num=3
    19	mtcount=1
    20	while num < 1000:
    21		for i in range(num-1,1,-1):
    22			if (num % i) == 0:
    23				bpy.ops.object.duplicate()
    24				bpy.ops.transform.translate(value=(0,2,0))
    25				break
    26			if i < 3:
    27				bpy.ops.object.duplicate()
    28				bpy.ops.transform.translate(value=(0,2,2))
    29				break
    30	
    31		num = num + 1	
    32		
    33	
    34	a=bpy.ops.mesh.primitive_cube_add()
    35	bpy.ops.transform.resize(value=(999, 999, 0.5))
    36	
    37	EOL
    38	blender -P /tmp/tmp.py

階段はCubeですが、Cubeの正面のマテリアルを変更することによって、ただの複写で、素数段の時に赤色が見えるようになっています。
primestairs-001

コメント

タイトルとURLをコピーしました