def docylinder(self, faces, verts, radius, segs, tMt, tMb, tM, add=False):
segs_step = 2 * pi / segs
tmpverts = [0 for i in range(segs)]
if add:
cv = len(verts) - segs
else:
cv = len(verts)
for seg in range(segs):
seg_angle = pi / 4 + seg * segs_step
tmpverts[seg] = radius * Vector((sin(seg_angle), -cos(seg_angle), 0))
if not add:
for seg in range(segs):
verts.append(tM * tMb * tmpverts[seg])
for seg in range(segs):
verts.append(tM * tMt * tmpverts[seg])
for seg in range(segs - 1):
f = cv + seg
faces.append((f + 1, f, f + segs, f + segs + 1))
f = cv
faces.append((f, f + segs - 1, f + 2 * segs - 1, f + segs))
评论列表
文章目录