Sfoglia il codice sorgente

b4 taking 4 reference points instead of just 2

master
FelixBrendel 8 anni fa
parent
commit
1e971ede59
2 ha cambiato i file con 6 aggiunte e 4 eliminazioni
  1. +6
    -4
      genSphere.py
  2. BIN
     

+ 6
- 4
genSphere.py Vedi File

@@ -55,15 +55,17 @@ def createMeshFromData(name, origin, verts, faces):
me = bpy.data.meshes.new(name+'Mesh')
ob = bpy.data.objects.new(name, me)
ob.location = origin
ob.scale = (8,8,8)

# Link object to scene and make active
scn = bpy.context.scene
scn.objects.link(ob)
scn.objects.active = ob
ob.select = True
ob.select = False

# Create mesh from given verts, faces.
me.from_pydata(verts, [], faces)

# Update mesh with new data
me.update()

@@ -75,7 +77,7 @@ def subdivide(verts, faces, iteration):
def vecLen(vec):
return sum([c**2 for c in vec])**.5

def expandVecToLen(vec, desiredLength):
def scaleVecToLen(vec, desiredLength):
vecLen_now = vecLen(vec)
return (
vec[0] * desiredLength / vecLen_now,
@@ -87,9 +89,9 @@ def subdivide(verts, faces, iteration):
vecLen_p1 = vecLen(verts[p1])
vecLen_p2 = vecLen(verts[p2])
vecLen_new = (vecLen_p1 + vecLen_p2)*.5
heightDelta = random.gauss(0,.03*(.6**iteration))
heightDelta = random.gauss(0,.01*(.6**iteration))

return expandVecToLen ((
return scaleVecToLen ((
(verts[p1][0] + verts[p2][0]) * .5,
(verts[p1][1] + verts[p2][1]) * .5,
(verts[p1][2] + verts[p2][2]) * .5


BIN
Vedi File


Caricamento…
Annulla
Salva