Difference between revisions of "User:Walter"

From Sugar Labs
Jump to navigation Jump to search
Line 29: Line 29:
 
* [[User:Walter/sandbox]]
 
* [[User:Walter/sandbox]]
 
* [[User:Walter/favoritelayout.py]]
 
* [[User:Walter/favoritelayout.py]]
[[Image:Spiral.png|thumb|left]]
+
[[Image:Spiral.png|thumb|left|<pre>
[[Image:FermatSpiral.png|thumb|left]]
+
    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
 +
</pre>]]
 +
[[Image:FermatSpiral.png|thumb|left|<pre>
 +
    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
 +
</pre>]]

Revision as of 18:19, 9 September 2008

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