Skip to content

Instantly share code, notes, and snippets.

@zeffii
Created February 16, 2014 22:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeffii/9041788 to your computer and use it in GitHub Desktop.
Save zeffii/9041788 to your computer and use it in GitHub Desktop.
import bpy
import math
from random import random
def quad_creation(n=0.8):
a = random() * 24
b = random() * 6
t = random() * 1.2
c = a * t
d = b * t
translate = lambda x,y,xd,yd: (x+xd,y+yd)
disc = lambda g: math.floor(g*n) / n
a,b,c,d = [disc(k) for k in (a,b,c,d)]
q = (a,a),(b,a),(d,d),(c,d)
z = random() * 13
xd = random() * 36
yd = random() * 28
q = [translate(x,y,xd,yd) for x, y in q]
q = [(v[0],v[1],z) for v in q]
return q
num_quads = 100
verts = []
for i in range(num_quads):
q = quad_creation()
[verts.append(v) for v in q]
faces = [(h+0, h+1, h+2, h+3) for h in range(0,num_quads*4,4)]
mesh_data = bpy.data.meshes.new("cube_mesh_data")
mesh_data.from_pydata(verts, [], faces)
mesh_data.update()
cube_object = bpy.data.objects.new("Cube_Object", mesh_data)
scene = bpy.context.scene
scene.objects.link(cube_object)
cube_object.select = True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment