Container is the base class for grouping items. It’s possible to add children to
the container with Python’s
with statement. It’s not possible to reparent
items. Instead, it’s necessary to remove the item and recreate a similar item
under another parent.
Transform is the container that propagates the affine transformations to its children. It has properties to scale the items to screen space and orient the items to the current camera.
line_count = 36 for i in range(line_count): weight = i / line_count angle = 2.0 * math.pi * weight # translation matrix move = sc.Matrix44.get_translation_matrix( 8 * (weight - 0.5), 0.5 * math.sin(angle), 0) # rotation matrix rotate = sc.Matrix44.get_rotation_matrix(0, 0, angle) # the final transformation transform = move * rotate color = cl(weight, 1.0 - weight, 1.0) # create transform and put line to it with sc.Transform(transform=transform): sc.Line([0, 0, 0], [0.5, 0, 0], color=color)