Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1415:projekte_im_wintersemester_2014_15:perlinnoise3.py

perlinnoise3.py

import perlin3D
from mayavi.scripts import mayavi2
from tvtk.api import tvtk
from mayavivoxels import voxels
 
@mayavi2.standalone
def view(mesh):
    '''Stellt ein tvtk.Polydata mesh im mayavi2 Standalone dar.'''
    from mayavi.sources.vtk_data_source import VTKDataSource
    from mayavi.modules.surface import Surface
 
    mayavi.new_scene()
    src = VTKDataSource(data=mesh)
    mayavi.add_source(src)
    s = Surface()
    mayavi.add_module(s)
 
terrain = []
counter = 1
 
for i in range(50):
    tempmap1 = []
    for j in range(50):
        tempmap2=[]
        for k in range(50):
            tempmap2.append(perlin3D.perlinnoise(i, j, k, 0.03125, 0.5, 0.3))
        tempmap1.append(tempmap2)
    terrain.append(tempmap1)
 
points = []
for n, i in enumerate(terrain):
    for m, j in enumerate(i):
        for o, k in enumerate(j):
            if k > 0:
                points.append((n*0.05, o*0.05, m*0.05))
 
print "Terrain finished calculating"
 
cube = voxels(points)
view(cube.createmesh(0.05))
ws1415/projekte_im_wintersemester_2014_15/perlinnoise3.py.txt · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)