def __init__(self, scene):
self.n, self.m = 40, 30
self.r0, self.r1, self.r2 = 10, 2, 2
self.h0, self.h1 = 10, 3
self.frames = scene.frame_end - scene.frame_start + 1
# Calculate and compensate for angle offset for infinite animation
self.offset = (self.frames * goldenAngle) % TAU
if self.offset > pi: self.offset -= TAU
# Create object
mesh = bpy.data.meshes.new('PhyllotaxisFlower')
self.obj = bpy.data.objects.new('PhyllotaxisFlower', mesh)
# Create mesh
bm = self.geometry()
bm.to_mesh(mesh)
mesh.update()
bm.free()
# Link object to scene
scene.objects.link(self.obj)
scene.update()
# Append new frame change handler to redraw geometry
# for each frame change
bpy.app.handlers.frame_change_pre.append(self.__frameChangeHandler)
评论列表
文章目录