User:Walter: Difference between revisions
Appearance
| 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
- New Getting Started Guide (See The Sugar FLOSS Manual
- Add ParserFunctions to Sugar Labs mediawiki
- Draft rules of governance for Sugar Labs
- Start Community-News Sugar Weekly Digest list
Recent writing about Sugar and learning
- Confessions of a fundamentalist (Part 1)
- Confessions of a fundamentalist (Part 2)
- A page from the Hilbert playbook
(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