Quellcode durchsuchen

b4 taking 4 reference points instead of just 2

master
FelixBrendel vor 8 Jahren
Ursprung
Commit
1e971ede59
2 geänderte Dateien mit 6 neuen und 4 gelöschten Zeilen
  1. +6
    -4
      genSphere.py
  2. BIN
     

+ 6
- 4
genSphere.py Datei anzeigen

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


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


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

# Update mesh with new data # Update mesh with new data
me.update() me.update()


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


def expandVecToLen(vec, desiredLength):
def scaleVecToLen(vec, desiredLength):
vecLen_now = vecLen(vec) vecLen_now = vecLen(vec)
return ( return (
vec[0] * desiredLength / vecLen_now, vec[0] * desiredLength / vecLen_now,
@@ -87,9 +89,9 @@ def subdivide(verts, faces, iteration):
vecLen_p1 = vecLen(verts[p1]) vecLen_p1 = vecLen(verts[p1])
vecLen_p2 = vecLen(verts[p2]) vecLen_p2 = vecLen(verts[p2])
vecLen_new = (vecLen_p1 + vecLen_p2)*.5 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][0] + verts[p2][0]) * .5,
(verts[p1][1] + verts[p2][1]) * .5, (verts[p1][1] + verts[p2][1]) * .5,
(verts[p1][2] + verts[p2][2]) * .5 (verts[p1][2] + verts[p2][2]) * .5



Laden…
Abbrechen
Speichern