def __init__(self, num_side, size_img, rules, selection=False): self.n = num_side self.selection = selection self.s = size_img self.r = [] for rule in rules: if rule == 'progress': self.r.append( RuleProgressSingle(get_bounds(self.n), get_attributions(), { 'color': (0.2, 0.3), 'size': (0.2, 0.25) })) self.r.append( RuleProgressSingle(get_bounds(self.n), get_attributions(), { 'color': (0.2, 0.3), 'size': (0.2, 0.25) })) self.r.append( RuleBiProgress(get_bounds(self.n), get_attributions(), { 'color': (0.15, 0.3), 'size': (0.15, 0.25) })) self.instanceDrawer = InstanceDrawer(self.n, self.s) self.ruleMaker = RuleMaker(self.r, self.n) self.selectionGenerator = SelectionGenerator(get_bounds(self.n), get_attributions())
def __init__(self, size_img, rules, selection=False): self.s = size_img self.selection = selection self.r = [] for rule in rules: if rule == 'progress': self.r.append( RuleProgressSingle(get_bounds(), get_attributions(), get_steps())) self.instanceDrawer = InstanceDrawerComplexCircle(self.s) self.ruleMaker = RuleMaker(self.r) self.selectionGenerator = SelectionGenerator(get_bounds(), get_attributions())
class PanelDrawer: def __init__(self, size_img, rules, selection=False): self.s = size_img self.selection = selection self.r = [] for rule in rules: if rule == 'progress': self.r.append( RuleProgressSingle(get_bounds(), get_attributions(), get_steps())) self.instanceDrawer = InstanceDrawerComplexCircle(self.s) self.ruleMaker = RuleMaker(self.r) self.selectionGenerator = SelectionGenerator(get_bounds(), get_attributions()) def draw(self): rule_panel = self.ruleMaker.draw() pics = [] for rule_pic in rule_panel: pic = self.instanceDrawer.draw(rule_pic) pics.append(pic[None, None, ...]) if self.selection: rule_selections, answer = self.selectionGenerator.draw( rule_panel[-1]) selection_pics = [] for rule_selection in rule_selections: selection_pics.append( self.instanceDrawer.draw(rule_selection)[None, None, ...]) return np.concatenate(pics, axis=0), np.concatenate( selection_pics, axis=0), np.array([answer]) return np.concatenate(pics, axis=0)
def __init__(self, size_img, rules, selection=False): self.s = size_img self.r = [] self.selection = selection for rule in rules: if rule == 'progress': self.r.append( RuleProgressSingle(get_bounds(), get_attributions(), get_steps())) elif rule == 'progress_multi': self.r.append( RuleMultiProgress(get_bounds(), get_attributions(), get_changeable_attributions(), get_steps())) self.instanceDrawer = InstanceDrawerContinue(self.s) self.ruleMaker = RuleMaker(self.r) self.selectionGenerator = SelectionGenerator(get_bounds(), get_attributions())
class PanelDrawer: def __init__(self, num_side, size_img, rules, selection=False): self.n = num_side self.s = size_img self.selection = selection self.r = [] for rule in rules: if rule == 'progress': self.r.append( RuleProgressSingle( get_bounds(self.n), get_attributions(), { 'color': (0.2, 0.3), 'size': (0.1, 0.15), 'xpos': (0.1, 0.15), 'ypos': (0.1, 0.15), })) self.r.append( RuleProgressSingle( get_bounds(self.n), get_attributions(), { 'color': (0.2, 0.3), 'size': (0.1, 0.15), 'xpos': (0.1, 0.15), 'ypos': (0.1, 0.15), })) self.r.append( RuleBiProgress( get_bounds(self.n), get_attributions(), { 'color': (0.2, 0.3), 'size': (0.1, 0.15), 'xpos': (0.1, 0.15), 'ypos': (0.1, 0.15), })) self.instanceDrawer = InstanceDrawer(self.n, self.s) self.ruleMaker = RuleMaker(self.r, self.n) self.selectionGenerator = SelectionGenerator(get_bounds(self.n), get_attributions()) def draw(self): rule_panel = self.ruleMaker.draw() pics = [] for rule_pic in rule_panel: pic = self.instanceDrawer.draw(rule_pic) pics.append(pic[None, None, ...]) if self.selection: rule_selections, answer = self.selectionGenerator.draw( rule_panel[-1]) selection_pics = [] for rule_selection in rule_selections: selection_pics.append( self.instanceDrawer.draw(rule_selection)[None, None, ...]) return np.concatenate(pics, axis=0), np.concatenate( selection_pics, axis=0), np.array([answer]) return np.concatenate(pics, axis=0)
def __init__(self, num_side, size_img, color_out, size_in, rules, selection=False): self.n = num_side self.s = size_img self.c = color_out self.sz = size_in self.selection = selection self.r = [] for rule in rules: if rule == 'progress': self.r.append( RuleProgressSingle(get_bounds(self.n), get_attributions(), get_steps())) self.instanceDrawer = InstanceDrawerComplexPolygon( self.n, self.n, self.c, self.sz, self.s) self.ruleMaker = RuleMaker(self.r, self.n) self.selectionGenerator = SelectionGenerator(get_bounds(self.n), get_attributions())