| @@ -20,7 +20,7 @@ def generateIcoSphere(): | |||||
| (-0.27639, -0.85064, -0.44721), | (-0.27639, -0.85064, -0.44721), | ||||
| ( 0.7236, -0.52572, -0.44721), | ( 0.7236, -0.52572, -0.44721), | ||||
| (0,0,-1), | |||||
| (0,0,-1) | |||||
| ] | ] | ||||
| faces = ( | faces = ( | ||||
| @@ -78,26 +78,21 @@ def subdivide(verts, faces, iteration): | |||||
| def expandVecToLen(vec, desiredLength): | def expandVecToLen(vec, desiredLength): | ||||
| vecLen_now = vecLen(vec) | vecLen_now = vecLen(vec) | ||||
| return ( | return ( | ||||
| vec[0]*desiredLength/vecLen_now, | |||||
| vec[1]*desiredLength/vecLen_now, | |||||
| vec[2]*desiredLength/vecLen_now | |||||
| vec[0] * desiredLength / vecLen_now, | |||||
| vec[1] * desiredLength / vecLen_now, | |||||
| vec[2] * desiredLength / vecLen_now | |||||
| ) | ) | ||||
| def getCenterPoint(p1, p2): | def getCenterPoint(p1, p2): | ||||
| 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,.05*(.5**iteration)) | |||||
| # heightDelta = 0 | |||||
| # if heightDelta < 0: | |||||
| # heightDelta = -(heightDelta**iteration) | |||||
| # else: | |||||
| # heightDelta = heightDelta**iteration | |||||
| heightDelta = random.gauss(0,.03*(.6**iteration)) | |||||
| return expandVecToLen (( | return expandVecToLen (( | ||||
| (verts[p1][0]+ verts[p2][0])*.5, | |||||
| (verts[p1][1]+ verts[p2][1])*.5, | |||||
| (verts[p1][2]+ verts[p2][2])*.5 | |||||
| (verts[p1][0] + verts[p2][0]) * .5, | |||||
| (verts[p1][1] + verts[p2][1]) * .5, | |||||
| (verts[p1][2] + verts[p2][2]) * .5 | |||||
| ), vecLen_new + heightDelta) | ), vecLen_new + heightDelta) | ||||
| def divideEdge(edge): | def divideEdge(edge): | ||||
| @@ -150,7 +145,7 @@ def subdivide(verts, faces, iteration): | |||||
| verts, faces = generateIcoSphere() | verts, faces = generateIcoSphere() | ||||
| for i in range(9): | |||||
| for i in range(8): | |||||
| verts, faces = subdivide(verts, faces, i+1) | verts, faces = subdivide(verts, faces, i+1) | ||||