User:Walter

From Sugar Labs
Revision as of 19:19, 9 September 2008 by Walter (talk | contribs) (→‎Sandbox)
Jump to navigation Jump to search

Walter Bender

I was at OLPC for several years and now I am a volunteer on the project. My home page can be found here: [1]

TODO

  • get Frame test set up in Peru/Uruguay/Paraguay
  • New Activity templates
Much of the information that is consistent across activities can be held in activities.s.o. (dfarning 22:28, 16 June 2008 (UTC))
  • Incorporate Sugar Labs
  • CoSN proposal
  • Follow-up with Linux Foundation
  • Finalize arrangements with SFC
  • Draft membership agreement for Sugar Labs

Done

Recent writing about Sugar and learning

(I also blog the weekly Sugar Digest.)

Sandbox

    def _calculate_position(self, radius, icon_size, index, children_count):
        width, height = self.box.get_allocation()
        # angle decreases as the radius increases
        inc = 12.0 + index / 6.0
        angle = index * (2 * math.pi / inc) - math.pi / 2
        # radius is proportional to index/children_count
        myminimum = _MINIMUM_RADIUS * .667
        newradius = ((radius - myminimum) * (index * 1.1) / children_count) +
                                        myminimum
        x = newradius * math.cos(angle) + (width - icon_size) / 2
        y = newradius * math.sin(angle) + (height - icon_size -
                                        style.GRID_CELL_SIZE) / 2
        return x, y
    def _calculate_position(self, radius, icon_size, index, children_count):
        width, height = self.box.get_allocation()
        # include an offset (8) to the index
        # so that the center of the spiral is left blank
        # angle = n * 137.5 degree or 2.4 radians
        angle = (index + 8) * 2.4

        # radius = constant * sqrt(n)
        radius = (_MINIMUM_RADIUS / 5) * math.sqrt(index + 8)

        x = radius * math.cos(angle) + (width - icon_size) / 2
        y = radius * math.sin(angle) + (height - icon_size -
                                        style.GRID_CELL_SIZE) / 2

        return x, y